Three-way match for a small business, step by step
A three-way match means you pay a supplier invoice only for what you ordered, at the price you agreed, and only for the quantity you actually received and accepted. Three documents, one comparison per line: the purchase order, the delivery or receipt, and the invoice. In the example below, one hardware invoice for $1,439.80 looks routine, but the line-by-line check finds a price above the agreed one, two boxes billed that were returned, and a second copy of another invoice waiting to be entered. Paying it as billed would have meant $39.90 more than was agreed and received — on one invoice.
Why small businesses overpay suppliers
Nobody sets out to pay twice. Overpayments come from ordinary gaps:
- Price changes nobody wrote down. The supplier's new price list arrives by email; the order still shows the old price, or the invoice shows a third one.
- Short or damaged deliveries. The invoice bills the full order; two of the 60 arrived damaged.
- Returns that never reach the invoice. Wrong items go back with the driver, but the invoice still counts them.
- The same invoice entered twice. "BL-119020" and " bl-119020 " look different to a spreadsheet and identical to the supplier.
Each of these is small. Across a year of suppliers they add up — and they are hard to recover once paid.
The three checks, line by line
For every invoice line, find the order line it belongs to and compare:
- Price check = invoice net unit price − agreed net unit price. Agreed means the latest agreed version of the order, not the first one.
- Quantity check = quantity invoiced so far − quantity accepted so far. Accepted = good receipts − returns to the supplier.
- Ordered check = quantity invoiced so far − quantity ordered (after cancellations).
- Tolerance = a small difference you decide to accept, as a percent of the agreed price. The difference is still shown; the tolerance only says it is acceptable by your setting.
- Duplicate check = same supplier, same invoice number after trimming spaces and ignoring case, same currency. A second invoice with the same amount within a few days is a possible duplicate that needs a reason.
Count cumulatively. If two invoices bill one order line, the second one is checked against what is left after the first.
A worked example
The numbers are the demo of Purchase & Invoice Match: a fictional furniture workshop buying timber, hardware, finishes and an electrician's work from four suppliers.
The order changed once. The hardware order of 10 September was agreed at $2.10 per hinge, $11.40 per pair of drawer slides and $6.90 per box of screws. On 12 September the supplier's new price list raised the slides by $0.55 to $11.95, and the workshop raised the hinges from 200 to 240 for a kitchen job. That became version 2 of the order, with the reason written down.
What arrived. On 18 September: 240 hinges, 58 good pairs of slides plus 2 damaged, and 30 boxes of screws. Two of those boxes held the wrong screw size and went back with the driver on 4 October.
What was billed. Invoice BL-118842 of 19 September:
| Line | Invoiced | Price | Agreed price | Accepted | Result |
|---|---|---|---|---|---|
| Hinges | 240 | $2.14 | $2.10 | 240 | +$0.04 (+1.9%), inside the 2% tolerance — confirmed |
| Drawer slides | 58 | $12.40 | $11.95 | 58 | +$0.45 (+3.77%), outside tolerance — disputed |
| Screws | 30 | $6.90 | $6.90 | 28 | 2 boxes to clarify |
The invoice total is $1,439.80. The workshop confirmed $513.60 (the hinges) and paid exactly that by card, disputed $719.20 (the slides) and left $207 open until the two returned boxes are credited. Outstanding: $926.20; approved to pay now: $0. The price difference on the slides is $26.10; the two boxes are $13.80. That is the $39.90 that would have been paid without a check.

The duplicate that almost got in. A clamp invoice, BL-119020, for $140 had already been approved. A week later someone started entering " bl-119020 " — the same number with a space and lower case. The check normalises the number and flags it as an exact duplicate before it is entered.
The duplicate that was not one. The electrician sent LE-1191 for $1,194 five days after LE-1188 for the same $1,194. Same supplier, same amount, close dates: a possible duplicate. The owner confirmed it with a reason — a call-out for tripping breakers on 7 October, not the fan installation — and that reason stays on the record.
Two loose ends in another currency. The finishes supplier billed a €24 transport line that is not on the order, so it waits in the review queue as unmatched. And a €31.50 volume-rebate credit note is recorded but not yet assigned to any invoice, so it is listed as an unapplied credit rather than forgotten.
Step by step: a three-way match routine
- Record every order with agreed prices, and record each change as a new version with a reason.
- Record receipts when goods or work arrive: good, damaged and rejected quantities, with the delivery document.
- Record returns and cancellations so the accepted and ordered quantities stay true.
- Enter the invoice and link each line to its order line — by order reference, by your SKU or by a confirmed supplier-SKU mapping.
- Check price, quantity and duplicates line by line, and set a tolerance only where you mean it.
- Confirm or dispute each line with a reason. Pay only the confirmed part, minus credits already applied.
- Chase what is open: ask for a credit note, apply it to the invoice, and keep unapplied credits visible until used.
Common mistakes
- Checking the invoice total only. A correct total can hide a price increase on one line and a short delivery on another.
- Comparing with the original order. If the price was renegotiated, compare with the latest agreed version.
- Treating a tolerance as a rule to stay silent. A difference inside tolerance is still a difference; record it.
- Paying the full invoice while one line is in dispute. Pay the confirmed lines; the rest can wait for the credit.
- Matching invoice numbers by eye. Spaces, prefixes and case differences make duplicates look new.
- Letting credit notes float. A credit that is not applied to an invoice is easy to lose.
When a tool helps
With one supplier and a few invoices a month, a folder and a careful eye can work. Once you have several suppliers, partial deliveries, returns, price changes and more than one currency, the comparison gets long. Purchase & Invoice Match keeps orders with agreed versions, receipts, returns, invoices, credits and payments in one place, matches each line cumulatively, shows price and quantity differences with your tolerance, catches exact and possible duplicates, and works out what is approved to pay now. Exact decimal arithmetic, no AI guesses. If a price rise makes you think about changing supplier, the Supplier Switch & Landed Cost Lab compares the full cost.
Open the demo with the furniture workshop above — every screen, no sign-up — then enter your own orders and invoices.
Open Purchase & Invoice MatchAll decisions and cash-flow risk tools
Related guides: how to reconcile payouts to bank deposits, how to calculate landed cost and how to calculate a reorder point.
FAQ
What is a three-way match?
A check of each invoice line against two other documents: the purchase order (what you agreed to buy and at what price) and the receipt (what you actually accepted). You pay a line when all three agree, or when you have recorded why a difference is acceptable.
What is the difference between a two-way and a three-way match?
A two-way match compares the invoice with the order only — price and quantity ordered. A three-way match adds the receipt, so you do not pay for goods that were short, damaged or returned. For services, the receipt is the confirmation that the work was done, such as a signed service sheet.
Do I need purchase orders for a three-way match?
You need some record of what was agreed: a purchase order, an accepted quote or a price list with quantities. Without it, there is nothing to compare the invoice price against.
What price tolerance should I set?
Zero is the default and the safest. A small percentage can save time on lines where rounding or minor list changes are normal, but set it per line or per supplier, and remember the difference is still recorded.
What do I do with a disputed line?
Ask the supplier for a credit note or a corrected invoice, pay the confirmed lines, and apply the credit when it arrives. Keep the reason on the line so anyone can see why it was not paid.
How do I catch duplicate invoices?
Compare supplier, invoice number and currency after trimming spaces and ignoring case. Then look for invoices from the same supplier with the same amount within a few days, and confirm each one with a reason.
This is decision support, not accounting, tax or legal advice.
Tools mentioned in this guide
Interactive tool
Purchase & Invoice Match
Check what you ordered, what arrived and what you are being asked to pay.

