Three-way matching in accounts payable is the control that compares three documents before a supplier invoice gets paid: the purchase order, the receiving record proving the goods or services actually arrived, and the invoice itself. If all three agree on item, quantity and price within your tolerance, the invoice is cleared for payment. If any one of them disagrees, it becomes an exception and a person looks at it.
It is one of the oldest controls in finance and it survives because it answers three questions in one pass. Did we agree to buy this? Did we receive it? Are we being billed what we agreed? A two-way match answers the first and third. Only the three-way match answers the second, and the second is where most overbilling hides.
What is three way matching in accounts payable?
Three way matching in accounts payable is a verification step that requires a purchase order, a goods receipt or receiving report, and a supplier invoice to agree before payment is approved. The match checks the line items, the quantities and the unit prices across all three, plus the total. Invoices that reconcile clear automatically. Invoices that do not are held as exceptions.
The three documents come from three different moments in the buying cycle, and that is exactly why the control works. Each one is created by a different person at a different time for a different reason, so collusion or a simple mistake has to survive three independent records to get through.
| Document | Created by | What it proves | Key fields matched |
|---|---|---|---|
| Purchase order | Purchasing or the budget owner, before the order is placed | The company agreed to buy this, at this price, with authority | PO number, item, quantity ordered, unit price, terms |
| Goods receipt or receiving report | Whoever takes delivery, or the manager who signs off that a service was delivered | It actually arrived, in this quantity, in this condition | PO number, item, quantity received, date received |
| Supplier invoice | The vendor, after delivery | What the vendor is asking to be paid | PO number, item, quantity billed, unit price, total, tax |
How does three way matching work?
The invoice arrives and the system pulls the PO number off it. It finds the matching purchase order and the receiving records logged against that PO, then compares quantity and price line by line. Anything inside tolerance passes and moves to payment approval. Anything outside tolerance stops and is routed to a person with the discrepancy named, rather than sitting in a queue nobody owns.
In practice the work is in the exceptions, not the matches. A clean, fully received, correctly priced invoice needs no human attention at all. The ones that need attention look like this:
- Quantity variance. Billed for 100, received 92. Either the rest is backordered and the invoice is early, or you are being overbilled.
- Price variance. The PO says $14.50 a unit, the invoice says $15.20. Usually a contract escalation nobody updated in the PO, occasionally a mistake, sometimes a test.
- No receiving record. The commonest exception, and rarely fraud. Services are the usual culprit, because nobody thinks to log the receipt of a consulting month.
- No purchase order. Someone bought without raising a PO. The invoice is real, the control was bypassed, and now finance has to decide after the fact.
- Duplicate. The same invoice number, or the same amount and vendor, already matched against that PO.
Tolerances, and why you need them
An exact match on every penny will bury your team. Freight, small rounding differences and partial deliveries produce variances that are not worth anyone's time. So you set a tolerance, usually as both a percentage and an absolute cap, for example 2% or $50, whichever is lower. Within tolerance, the invoice clears. Outside it, a human looks.
Set the tolerance too tight and every invoice becomes an exception, which trains people to approve exceptions without reading them. That is worse than no control, because now you have the cost of the control and none of the protection. Set it too loose and small, repeated overbilling passes unnoticed. Review the numbers once a year against what your exceptions actually looked like.
Why is 3 way matching important?
Three way matching is important because it is the only routine check that proves you received what you are paying for. Without a receiving record in the comparison, an invoice for goods that never arrived, arrived short, or arrived damaged and were returned will reconcile perfectly against the purchase order and get paid. The control also creates the documentation an auditor asks for first.
For auditors, the match supports the occurrence and accuracy assertions over purchases: occurrence because the receiving record evidences that the transaction happened, accuracy because the price and quantity tie back to an authorized order. That is why external auditors test the match rather than just the invoice file, and why a company with a working three way match usually gets a shorter, cheaper audit.
What is the difference between two way and three way matching?
Two way matching compares the purchase order to the invoice only. Three way matching adds the receiving record, so it also proves delivery. Four way matching adds an inspection or quality report, so it proves the delivered goods passed inspection. Each step adds protection and adds work, which is why most companies use different levels for different spend.
| Match level | Documents compared | What it catches | Typical use |
|---|---|---|---|
| Two way | PO and invoice | Wrong price, wrong item, quantity billed above quantity ordered | Services, subscriptions, anything with no physical delivery to log |
| Three way | PO, receiving record and invoice | All of the above, plus short shipments and goods billed but never delivered | Physical goods, inventory, most recurring supplier spend |
| Four way | PO, receiving record, inspection report and invoice | All of the above, plus goods that arrived but failed quality | Manufacturing, regulated materials, construction and pharma |
A sensible policy applies the level to the risk. Low-value repeat purchases from a long-standing vendor rarely justify a three way match. A new supplier, a large order, or a category where you have been burned before does. Writing that rule down, with dollar thresholds, is more useful than picking one level for everything.
What is three way matching in procurement?
In procurement the same control is described from the buying side rather than the paying side. Procurement owns the purchase order and the supplier agreement, so a three way match is the point where procurement's commitment, operations' receipt and finance's invoice are reconciled against each other. The mechanics are identical. The difference is who gets called when the numbers disagree.
This matters organizationally more than it sounds. A price variance is usually a procurement problem, a contract that was renegotiated and never reflected in the PO. A quantity variance is usually an operations problem, a delivery logged late or not at all. Finance can only see the exception; it cannot fix either root cause. Routing exceptions to the team that owns them, rather than back to AP, is the single biggest improvement most companies can make to their match rate.
What is three way matching in accounts receivable?
There is no true three way match in accounts receivable, and it is worth saying plainly because the phrase gets searched a lot. The three way match is a purchasing control. The receivables equivalent is order to cash reconciliation, matching the sales order, the shipping document or proof of delivery, and the customer invoice, and then matching the payment received to the invoice. Same logic, different direction.
What are examples of 3 way matching?
A concrete one. Purchasing raises PO 4471 for 200 laptop docks at $89.00 each, total $17,800. The warehouse receives 180 and logs them; 20 are backordered. The vendor invoices for all 200 at $89.00. The three way match compares 200 billed against 180 received, flags a 20-unit quantity variance worth $1,780, and holds the invoice. AP contacts the vendor, the invoice is reissued for 180, and the remaining 20 are billed when they ship.
A second one, the sort that never gets caught by a two way match. PO 5102 covers 12 months of a maintenance contract at $2,400 a month. The vendor invoices month 13 by mistake. The PO total is not yet exhausted in the vendor's own system because of an earlier credit, so a two way match passes. The three way match has no receiving record for month 13, holds the invoice, and saves $2,400.
Can three way matching be automated?
Yes, and it is one of the better automation candidates in finance, because the comparison itself is arithmetic. What automation needs is the three records in one place with a common key, normally the PO number. That is where most implementations struggle: the purchase order lives in the purchasing system, the receiving record in a warehouse or field app, and the invoice in an email inbox. Getting all three into one comparison is often a matter of connecting those systems to each other before it is an accounting problem at all.
Once the data is together, the software should do four things: read the invoice down to the line items rather than just the header total, find the PO and receipts by key, apply your tolerances, and route each exception to the person who can resolve it with the discrepancy stated. Tools differ mostly in the last two. Our comparison of AP automation solutions sets out which vendors publish prices and which do not, and the broader AP automation software page covers what gets automated at each step of the cycle.
Does three way matching require purchase orders?
It does, by definition, and that is the real barrier for most small and mid-sized companies. If your team buys without raising POs, you cannot three way match, no matter what software you buy. The fix is not technical. It is deciding which categories and which dollar thresholds require a PO, publishing that rule, and then holding invoices that arrive without one until someone senior approves the exception. Teams without POs still get most of the protection from two way matching plus duplicate detection, which is what invoice processing software runs at capture, and the wider cycle those checks sit inside is set out in our guide to the accounts payable process.
Start narrow. Require POs for inventory, capital purchases and anything above a threshold you pick, and leave the small recurring stuff on a two way match or straight to policy check. A control that covers 70% of spend and is actually followed beats a universal rule that everyone routes around.
Where the match sits in a wider AP process
Matching is one step, not the whole job. Before it, the invoice has to be captured and read. Around it, the invoice has to be coded to the right account, which is a separate problem the match does not touch. After it, someone still has to approve and pay. If you are building the process from scratch, get capture and invoice coding working first, because a matched invoice coded to the wrong account still corrupts your reporting.
The same discipline applies to the spend that never touches a PO at all. Card purchases, subscriptions and employee expenses have no receiving record and never will, so they need a policy check rather than a match. Our guide to categorizing business expenses covers the coding side of that, and GL coding explains the account structure both halves depend on.
This article is general information about an internal accounting control, not accounting, audit or legal advice. Match levels, tolerances and documentation requirements should be set with your own accountant and, where you are audited, agreed with your auditor.