By the end of this module you will be able to
- Run a three-way match line by line
- Resolve a price or quantity exception
The three documents
| Document | Question it answers | Fields checked |
|---|---|---|
| Purchase order | What did we agree to buy, and at what price? | Vendor, PO number, item, ordered quantity, unit price |
| Receiving record (goods receipt or delivery note) | What actually arrived? | Item, quantity received, date, condition |
| Supplier invoice | What are we being asked to pay? | Vendor, PO reference, item, billed quantity, unit price, tax, freight, total |
Two-way matching compares only the invoice and the PO, so it checks price and ordered quantity but not delivery. It suits services, subscriptions and low-risk spend, where there is no physical receipt; the person who received the service confirms it instead. Three-way matching adds the receipt and suits inventory, materials and equipment. Four-way matching adds an inspection record for quality-critical goods.
How to run a three-way match
Find the purchase order
Use the PO number on the invoice. If there is none, ask the requester before going further; a non-PO invoice goes to approval instead of matching.
Find the receiving record
Pull the goods receipt or delivery note for the same PO. It tells you what actually arrived, line by line.
Check the header
Vendor, PO number and currency must agree on all three documents.
Check quantities line by line
The quantity invoiced should be no more than the quantity received.
Check unit prices line by line
The invoice unit price should equal the PO price, within your price tolerance.
Check tax, freight and the total last
Small tax rounding is the most common false alarm, which is why many teams set a separate tax tolerance.
Approve or raise an exception
Approve lines that pass. For lines that fail, record the reason and send it to whoever can fix it.
Update the PO balance
If the invoice covers only part of the order, reduce the open balance so the next invoice is matched against what is left.
Always match line by line. Matching only the invoice total to the PO total can hide a price increase on one line that happens to be offset by a short shipment on another.
Worked example: one clean match, two exceptions
| Case | PO | Received | Invoiced | Result |
|---|---|---|---|---|
| Clean match | 200 @ $42.00 | 200 | 200 @ $42.00 = $8,400.00 | Approved |
| Price variance | 200 @ $42.00 | 200 | 200 @ $44.10 = $8,820.00 | Exception: price 5% over PO |
| Short shipment | 200 @ $42.00 | 180 | 200 @ $42.00 = $8,400.00 | Exception: 20 units billed but not received |
Illustrative numbers, assuming a 2% price tolerance and a quantity tolerance of zero.
In the price case, the buyer either confirms an agreed price change and updates the PO, or asks the supplier for a credit note. In the short-shipment case, the receiver either records the late delivery or the supplier reissues the invoice for 180 units.
Setting tolerances
A tolerance is the difference you accept without review. There is no universal standard. Most teams combine a small percentage with an absolute amount, because a percentage alone lets large invoices drift by large amounts and an absolute cap alone flags trivial differences on small invoices.
- Price tolerance: a small percentage and a dollar cap per line, to absorb rounding and currency differences.
- Quantity tolerance: often zero for counted items, higher for goods sold by weight or volume.
- Supplier overrides: tighter limits for suppliers with a history of billing errors.
Start tight, review a month of exceptions, and adjust. Tolerances are a control: document who set them and why, and do not let the person who approves invoices change them without sign-off.
Partial invoices
Suppliers often bill a PO in parts: a partial delivery, an installment, a milestone or one month of an annual service. A partial invoice is legitimate as long as everything billed against the PO so far stays within what was ordered and received.
The fix is a running balance. Keep the amount invoiced to date and the amount remaining on every PO, and per line. Match each new invoice against what is still open, not against the original order. Take a $60,000 PO billed in three parts: $24,000, then $21,000 (both fit the open balance), then $16,500. Only $15,000 is still open, so the third invoice is an exception. Without the running balance, the first two would have failed against the $60,000 total and the third, the smallest, might have been approved. (Illustrative numbers.)
Update the balance when an invoice clears, not when it is captured, and put the amount back if an invoice is later voided or credited.
Resolving exceptions
An exception is any invoice that needs someone to step in before it can be paid. Ardent Partners’ State of ePayables 2025 puts the average invoice exception rate at 18.4%, and 11.1% for its Best-in-Class group. Send each exception to the person who can fix the cause:
| Exception | Usual fix | Who |
|---|---|---|
| Price variance | Update the PO for an agreed change, or request a credit note | Buyer |
| Quantity variance | Record the late receipt, or ask the supplier to reissue | Receiver |
| Missing receipt | Record what arrived; make receiving part of delivery | Receiver |
| No PO | Route to the budget owner for approval | AP |
| Suspected duplicate | Confirm and reject, or release if genuinely new | AP |
Tag every exception with one primary cause. After a month you will know which fix removes the most exceptions. Module 7 shows how to turn this into an exception rate you can track.
Key takeaways
- Three-way matching compares the invoice, the PO and the receipt, line by line.
- Use both a percentage and an absolute tolerance, and review them regularly.
- Match partial invoices against the PO’s open balance, not the original total.
- Send each exception to the person who can fix its cause, and tag the cause.
Practice task
Pick one recent PO-backed invoice and match it by hand: write the PO, receipt and invoice quantities and prices side by side for each line, and decide whether each line passes at a 2% price tolerance and zero quantity tolerance.
Finished this module?
0 of 7 modules complete. Saved in this browser.
Go deeper
The walkthroughs and guides this module is built from, for more detail and system-specific steps.
Practice what you learn in a free Aequo AP workspace
Your course progress stays saved in this browser either way. To try the steps on your own invoices, Aequo AP captures invoices, runs two-way and three-way matches, routes approvals and flags duplicates, then syncs approved bills to QuickBooks Online, Xero, FreshBooks or Zoho Books.
Start a free trialSources
Figures in this module come from these sources. Worked examples use illustrative numbers.