Three-way matching explained, and how to automate it
Three-way matching compares the PO, goods receipt and supplier invoice before payment. See tolerances, exceptions, two-way vs four-way and how to automate.
On this page
Three-way matching is an accounts payable control that compares three documents before an invoice is paid: the purchase order (what you ordered), the goods receipt or service confirmation (what you received) and the supplier invoice (what you're being billed). If quantities, prices and totals agree within set tolerances, the invoice is approved for payment. If they don't, a person resolves it.
The three documents
Each document answers a different question.
| Document | Created by | Question it answers |
|---|---|---|
| Purchase order (PO) | Buyer or requester, at purchase | What did we agree to buy, at what price? |
| Goods receipt (or service entry) | Warehouse, receiving or the requester, on delivery | What actually arrived or was completed? |
| Supplier invoice | The supplier, after shipment or service | What are we being asked to pay? |
The match runs at line level. For each invoice line, the system finds the PO line it refers to, checks received quantity against invoiced quantity, and checks the invoiced unit price against the PO price. It also compares header values such as supplier, currency and total.
Here's the case the control exists for. You order 100 units at $12.00. The warehouse receives 90. The supplier invoices 100 units at $12.00. A two-way match passes, because the invoice agrees with the PO. A three-way match fails, because you're being billed for 10 units that never arrived.
Two-way vs three-way vs four-way matching
The number refers to how many documents must agree.
| Two-way | Three-way | Four-way | |
|---|---|---|---|
| Documents compared | PO and invoice | PO, receipt and invoice | PO, receipt, invoice and inspection report |
| Catches | Price and quantity differences from the order | Billing for goods or services not received | Goods received but rejected or damaged |
| Typical use | Services, subscriptions, low-value or low-risk spend | Physical goods, inventory, higher-value spend | Regulated or quality-critical items, such as parts and ingredients |
| Effort | Lowest | Moderate, needs reliable receiving | Highest, needs inspection records |
Use the lightest match that covers the risk. Three-way matching on a $40 monthly software subscription is wasted effort, since there's nothing to receive. Four-way on a pallet of commodity packaging is probably overkill. Many companies mix methods by category: three-way for inventory, two-way for services under a threshold, and approval only for utilities and rent.
Key point: Three-way matching is only as good as your receiving data. If receipts are entered late, in bulk or not at all, the match produces noise instead of control. Fix receiving discipline before you automate the match.
Tolerances
Exact matches are rare. Freight gets rounded, suppliers apply tax differently, and a unit price changes mid-order. A tolerance is the variance you accept without human review.
Typical settings look like this:
- Price: a percentage of line price, a fixed amount, or both. For high-value lines, "whichever is smaller" is common.
- Quantity: zero over-billing against received quantity is a sensible starting point. Bulk goods such as liquids and aggregates may allow a small percentage either way.
- Total: a cap on the gap between invoice total and matched total, often set by currency.
- Freight and charges: a separate allowance, since these often aren't on the PO.
The right values depend on your spend and risk appetite, so we don't recommend a universal figure. Pick starting values with procurement and the finance controller, then review them quarterly against real exception data. If most of your price exceptions turn out to be a few cents, the tolerance is probably too tight. If nobody ever looks at the approved variances, it may be too loose.
Record every approved variance. An invoice paid $4.20 over the PO is fine. A run of them from one supplier is something you want to see.
Common match exceptions
| Exception | Typical cause | Who usually resolves it |
|---|---|---|
| Price variance | Price changed after the PO was issued | Buyer |
| Quantity over-billed | Partial delivery, or short shipment | Warehouse or requester |
| Receipt missing | Goods arrived but were never entered | Receiving |
| No PO found | Supplier left off the PO number, or the buyer never raised one | Requester |
| PO already fully invoiced | Duplicate invoice, or an unreported extra order | AP clerk |
| Unit of measure mismatch | PO says "each", invoice says "box of 12" | Buyer or AP |
| Tax or freight difference | Different tax treatment, or surcharges not on the PO | AP clerk |
| Partial or split invoice | Supplier bills across multiple invoices | AP clerk |
Every exception needs an owner, a reason code and a due date. Without those, exceptions pile up in AP's inbox and invoices pay late. Report exception volume by reason every week, because repeated reasons point to a process fix. If receipt-missing is your top category, the answer is better receiving, not faster clerks.
How to automate three-way matching
Automation covers five steps, with people handling what the rules can't.
- Capture and extract. Read the invoice header and line items, including the PO number and any delivery note reference. This is where document processing does its work.
- Find the PO. Look it up by number. If the number is missing or wrong, search open POs from the same supplier by amount and items, and suggest likely candidates.
- Map lines. Suppliers describe items differently from your PO. A model can map "SS hex bolt M8x40 (box 100)" to the PO line "Stainless bolt M8 40mm, pack" and show its reasoning when confidence is low. This is the main place AI beats pure rules.
- Apply rules. Compare received quantity, invoiced quantity and prices against your tolerances. For partial deliveries, match to the received quantity and leave the PO open for the remainder.
- Route the result. Clean matches go to approval, or auto-approve under a written policy. Exceptions go to the owner with the PO, receipt and invoice side by side.
The matching logic itself should be rules, not a model. Whether 95 is within 2% of 100 is arithmetic, and you want the same answer every time, with a log you can show an auditor. Use AI to read documents and map lines. Keep it away from the pass or fail decision.
Where this runs depends on your ERP. NetSuite and SAP have native receipts and their own matching features, so automation often sits in front, doing capture and exception routing. Xero and QuickBooks Online have no goods receipt object, so receipt data has to come from a warehouse system, a spreadsheet or a requester's confirmation. Our accounts payable automation guide covers the ERP differences in more detail.
Edge cases that cause trouble
- Services and milestones. No goods arrive, so the "receipt" is a requester confirming the work is done. Build that confirmation into the workflow.
- Blanket POs. One PO covers many invoices over a year, so track the remaining balance as well as line quantities.
- Credit notes. Match them to the original invoice and make sure they reduce the open balance.
- Multiple currencies. Compare in the invoice currency, then check the converted value against a tolerance.
- Early receipts. Goods arrive before the invoice, so accrue them. Receiving data feeds month-end accruals as well as matching.
- Fraud. A genuine PO and receipt don't prove the bank details are right. Keep bank detail verification as its own control.
Measuring the match
Track these from the start:
- Auto-match rate: invoices that pass with no human touch, split by supplier group.
- Exception rate by reason, to see what to fix upstream.
- Time to resolve exceptions. A long tail here costs you late fees and early-payment discounts.
- Overrides: invoices approved despite a failed match, with who approved and why.
Compare against your baseline. Our cost per invoice guide shows how to turn handling time into a dollar figure.
Where it fits
Three-way matching is one control inside the wider procure-to-pay process, after purchasing and receiving and before payment. The procure-to-pay blueprint shows how matching, approval and posting connect.
If invoices wait in AP because of missing receipts and PO mismatches, talk to us. We'll review a sample of your invoices and POs and tell you what share could match automatically.
Frequently asked questions
What is three-way matching in accounts payable?
It's a control that compares the purchase order, the goods receipt and the supplier invoice before payment is approved. The invoice is paid only if what you ordered, what you received and what you're billed for agree within tolerance. It prevents paying for goods you never got or at prices you never agreed.
What is the difference between two-way and three-way matching?
Two-way matching compares the invoice to the purchase order only. Three-way matching adds the goods receipt, so you also confirm the goods or services arrived. Two-way is common for services and low-value spend, while three-way suits physical goods and higher-risk purchases.
What is four-way matching?
Four-way matching adds an inspection or acceptance report to the PO, receipt and invoice. It confirms that received goods passed a quality check. It's used for regulated or quality-sensitive items and takes more effort than most spend categories justify.
What tolerance should we set for three-way matching?
There's no universal figure. Teams commonly set a price tolerance as a percentage, a fixed amount or both, and keep quantity tolerance tight. Agree starting values with procurement and finance, then adjust using real exception data each quarter.
Can three-way matching be fully automated?
Clean matches can be, and for many companies a large share of PO-backed invoices will qualify, though the exact share depends on your PO discipline and receiving data. Exceptions still need a person, and approval policies still apply. Measure the share on your own invoices before setting a target.
Does three-way matching work for services?
Services have no physical receipt, so a requester confirms the work was delivered, usually by approving a service entry or milestone. That confirmation then plays the role of the goods receipt. Many companies use two-way matching for low-value services instead.
Get the next article by email
One practical piece a month on automating real operations. No promotions.