By Safock Procurement Research Team9 min read
Three-way matching is the accounts payable check that stops you paying for goods you did not order, did not receive, or were charged too much for. This guide covers how the match works line by line, how to set tolerances, why invoices fail, and how to set the control up so it holds.
Three-way matching is the step in accounts payable where an invoice is checked against two other records before anyone pays it: the purchase order and the goods receipt. If all three agree, the invoice is approved for payment. If they do not, it becomes an exception and someone has to resolve it.
Each document answers a different question. Together they prove that the purchase was authorised, that the supplier delivered what was needed, and that the bill reflects the terms both sides agreed. Leave one out and a gap opens: without the receipt you can pay for goods that never arrived, and without the PO you have nothing to test the price against.
A sound three-way match compares each invoice line with the matching PO line and receipt line, checking quantity and unit price separately. Comparing totals is weaker, because a price that is too high on one line can be hidden by a short charge on another.
Take an example order for 100 boxes of gloves at 12.00 a box. The store receives 100 boxes but rejects 10 as damaged, so 90 are accepted. The invoice arrives for 100 boxes at 12.50. A line-level match fails it twice: on quantity, because only 90 were accepted, and on price, because the agreed price was 12.00. A check on totals alone could miss either problem if other lines happened to balance it out.
A matching tolerance is the small variance you allow before an invoice line counts as an exception. It can be a percentage, a fixed amount, or both, and it exists so that rounding and trivial differences do not fill the exception queue.
There is no single right figure. Set it too tight and staff spend their days clearing differences of a few pence. Set it too loose and the control stops catching the price creep it was built for. As an illustration only, a policy might allow a 1% price variance or a small fixed amount per line, whichever is lower, with zero tolerance on quantity for high-value items.
A few principles hold regardless of the numbers. Apply tolerances per line, so small allowances cannot add up across a long invoice. Keep quantity tolerances tighter than price tolerances on expensive or controlled items. Treat freight and tax as separate lines with their own rules. Review the tolerance after a few months by looking at what it let through.
Invoices fail a three-way match when the price, quantity or reference on the invoice does not agree with the purchase order or the receipt. Ardent Partners' State of ePayables 2025 report found that 18.4% of supplier invoices hit an exception and cannot be paid as they arrive, so this is a daily workload for most AP teams.
The usual causes are predictable, which means most of them can be fixed upstream.
Record exactly what arrived and what was accepted, and match the invoice against those accepted quantities. A partial delivery should leave the PO line open with its outstanding balance, and rejected goods should never become billable.
For a partial delivery, the receiving team records the quantity that came in. If the supplier invoices the full order, the match fails on quantity and the invoice is held. Depending on your policy, you either pay for what arrived and wait for a revised invoice, or ask the supplier to reissue it for the delivered quantity. The open balance stays on the PO until the rest arrives or the line is closed.
For rejected goods, the receipt needs three numbers per line: received, accepted and rejected. The match should use the accepted figure. If the invoice includes rejected items, you request a credit note or a corrected invoice before paying. This only works if receiving staff record rejections at the dock, line by line. A note on the delivery docket that never reaches accounts payable is how rejected goods end up paid for.
The difference is how many documents the invoice is checked against. Two-way matching compares the invoice with the PO. Three-way matching adds the goods receipt. Four-way matching adds an inspection or acceptance record on top of that.
Most organisations use more than one level, chosen by what is being bought. Applying four-way matching to everything slows payment for no gain, while relying on two-way matching for physical goods means paying for deliveries nobody checked.
Setting up three-way matching means making sure all three documents exist, carry the same item and price data, and are compared before payment. Most of the work happens before the invoice arrives.
Manual matching breaks down when invoice volume, the number of sites or the number of people re-typing data grows faster than the team doing the checks. The control still exists on paper, but in practice clerks start checking totals, or checking a sample, because there is no time to go line by line.
The cost shows up in two places. Ardent Partners' State of ePayables 2025 puts the average cost of processing one invoice at $9.84, and reports that best-in-class AP teams spend 79% less. Spreadsheets used to hold PO and receipt data add their own risk: Raymond Panko's field audits found errors in 91% of the real business spreadsheets examined since 1997.
Signs that the manual process has reached its limit include receipts arriving at accounts payable days after delivery, invoices approved by email because the receipt cannot be found, and suppliers chasing payments that are stuck for reasons nobody can explain.
Software enforces a three-way match by doing the comparison when the invoice is recorded and refusing payment until it passes. In Bollard, for example, recording an invoice compares each line with the PO's prices and the receipt's accepted quantities. A padded price fails on value, a short delivery fails on quantity, and rejected quantities are excluded automatically. Payment can only be raised against a matched invoice, and that rule is enforced in the database itself.
Free tool
Three-Way Match Tolerance Calculator
Test price and quantity tolerances to balance exception workload against invoice leakage.
Runs in your browser. No sign-up.
A three-way match needs the purchase order, the goods receipt and the supplier invoice. The purchase order holds the agreed items, quantities and prices. The goods receipt, often called a goods received note, records what arrived and how much was accepted. The invoice is what the supplier wants paid. All three should refer to the same PO number and use the same units of measure.
Accounts payable usually owns the three-way match, because it sits just before payment. The inputs come from other teams: procurement raises the purchase order, and the store or receiving team records the goods receipt. In many organisations the match itself is run by software when the invoice is recorded, and AP staff deal only with the exceptions it raises.
When an invoice fails three-way matching, it is held and sent to whoever owns that type of exception. A price variance goes to the buyer, who checks the agreed price with the supplier. A quantity variance goes to the store, who confirms what was received. The usual fixes are a credit note, a corrected invoice, or a documented approval of the variance.
Services have no physical delivery to receive, so many organisations use a two-way match between the invoice and the purchase order instead. Others replace the goods receipt with a service confirmation, where the person who commissioned the work signs off that it was done. That confirmation plays the same role as a receipt and gives the invoice something to be checked against.
Three-way matching blocks several common frauds and errors, including invoices for goods that never arrived, inflated prices and quantities billed twice. It is weaker against collusion, for example when the person recording receipts works with a supplier. That is why it should be paired with segregation of duties, so the people who order, receive and approve payment are different people.
Some organisations allow partial payment of an invoice, paying the lines that matched and holding the rest, while others require the whole invoice to be corrected first. Either approach can work if it is written into the payables policy. What matters is that the unmatched lines are recorded as open, with a reason, so they are not paid later by mistake.