← All resources
How-ToJuly 2, 20268 min read

What Is Three-Way Matching, and Why Does Every Small Business Need It?

Three-way matching checks a supplier invoice against the purchase order and the receiving record before you pay, catching overbilling, short shipments, and price creep. Here is how it works.

By Robbie Thomas

There's a gap between what you ordered, what you received, and what you got billed for, and that gap is quietly costing you money. Three-way matching is the simple check that closes it. It means lining up three documents before you pay a supplier: the purchase order (what you ordered), the receiving record (what actually arrived), and the invoice (what you're billed for). If all three agree, you pay. If they don't, you've caught a problem before it cost you.

Three-way matching is the process of confirming that a supplier invoice matches both the purchase order and the goods receipt before you approve payment. It catches overbilling, short deliveries, and price changes, and it's one of the few financial controls a small business can run without an accounting department.

Three-way matching

Match all three before you pay.

One order, three documents that should agree.

One order, three documents that should agree. Purchase order: 100 units at $4.20. Receiving record: only 96 arrived, 4 short. Invoice: billed 100 units at $4.35. The quantity and the price both disagree, so you owe $403.20 but are billed $435.00, a $31.80 overpay.
DocumentQuantityUnit price
Purchase orderWhat you ordered100$4.20
Receiving recordWhat arrived964 short
InvoiceWhat you're billed100$4.35
You owe$403.20
You're billed$435.00
Overpaid$31.80
One order: the invoice bills 100 units at $4.35, but only 96 arrived and the agreed price was $4.20. Three-way matching flags the short shipment and the price creep before you pay.

Most small businesses never do this on purpose. An invoice comes in, it looks about right, and they pay it. The trouble is that "about right" is where the money leaks: a case that never showed up, a price that crept above the quote, a quantity billed higher than the one delivered. None of it looks dramatic on a single invoice. Over a year of orders, it adds up.

The three documents#

Every purchase leaves three records. Three-way matching is just making sure they tell the same story.

  1. The purchase order (what you ordered). Your intent: 100 units at $4.20 each. It's the number everything else gets measured against.
  2. The receiving record (what arrived). When the shipment lands, someone confirms what's actually in the box: 96 units, not 100. This is the document small businesses most often skip, and it catches the most money.
  3. The invoice (what you're billed). The supplier's request for payment: 100 units at $4.35.

Line those three up and the problem jumps out. You ordered 100, received 96, and you're billed for 100 at a price 15 cents above what you agreed. Without the match, you pay it and never know.

The three checks#

Matching comes down to three questions, asked in order:

  • Did the quantities match? Ordered vs. received vs. billed. Short shipments and over-billing both surface here.
  • Did the prices match? Invoice price vs. the price on the PO. This is where quiet price creep lives: the supplier nudges the rate and hopes no one is comparing.
  • Did you actually receive it? The hardest thing to catch by memory and the easiest to catch with a receiving record. You cannot pay for goods that never arrived if you're checking against what was logged at the door.

If all three clear, the invoice is good. If any one fails, it goes back to the supplier before a cent moves.

A quick example#

You order 100 units at $4.20, a $420 order. The truck arrives and your team logs 96 units, 4 short. A week later the invoice comes in for 100 units at $4.35: $435.

Here's where that $435 actually goes wrong. At the price you agreed, the 96 units you received should have cost 96 times $4.20, which is $403.20. You're billed $435. That $31.80 gap is two separate leaks:

  • Price creep: on the 96 units you did receive, you're billed $4.35 instead of the agreed $4.20. That's 96 times $0.15, or $14.40.
  • Phantom units: you're billed for 4 units that never arrived, at $4.35 each, or $17.40.

Add them up, $14.40 plus $17.40, and you've overpaid $31.80 on one ordinary order. No fraud required, just the normal drift between ordered, received, and billed.

Now look at what it did to your margin. You planned to buy at $4.20 and sell at $7.00, a 40 percent gross margin. But you actually paid $435 for 96 usable units, an effective landed cost of $4.53 each. Sell at $7.00 and your real margin is 35 percent, not 40. One unchecked invoice quietly took five points off the batch.

Then run it forward. If this is a weekly reorder, that $31.80 repeats: roughly $1,650 a year bleeding from a single supplier line, before you count the other suppliers doing the same thing. And it comes straight off profit, not revenue. At a 10 percent net margin, earning back $1,650 of lost profit would take an extra $16,500 in sales. A minute spent matching the invoice is worth far more than the $16,500 in sales you'd need to make it back.

Key takeaway

A short shipment and a little price creep on one ordinary order cost $31.80 and five points of margin. Multiply that by every reorder and every supplier, and it is real money you never see as a line item.

Set a tolerance so you're not chasing pennies

Three-way matching does not mean every line has to be exact to the cent. Set a small tolerance, a few percent or a couple of dollars, and let anything inside it pass automatically. You're hunting the mismatches that matter, a missing case or a price that jumped, not an 8 cent rounding difference on freight. The threshold keeps the check fast and stops your team from rubber-stamping real problems just to clear the trivial ones.

Two-way vs. three-way matching: which do you need?#

Two-way matching compares just two documents, the purchase order and the invoice. It confirms you're billed for what you ordered, but not that you received it. Three-way matching adds the receiving record, so it also confirms the goods actually arrived.

The rule of thumb: use three-way matching for physical goods, where a short or missing delivery is the most common and most expensive error. Use two-way matching for things you can't "receive" at a dock, like a software subscription, a consulting fee, or a utility bill, where there's no shipment to log. Most small businesses buying inventory want three-way matching as the default and two-way only for services.

What to do when a match fails#

Catching the mismatch is only half the job. Here's the move when the three documents don't agree:

  • Short delivery (received less than billed): short-pay the invoice to the quantity you actually received, and tell the supplier why. You pay for 96 units, not 100.
  • Price higher than the PO: hold payment and ask for a corrected invoice or a credit. Don't pay the higher price just because it's on the bill. The PO is the agreement.
  • Billed for items that never arrived: withhold that line entirely until the goods show up or the supplier issues a credit.
  • Damaged or unsellable goods: log them on the receiving record as rejected so they never count as received, then file the claim. Who eats the cost depends on your terms. Under FOB destination the supplier owns the risk until it reaches your dock, so it's their credit or replacement; under FOB origin the goods became yours the moment they shipped, so the claim goes to the carrier. Either way, note the damage at delivery and inside your inspection window, then recover it with a credit memo or RMA before you pay.

Set the terms before you need them. The time to agree on inspection windows, return rights, and who covers short or damaged shipments is when you onboard a supplier, not when a busted pallet shows up. Get it into your purchase terms once, and every future dispute has a rule to point at instead of an argument to have.

Key takeaway

The invoice is a request, not a verdict. You pay what the order and the receipt support, and you put anything else back on the supplier before money moves.

Why this gets skipped (and how to stop)#

The reason is simple: doing this by hand is tedious. You dig up the PO, find the receiving note, hold both against the invoice, and repeat for every order while you're also running the business. So it gets skipped, and the leaks stay invisible. It's one of the clearer signs a business has outgrown spreadsheets.

The fix is to stop matching by memory and let the system do it. When your purchasing, receiving, and bills live in one place, the match happens automatically: the moment an invoice arrives, it's checked against the order and the receipt, and anything that doesn't line up gets flagged before you approve it. A control that sounds like extra work becomes something you don't think about.

You don't need an accounting team to stop overpaying suppliers. You need the three records to agree before you pay: what you ordered, what you received, and what you were billed. It's the same lesson as knowing how much inventory to actually hold and your true landed cost: you cannot manage what you cannot see.

That is exactly the gap we are building BizPro-Vision to close: sales, purchasing, inventory, and accounting in one platform, so three-way matching runs on every bill instead of being skipped. We're launching soon, so join the waitlist and lock in 50% off your first year when we open.

Frequently asked questions

What is three-way matching?+

Three-way matching is the process of confirming that a supplier invoice matches both the purchase order and the goods receipt before you approve payment. If all three agree, you pay. If any one disagrees, you have caught a problem before it cost you anything.

It catches the everyday leaks: short shipments, units billed but never delivered, and prices that crept above the agreed quote. None of those look dramatic on a single invoice, which is exactly why they survive. Over a year of orders they add up.

It is also one of the very few financial controls a small business can run without an accounting department. The check itself is simple arithmetic. The difficulty is never the logic, it is having all three records somewhere you can compare them before the payment goes out.

What three documents are used in three-way matching?+

The purchase order, the receiving record, and the supplier invoice.

The purchase order is what you ordered and at what price, say 100 units at $4.20 each. It is the number everything else gets measured against. The receiving record is what actually arrived, confirmed by whoever opened the boxes, say 96 units. The invoice is what the supplier is billing you for, say 100 units at $4.35.

Line those three up and the problem jumps out: you ordered 100, received 96, and are being billed for 100 at fifteen cents above the agreed price.

The receiving record is the one small businesses most often skip, and it is the one that catches the most money, because it is the only document that proves the goods actually turned up. Without it you are only ever checking paperwork against other paperwork.

What is the difference between two-way and three-way matching?+

Two-way matching compares only the purchase order and the invoice. It confirms you are being billed for what you ordered, at the price you agreed, but it cannot confirm the goods ever arrived.

Three-way matching adds the receiving record, which closes that gap. It is the difference between checking that the paperwork is internally consistent and checking that the paperwork matches physical reality.

Use three-way for physical goods, where there is something to receive and count. Use two-way for services with no delivery to log, like a subscription, a retainer, or a consulting fee, where a receiving record would be meaningless.

The risk of running two-way on physical goods is that a short shipment becomes invisible. The invoice agrees with the order perfectly, and four units that never arrived get paid for anyway. Nothing in those two documents can reveal the gap.

What should I do when an invoice does not match the PO or receipt?+

Short-pay to the quantity you actually received. If the invoice bills 100 and the receiving record says 96, pay for 96 and tell the supplier why.

On a price above the PO, hold payment until you get a corrected invoice or a credit note. Paying the higher price once establishes it as the new normal, and the increase then repeats on every reorder after that.

Withhold any line for goods that never arrived at all, and log damaged goods as rejected rather than received, so they never count toward what you owe. Then claim the credit.

The underlying principle is that an invoice is a request, not a verdict. Suppliers make genuine mistakes constantly, so none of this needs to be adversarial. It just needs to be checked before the money leaves. Once it has gone, you are asking for a refund instead of withholding a payment.

Does three-way matching require accounting software?+

No. You can run it entirely by hand: pull the purchase order, the receiving note, and the invoice for every order, then compare the quantities and prices before you approve payment.

The reason it gets skipped is not that it is difficult, it is that doing it manually is tedious and repetitive. Every order means finding three documents that usually live in three different places: an email thread, a paper note on a clipboard, and an accounts payable pile. When things are busy, the invoice gets paid because it looks about right.

Automating it means keeping purchasing, receiving, and bills in one system so mismatches are flagged before approval. The control does not change. What changes is whether it happens on every order or only the ones you remember to check, and consistency is the entire value of the control.

Get early access

BizPro-Vision is launching soon. Join the waitlist and be first in line when we open.

Lock in 50% off for a year