All posts

Three-way match, rebuilt: matching the order, the receipt, and the invoice before payment

The control that prevents overpayment is also the largest source of manual work in accounts payable. The redesign turns the matching step into the easy part and moves the real work upstream.

Javier Leguina

Javier Leguina

Co-founder & CTO of flowscope, previously a founding engineer at ModelML (YC W24).

· Automation in practice

The three-way match is the most common control in accounts payable, and it is also the largest single source of manual work in the function. The control compares three documents before a payment is released: the purchase order that authorized the spend, the goods receipt that confirms what arrived, and the supplier invoice that asks to be paid. When the three agree within tolerance, payment can clear without a person touching it. When they disagree, someone has to find out why. Ardent Partners, in its AP Metrics That Matter in 2025 benchmark, put the average invoice exception rate at 14 percent, meaning roughly one invoice in seven enters the process carrying a discrepancy that a person must resolve. The same report put the average time to process an invoice at 9.2 days, with best-in-class teams at 3.1 days and everyone else averaging 17.4 days, a spread of about two weeks that has almost nothing to do with how hard it is to pay a bill.

What the control is actually checking

The match is three comparisons. Quantity reconciles the invoice against the receipt: whether the supplier billed for ten units when eight arrived. Price reconciles the invoice against the purchase order: whether the supplier billed at $25.20 when the order said $24.00. Existence reconciles all three against each other: whether there is a purchase order at all, and a receipt to confirm the goods showed up. The reason the control exists is that the alternative is paying whatever a supplier asks. The Association for Financial Professionals, in its 2025 Payments Fraud and Control Survey, found that 79 percent of organizations were victims of attempted or actual payments fraud in 2024, which is the standing rationale for not releasing money against an invoice that no order and no receipt support. The match catches an honest billing error and a fraudulent one at the same point, before the money leaves.

Where the days go

The 9.2-day average is not spent matching the clean invoices. A clean invoice, one where quantity, price, and existence all tie, clears in seconds whether a person or a system does it. The days accumulate on the one in seven that does not tie. An exception lands in a queue. A clerk opens it, reads the invoice, pulls up the purchase order in one screen, finds the receipt in another, compares the three by eye, and tries to reconstruct what happened: a partial shipment, a price the buyer renegotiated after the order was cut, a freight charge the supplier added that nobody approved. The reconstruction is the expensive part. The clerk is reassembling context that existed at the time of the order and the time of receipt but was never attached to the invoice, so it has to be found again from scratch, often by emailing the buyer who placed the order weeks earlier.

Walking the redesigned match

The redesign does not change the control. It changes what a person sees and when. The first step is capturing the three documents in a common structure: the purchase order from the procurement system, the receipt from the warehouse or the receiving log, and the invoice from whatever the supplier sent, which is frequently a PDF or a scanned image rather than structured data. Reading that long tail of invoice formats reliably is its own problem, one we treat in the long tail of document variability. The second step applies the tolerance thresholds the finance team already uses: a small price variance or a rounding difference passes, a material one does not. The clean majority clears against those thresholds without review. The third step routes only the genuine discrepancies to a person, and routes them with the order context already attached. The clerk who opens an exception sees the invoice line that failed, the order line it should have matched, the receipt quantity, and the specific reason for the failure, rather than three documents to reconcile by hand. The resolution stops requiring reconstruction. Once the human makes the call, the result is written back to the ledger and the payment is released, which on a legacy ERP with no usable interface is itself a real engineering problem, one we cover in writing back into a system with no usable API.

Why the exception rate is set upstream

The instinct is to make the matching step smarter, and that helps at the margin. The larger lever sits before the invoice ever arrives. An invoice that arrives with a purchase order and a receipt behind it can be checked mechanically, because every line has something to be checked against. An invoice that arrives with neither cannot be matched at all; someone has to reconstruct what was bought, whether it showed up, and who approved the spend, which makes the invoice an exception by construction. So the exception rate is set by how much spend gets committed through a purchase order in the first place, and by whether suppliers submit invoices in a form the buyer's systems can read. Ardent's cohort data shows how wide the resulting gap runs: best-in-class AP teams carry a 9 percent exception rate against 22 percent for everyone else, and 40 percent of AP departments list enabling more suppliers to submit invoices electronically among their priorities for 2025. The matching step is downstream of a decision made when the spend was committed, or never committed. This is why redesigning accounts payable in isolation reaches a ceiling. The durable fix reaches back into how orders get raised and how suppliers submit, which is the difference between automating a broken process and rebuilding it, a distinction we make in don't automate, obliterate.

A reasonable counter, answered

A reasonable counter is that exception rates are driven by supplier behavior and spend category, not by the buyer's process, so the rate is largely outside the buyer's control. Some of it genuinely is. A construction firm buying from hundreds of small subcontractors will carry more variability than a distributor buying from a stable panel of vendors, and no redesign erases that. But the cohort split inside Ardent's own survey undercuts the idea that the rate is fixed: best-in-class teams run a 9 percent exception rate while everyone else runs 22 percent, and both cohorts come from the same cross-industry pool of respondents, so a gap that wide is hard to pin on suppliers alone. The 14 percent average exception rate that Ardent reports is not a law of nature, and the same report estimates that 75 percent of AP departments are already using some form of AI. The use cases it profiles (invoice capture, invoice processing, fraud prevention, reporting) all sit inside the processing pipeline rather than in the purchasing discipline upstream of it. The teams that reach the 3.1-day, 9-percent end of the distribution did not get there by matching faster. They got there by making sure most invoices arrive with an order and a receipt already behind them, so the match is the easy part and the exception queue is short. The same upstream logic governs the other side of the ledger, which is why we treat collections as a redesign of how the cash arrives rather than how it is chased, in a redesigned collections process.

Common questions

What is a three-way match in accounts payable and why does it matter?
A three-way match is the most common control in accounts payable, comparing three documents before a payment is released: the purchase order that authorized the spend, the goods receipt that confirms what arrived, and the supplier invoice that asks to be paid. When the three agree within tolerance, payment can clear without a person touching it, and when they disagree someone has to find out why. The control matters because the alternative is paying whatever a supplier asks, and it catches an honest billing error and a fraudulent one at the same point, before the money leaves.
Why does invoice processing take so long when most invoices match cleanly?
A clean invoice where quantity, price, and existence all tie clears in seconds, so the time is not spent matching those. According to Ardent Partners' AP Metrics That Matter in 2025 benchmark, the average exception rate is 14 percent, meaning roughly one invoice in seven carries a discrepancy a person must resolve, and the average invoice takes 9.2 days to process, with best-in-class teams at 3.1 days against 17.4 for everyone else. The days accumulate because resolving an exception means reconstructing context that existed when the order was placed and when goods were received but was never attached to the invoice, often by emailing the buyer weeks later.
Does fixing the matching step actually lower the invoice exception rate?
Making the matching step smarter helps at the margin, but the larger lever sits before the invoice ever arrives. An invoice backed by a purchase order and a receipt can be checked mechanically because every line has something to be checked against, while an invoice with no order behind it cannot be matched at all and has to be reconstructed and approved from scratch, which makes it an exception by construction. In Ardent Partners' benchmark, best-in-class AP teams run a 9 percent exception rate against 22 percent for everyone else. The durable fix reaches back into how orders get raised and how suppliers submit, so that most invoices arrive with an order and a receipt already behind them and the match becomes the easy part.