❝ In June a warehouse counted 340 enamel kettles off a purchase order for 400. The supplier invoiced for 400, and the bookkeeper paid it in full in July, because nothing in QuickBooks disagreed with the invoice. The business is a composite: a direct-to-consumer camp cookware brand in Denver turning over about $11M a year with 19 staff, selling through Shopify, with its stock at a ShipBob fulfilment centre. Modelled across a year of its 236 supplier invoices, 41 fail the match, worth $27,940. The design below compares every invoice with the purchase order and the warehouse's own count before anything is paid, and starts the supplier's claim clock on the day the stock is counted. It costs about $100 a month to run.
The kettles came in on a Wednesday.
The purchase order said 400. The supplier's packing list said 17 cartons of 20. ShipBob's receiving team counted 17 cartons, scanned 340 enamel kettles into stock on 3 June and marked the receiving order complete. Shopify's stock levels updated the same day. Everything the warehouse was responsible for went right.
The invoice arrived on 11 June: 400 enamel kettles at $14.20, $5,680.00, net 30. Dale, the brand's part-time bookkeeper, opened the purchase order in QuickBooks, saw 400 kettles at $14.20, turned it into a bill and scheduled it for the payment run on Friday 10 July. The purchase order agreed with the invoice. Nothing else in QuickBooks had an opinion.
From then on, the 60 kettles that never arrived existed in exactly one place: the balance sheet.
The brand, Dale and Marisol are a composite, built from the patterns we see in e-commerce brands of this size, and the figures attached to them are design projections. The software capabilities, the published contract terms, the law and the benchmark figure are real, and linked to their sources.

The business
A direct-to-consumer brand in Denver selling enamel camp cookware, cast iron and drinkware. Around $11M a year in revenue and 19 staff, with almost every sale going through its Shopify store. Stock lives at a ShipBob fulfilment centre rather than a warehouse of its own. It buys from 14 suppliers, 8 overseas factories and 6 domestic, and in the last 12 months it processed 236 supplier invoices.
Purchase orders are raised in QuickBooks Online, which only offers them on its Plus and Advanced plans; the brand is on Plus. Dale enters and pays bills three days a week. Marisol, the operations manager, owns the suppliers and the ShipBob relationship. An outside accountant closes the books each quarter, though nobody had ever asked her to check stock against ShipBob.
What is actually going wrong
Every person in this story did their job properly. The money left through the gaps between three records, each of which held a third of the answer.
The count and the bill live in different systems. ShipBob knew on 3 June that 340 kettles had arrived. Its receiving API records an expected quantity and a received quantity for every SKU on every receiving order. QuickBooks knew what had been ordered and, from 11 June, what had been invoiced. Neither system knows the other exists. Inside QuickBooks Online, the way you record goods arriving against a purchase order is to turn it into a bill; a reply on Intuit's own community forum confirms that marking items received on a purchase order without creating a bill is not available. So the bill becomes the record of what arrived, and the bill was typed from the supplier's invoice.
A two-way match passes a short delivery every time. Dale did check. She compared the invoice with the purchase order, line by line, which is what most small businesses mean by checking an invoice. Quantity 400, price $14.20: both documents agree. That test answers whether the supplier billed what you ordered. It has no way of answering whether the supplier delivered what they billed, because the only record that knows is in a different system. It is why purchasing departments such as Rockefeller University's require a three-way match for goods: order, receiving record and invoice, all three.
The supplier's clock started before the invoice existed. The kettle supplier, one of the six domestic ones, had terms allowing 15 days from receipt to claim a shortage. That is a common shape of clause; Behr's standard sales terms, for example, set the same 15 days. The window opened on 3 June, when the cartons were counted, and closed on 18 June. The invoice arrived on 11 June and was paid on 10 July. Even if Dale had spotted the shortage on the day she paid, she would have been more than three weeks too late to claim under the contract. Had she compared the invoice with the warehouse count on the day it arrived, she would have had seven days left. Nothing in her systems showed her the count.

The law was on the brand's side about the 60 kettles. Under the Uniform Commercial Code a buyer pays at the contract rate for goods accepted, which here means 340 kettles. It also has to notify the seller within a reasonable time after it discovers, or should have discovered, the breach, or lose any remedy. With the warehouse's count on record from 3 June, a supplier could fairly argue the brand should have known that day. The contract's 15-day window, and the calendar, were on the supplier's side. (We are not lawyers, and contract terms vary. The point is what the brand could prove, and when.) UK readers: the Sale of Goods Act takes a similar line on short deliveries, and this week's article covers it.
What it costs
In late August the accountant reconciled QuickBooks inventory against ShipBob's stock report, the first time anyone had compared the two in a year. QuickBooks held 1,140 more units than the warehouse did. Tracing them took her most of three weeks, and most of the trail led back to 23 supplier invoices paid in full for deliveries that had arrived short, worth $19,480.
Marisol wrote to every supplier involved. Six issued credits, totalling $4,870, mostly as goodwill. The rest pointed to their claim windows.
Run through the matching logic described below, the year's 236 supplier invoices produce 41 variances: the 23 short shipments; 11 invoices priced above the purchase order, worth $4,370; 2 duplicate invoices paid twice, worth $3,160; and 5 carrying freight or handling charges that were never on the purchase order, worth $930. $27,940 in all.

41 of 236 is 17.4%. For comparison, Ardent Partners' Accounts Payable Metrics that Matter in 2026 puts the industry average invoice exception rate, the share of invoices that need a person to sort out, at 19.9%. By that rough measure this brand is ordinary. The difference is that an AP team with a matching process sees its exceptions, and this brand had nothing that could.
The design is next. The design, the build guide, the running costs and the take-away are free to subscribers. Enter your email below and the rest of this Blueprint opens. New ones arrive every Tuesday and Friday.


