Wiki/Three-way matching/
Where three-way matching breaks

Where three-way matching breaks

Three-way matching
·
2 min read
·
Updated July 2026
Joshua Kurian
Joshua Kurian
On this page

Three-way matching breaks wherever the three documents stop agreeing, and the causes repeat so reliably that every AP team can name them: partial deliveries, stale purchase orders, missing receipts, and services that never had a receipt to begin with. None of them requires a mistake.

Knowing the recurring breaks matters because each one is fixed in a different part of the business.

Partial deliveries are the biggest single source

A supplier ships in waves, invoices ahead of the final delivery, and the received quantity trails the billed quantity until the last truck lands. The match reads that as overbilling. Everything on the invoice is right, and it flags anyway. The quantity mismatch page covers the pattern in full.

Stale purchase orders flag correct invoices

Prices get renegotiated after the order is cut, quantities get amended by phone, and the document the match trusts most quietly goes out of date. The supplier then bills the new, correct price and fails the match against the old one. These price variances are the match punishing the buyer's own change management.

Missing receipts stop everything

The goods arrived, the dock was busy, and nobody posted the receipt. As far as the match can tell, the company is being billed for nothing. The invoice waits on a warehouse task, the supplier waits on the invoice, and AP owns a delay it cannot fix from its own desk.

Services rarely give the match a third document

Consulting hours, repairs, and utilities produce no goods receipt worth the name, so the match either runs two-way or waits for a confirmation that someone has to remember to enter. This is why services and non-PO spend carry the highest exception rates in most operations, and why they deserve their own control design rather than a forced three-way match.

Fix the breaks upstream, resolve the rest autonomously

Each break has an upstream fix: receiving discipline for missing receipts, order maintenance for stale prices, invoice timing agreements for partial shipments. Every fix helps and none is complete, because suppliers, docks, and markets sit outside AP's control. The remainder is a resolution problem, and it should resolve autonomously and end to end, with the context of each break read from the systems where it already lives.

Fragment reads that context in place, clearing the flags these breaks create without adding a queue for people to work. See how Fragment reads that context or request a demo.

From Fragment
See exception resolution on your own data
Fragment resolves invoice exceptions autonomously across your existing ERP and documents.
Request demo