No More Excuses

The order and the invoice stopped agreeing

A registration site and an accounting system that had quietly drifted apart, leaving someone to reconcile them by hand every week. The fix was one mapping decision.

Work Integration · Automation · Workflow

No More Excuses sells every class through a WooCommerce registration site we built for them in 2018 and have maintained since. Members pay by cheque, so the invoice is not a receipt — it is how the studio knows who still owes money.

The connector between the store and the accounting system had stopped producing invoices that matched the orders. Discounts went missing, tax was charged twice, and line items arrived named as bare dates.

The cost was a person, not the numbers

None of it ever reached a customer, because the owner was correcting every invoice by hand before sending it. That is what a broken integration actually costs. Not wrong figures — somebody spending part of every week being the integration.

One decision, not a rebuild

It came down to a single question: what should a class become inside the accounting system? The site carries 2,308 product variations, so the obvious answer was one generic service, because anything else looked like thousands of junk entries.

Then we found that variations inherit their parent’s code. Eighteen parent classes covered all of them. The choice had never been one item against thousands — it was one item against one per class, and one per class is what lets the studio see which classes actually earn.

We automated exactly one thing: an order goes in, one correct invoice comes out. Recording payments and sending them stayed manual, because that is the part she wants to keep.