Gainfront home
Menu

Where three-way matching breaks down

Three-way match exceptions cluster in four places: unit-of-measure mismatch, partial receipts, non-receipted services, and price variance from freight.

GainfrontPublished

Gainfront brand graphic listing its Purchasing and SpendPower modules, representing the three-way match workflow this whitepaper covers

A three-way match compares a purchase order, a goods receipt and a supplier invoice, and it holds the invoice whenever those three documents disagree about quantity, price or unit. Most exceptions are neither fraud nor supplier error. They come from ordinary operational differences that a literal comparison cannot absorb, and they concentrate in four places.

The four failure points

Unit-of-measure mismatch. The purchase order is raised in cases, the warehouse receipts in pallets, and the supplier invoices per unit. Every number is correct and no two agree, so the match fails on arithmetic rather than on substance.

Partial and split deliveries. A single line delivered across three shipments produces three receipts against one order line. Whether the invoice matches depends entirely on whether it was issued per shipment or for the full line, which is the supplier’s decision and not the buyer’s.

Services and other non-receipted spend. Consulting, freight, software subscriptions and maintenance have no goods receipt to match against, so the three-way match silently degrades to a two-way match between order and invoice. The control everyone believes is running is not running on this spend at all.

Price variance from add-on charges. Freight, fuel surcharges, currency rounding and small tax differences appear on the invoice and not on the order. Each is individually trivial and collectively responsible for a large share of held invoices.

Widening tolerance is not a fix

Raising the quantity or price tolerance reduces the exception count by declining to check. The more useful question is which exceptions carry financial risk: a tolerance set per commodity, and a separate approval path for non-receipted services, cuts the queue without giving up the control that made the match worth running.