
What is a three-way match?
By MacrosLM Team · Reviewed by Anel Komratova, ex-PwC Audit Expert
A three-way match is a control that checks three documents against each other before a company pays a bill: the purchase order, the receiving report (goods receipt), and the supplier's invoice. If what was ordered, what was received, and what's being billed all line up on quantity, price, and terms, the invoice is cleared for payment. If they don't, it gets held until someone resolves the gap.
It's one of the most basic controls in accounts payable, and one of the most effective. Companies lose an estimated 5% of annual revenue to fraud, and a large share of that runs through fake or inflated invoices. A three-way match is the check that catches them before the money goes out.
Below is how the process works, the documents involved, how it compares to two-way and four-way matching, and where the same logic shows up on the revenue side of the books.
The three documents
The match is only as good as the three documents behind it.
| Document | Created by | What it proves |
|---|---|---|
| Purchase order (PO) | The buyer's purchasing team | What was ordered, in what quantity, at what agreed price — the binding baseline everything else is measured against. |
| Receiving report (goods receipt) | The receiving team or warehouse | That the order actually showed up: the date, quantity received, and condition of the goods. |
| Supplier invoice | The vendor | The request for payment — items or services delivered, the amount owed, and the payment terms. |
One nuance on the receiving report: keep it separate from the vendor's packing slip. The packing slip comes from the seller and can repeat the same error as the invoice, so the stronger control matches against a receiving report your own staff prepared after physically checking the delivery. When all three agree, you know you're paying for something you actually ordered and actually received, at the price you agreed to.
How the process works
The sequence runs through three teams and ends in accounts payable:
- Purchase order — procurement issues a purchase order with quantities, descriptions, and prices, and sends it to the vendor.
- Receipt — the goods or services arrive; the receiving team logs the quantity and condition on a receiving report.
- Invoice — the vendor sends an invoice for the order.
- Match — accounts payable compares all three documents, line by line.
- Approve or hold — if everything matches within tolerance, the invoice is scheduled for payment; if something is off, a hold goes on it and it's routed for investigation before any money moves.
At the match step, four fields carry most of the weight:
| Field | What must agree | Why it matters |
|---|---|---|
| Price | Invoice price = agreed PO price | Catches overbilling and stale price lists. |
| Quantity | PO, invoice, and receiving report all agree | So you don't pay for goods the vendor never shipped. |
| Payment terms | Invoice terms = PO terms | A PO at 60 days billed at 30 can make on-time payment look late. |
| Ancillary charges | Freight, insurance, customization match the PO | If the supplier was to absorb them and they appear anyway, flag it. |
A held invoice is the control doing its job — a fail-safe that stops payment on anything that hasn't been verified.
A quick example
IT orders 10 laptops at $1,200 each, so the PO total is $12,000. When the laptops arrive, the office manager checks the delivery and records a goods receipt for 10 units in good condition. The vendor's invoice then comes in at $12,000 for 10 laptops. All three documents agree, so AP approves payment.
Now change one number. The invoice comes in for 11 laptops instead of 10. The receiving report still shows 10. That $1,200 discrepancy gets flagged, and AP holds the invoice until it's resolved. Without the receiving report in the match, the company might have paid for a laptop it never got.
Two-way vs. three-way vs. four-way matching
Three-way isn't the only option. The right level depends on the purchase and the risk.
| Method | Documents compared | Adds | Best for |
|---|---|---|---|
| Two-way | Invoice + PO | — | Low-risk or service purchases with no goods receipt — office supplies, direct-shipped items. |
| Three-way | Invoice + PO + receiving report | Confirms goods were received | The standard for physical goods and inventory. |
| Four-way | + quality inspection / acceptance report | Confirms goods passed inspection | Manufacturing, healthcare, construction — where condition and compliance are critical. |
Many companies set a dollar threshold: invoices above a certain amount require a full three-way (or four-way) match, while small, low-risk invoices clear on a two-way match to keep things moving.
Matching tolerances and exceptions
Real-world documents rarely line up to the penny. Freight charges, rounding, exchange-rate movement, and partial shipments all create small differences. So most systems use a tolerance — an acceptable variance (a few percent on price, or a small quantity range) within which the invoice still passes.
Anything outside tolerance is an exception: a price higher than the PO, a quantity billed above what was received, or an invoice with no matching receiving report at all. The value of the control isn't the matching itself; it's how fast and cleanly exceptions get caught and cleared.
One word on a price mismatch: don't just pay the lower amount and move on. Quietly short-paying an invoice tends to backfire — the vendor still has you down for the full balance and now thinks you owe the difference. Talk to the supplier, settle on the right number, and clear it before the payment is due.
Why it matters
A working three-way match does a few things at once:
- It stops overpayments and duplicate payments.
- It catches pricing errors before they're paid, not after.
- It blocks invoices for goods that never arrived.
- It builds a clean, traceable audit trail from order to payment.
The catch is that done by hand, it's slow and tedious. Someone has to pull three documents for every invoice, line them up, and chase the ones that don't agree. That's why the control is increasingly automated — systems extract the data, match within tolerance, and route only the exceptions to people.
A worked example: three-way match testing at scale
What this looks like as an audit procedure: a full-population three-way match over 10,442 procurement transactions for a property-management company — every disbursed dollar traced across the PO × receiving × invoice triangle, with no sampling.
Each transaction is tested across all three legs of the triangle. A clean match requires all three documents present and reconciled within tolerance — here, 94.7% clean, with the rest dispositioned by where the triangle breaks.
Every exception is then tagged to a root cause and re-validated against compensating controls. The ones that can't be cleared are what escalate to a control-deficiency memo — here, 537 of 551 cleared, 14 did not.
See the full interactive example: Three-Way Match — Peabody Properties FY2024 ↗
The same logic on the revenue side
Three-way matching is best known as an accounts payable control, on the money you pay out. But the same idea is just as powerful on the money you bring in — and that's where it matters most in audit and revenue recognition.
On the revenue side, the three documents change:
| Accounts payable (money out) | Revenue (money in) | |
|---|---|---|
| Agreement | Purchase order | Sales order — what the customer agreed to buy |
| Fulfillment | Receiving report | Shipping / delivery document — proof of performance |
| Billing | Supplier invoice | Customer invoice — what you billed and recognized |
| Question | Should we pay this? | Should we have recognized this revenue, in this period? |
This is core to testing revenue under standards like ASC 606, where revenue is earned when the performance obligation is satisfied, not when the invoice is cut. A sale booked without a matching shipping document, or recognized in a quarter before delivery happened, is exactly the cutoff issue auditors and quality-of-earnings teams hunt for. The three-way match is how you prove each recognized dollar is backed by a real, delivered transaction.
That testing is also where the manual grind is worst: pulling sales orders, shipping logs, and invoices across thousands of transactions and tying each one back to its support, often across systems that don't talk to each other.
If you run three-way matching on the revenue side, you can do it with the Three-Way Match (Revenue Recognition) agent using MacrosLM. Drop in the full population of sales orders, shipping and delivery documents, and customer invoices, and the agent matches each recognized transaction across all three, flags the exceptions (missing shipping support, quantity or price mismatches, cutoff timing problems), and ties every conclusion back to the source document through an evidence layer. Click any flagged item and see the underlying records. The line-by-line tie-out that used to eat days of an associate's time becomes a reviewed exception list instead of a manual build.
The judgment still sits with you: is this exception a real misstatement or a documentation gap, is this cutoff aggressive, does this pattern need escalation. The agent clears the mechanical matching so the qualified reviewer spends time on the calls that matter, and signs off on the conclusion.
Bottom line
A three-way match checks the purchase order, the receiving report, and the invoice before a bill gets paid, so a company only pays for what it ordered and received at the agreed price. It's a foundational AP control: it stops overpayments and fraud and leaves a clean audit trail. The same three-way logic, applied to sales orders, shipping documents, and customer invoices, is one of the sharpest tools for testing that revenue is real and recognized in the right period. The concept is simple either way. The work is in matching the documents at scale — and that's the part worth automating.
Sources
This article is for general information and is not accounting, audit, tax, or legal advice. Controls and revenue-recognition treatment should be designed and reviewed by a qualified professional and depend on your facts and applicable standards.
Frequently asked questions
- What is a three-way match?
- A three-way match is an accounts-payable control that checks three documents against each other before a bill is paid — the purchase order, the receiving report, and the supplier invoice — and holds the invoice if quantity, price, or terms don't line up.
- What are the three documents in a three-way match?
- The purchase order (what was ordered), the receiving report or goods receipt (what was actually received), and the supplier invoice (what is being billed).
- What is the difference between two-way, three-way, and four-way matching?
- Two-way matching compares the invoice and the PO. Three-way adds the receiving report to confirm goods were received. Four-way adds a quality-inspection or acceptance report for cases where condition and compliance are critical.
- How does three-way matching apply to revenue recognition?
- The same logic maps to the sales order, the shipping or delivery document, and the customer invoice — proving each recognized dollar is backed by a real, delivered transaction in the correct period under standards like ASC 606.
Reviewed by Anel Komratova
ex-PwC Audit Expert. Written by the MacrosLM editorial team.
View profile →

