Use Case · Order to Cash · 10 October 2026

The order shipped. The invoice never came.

In almost every ERP, billing waits on one status: shipped. When a fulfillment quietly slides back to packed, nothing breaks. The box is on a truck, the customer gets it, and the invoice simply never exists.

Billing waits on one word

Every ERP has some version of the same chain. An order is picked, then packed, then shipped. The shipped status is the trigger: it is what tells billing there is something to invoice, what tells the customer service screen the order is done, and what tells the warehouse to stop looking at it.

Now picture that status moving backward. The fulfillment was shipped this morning — label printed, tracking number issued, carrier picked it up. This afternoon it reads packed again. Nothing errors. Nothing alerts. The billing run looks for shipped fulfillments, doesn’t find this one, and moves on. Tomorrow it does the same. The order isn’t late, it isn’t on hold and it isn’t on anybody’s exception report. It has simply fallen out of every queue that would notice it.

The most expensive errors in an ERP are the ones that look like nothing happened.

What it does to the business

How it happens

Not usually through anyone doing something wrong on purpose. The common causes are mundane, and that is why they keep happening:

Training gets you most of the way. Not all of it.

The first answer is always training: tell the warehouse not to do that. It is the right first answer, and it works — mostly. People learn the screens, the obvious mistakes stop, and the error rate drops.

But training has a floor. A trained person on a busy afternoon, at a shared station, with four tabs open, will eventually click a button that the system should never have shown them. You cannot train away a race condition. You can only make it harder to lose.

The more useful question is not “who did this?” but “why could it be done?” When the honest answer is that the system allowed a move that is almost never correct, the fix belongs in the system.

Where the line sits: train people for judgment calls. Put safeguards on the moves that are almost never right, cost real money when they happen, and are easy to make by accident. A shipped fulfillment going backward is all three.

What a safeguard looks like

We built a small guard that sits on the fulfillment record. Its rules are simple enough to explain to the warehouse in one sentence: once something is shipped, the screen won’t let you un-ship it.

What changed

The silent losses stopped being silent. The warehouse gets a clear message instead of an accidental reversal, the people who own billing hear about every legitimate revert the same day, and the month-end hunt for “why is this order delivered but not invoiced” mostly went away.

None of that required a new system. It needed someone to look at where order-to-cash quietly leaks, decide which leaks a person can reasonably be trusted to avoid, and close the rest in the software.

The build wasn’t as simple as it sounds. The first version missed a whole category of reverts, and the second missed another. That story, and what it teaches about trusting the record you are handed, is in the companion piece.

Related: three ways the first guard missed, and one order, six authorizations.

New England Systems Group

If there's a process everyone works around instead of through, that's where we start.

SuiteScript development and back-office automation for manufacturers, distributors, producers and retailers. Danbury, Connecticut.

hello@nesystemsgroup.com