How to Do a 3-Way Match, Step by Step

RedHub AI Editorialupdated October 5, 20265 min read

One open box of brass hinges lit red on a receiving bench, beside boxes of plain steel hinges.
Jump to a section6

Pull three documents: the purchase order, the receiving record and the invoice. Confirm they point at the same order, then compare the item, the quantity and the price on every line. If they agree within your tolerance, approve the invoice. If they do not, hold it until someone resolves the difference. That is how to do a 3-way match. The hard part is doing it the same way every time, including on the trusted vendor and the small bill.

TL;DR: Tie the invoice to its PO and vendor first. Then compare item, quantity and price, with quantity checked against the receipt, not the PO. Set a tolerance tight enough that it absorbs rounding and nothing larger. Every mismatch gets a recorded human decision. The Invoice-PO-Receipt 3-Way Match ($79) runs these checks on a whole AP run and returns APPROVE, HOLD or BLOCK PAYMENT per invoice. Part of the guide on 3-way matching.

The steps

  1. Gather the three documents. Find the invoice, its purchase order and the receiving record for that delivery. An invoice with no PO number is your first flag, because spend that went through purchasing should be traceable.
  2. Tie the vendor and PO number. Confirm the invoice belongs to the right PO and the right vendor before you compare a single number. A wrong PO reference makes every later check meaningless.
  3. Compare the items. Each billed line should match a line the PO ordered and the receipt shows arriving. A billed item that is not on the PO is an exception.
  4. Compare the quantities. Invoice quantity should not exceed the received quantity. Billed 200, received 150? Stop there.
  5. Compare the prices. The unit price on the invoice should match the PO price. Also check that quantity times unit price equals the line total, because vendors make arithmetic errors too.
  6. Apply tolerance, then decide. Within tolerance on every line: approve. A small variance: hold and look. A bill for more than arrived, or against no PO: block until it is resolved.
The step people skip: matching against the receipt, not just the PO. Checking the invoice against the PO confirms you were billed for what you ordered. It says nothing about what arrived, so a short delivery billed in full sails through a PO-only check. The receipt is what makes it a 3-way match.

Setting a tolerance

A tolerance is the room you allow before a difference counts. A three-cent rounding gap should not stop a $4,000 payment. Set it too tight and you drown in noise. Set it too loose and a real overcharge rides under the threshold every month.

One concrete starting point is the default set in the Invoice-PO-Receipt 3-Way Match: a 10% price block tolerance, a 2% price soft tolerance, zero units over the receipt, and $0.01 on line totals. Under those defaults, packing crates ordered at $18.00 and billed at $18.45 are 2.5% over. That is past the soft line and well under the block line, so the invoice comes back HOLD, not BLOCK PAYMENT. Someone checks whether a price change was agreed before paying it. Your numbers may differ. Whatever you pick, quantity over the receipt deserves the tightest setting of all, because there is no rounding excuse for being billed for goods that never came.

When the invoice beats the truck

One case the steps do not settle: a vendor emails the invoice the same day it ships. The goods arrive two days later, and the warehouse logs the receipt on Friday. Match on Wednesday and a legitimate invoice fails the receipt check. The tempting fix is to approve it because the vendor is reliable. Do not. Leave it unpaid, and run the match again once receiving catches up.

Partial deliveries are messier. If 150 of 200 arrived and the rest is backordered, you can pay for 150 now or ask the vendor to reissue the invoice for what shipped. Either works as a control. Which one keeps the vendor relationship healthy depends on the vendor, and no rule answers that for you.

What to do with an exception

Route each exception to someone who can resolve it with context. A price difference may reflect an agreed change that never made it into the PO, so update the PO. A short shipment may be a backorder, so pay for what arrived. Record every decision and who made it. An exception queue that nobody works means the flags protect nothing. When volume makes the comparison itself the bottleneck, our post on AI invoice matching covers what software can take over and what stays with a person.

Run the six steps on a whole AP run

Export your POs, receipts and invoices, and the Invoice-PO-Receipt 3-Way Match runs seven fixed checks on every line. You set the four tolerances. The same run always gives the same verdicts, and a workbook reproduces them for anyone who wants to check the math.

Get the Invoice-PO-Receipt 3-Way Match — $79

Pairs well with

If your invoice fields are keyed by hand or pulled off PDFs, the Document Field Validator ($79) checks them by rule before step one and rejects a record with a missing total before it reaches the match. Once the run is paid, the Finance & Reporting Automation Kit ($129) handles monthly reporting on a workbook that labels each tie-out. For the person doing all of this alongside the rest of the books, AI for the Bookkeeper ($39) is a one-afternoon brief on using AI without handing it the numbers.

More in this guide

What are the steps in a 3-way match?

Gather the invoice, PO and receipt. Confirm the vendor and PO number tie out. Compare item, quantity and price across all three, and check that each line total equals quantity times price. Apply your tolerance, approve clean invoices and hold the rest.

Should I match invoice quantity to the PO or the receipt?

The receipt. You pay for what arrived, not what was ordered. Matching only against the PO misses a short or partial delivery billed in full.

What is a matching tolerance?

A small allowed difference, as a percentage or a dollar amount, so rounding does not flag every invoice. It should absorb noise and nothing bigger. Too loose, and a real overcharge slips through every month.

What if the invoice arrives before the goods are received?

Leave it unpaid and match again once the receipt is logged. Approving it early because the vendor is reliable skips the one check that confirms the goods arrived.

What if an invoice has no purchase order?

Treat it as a flag. A PO-backed purchase should trace to an approved order. A no-PO invoice needs a separate approval from whoever owns that spend before it is paid.

What do I do when an invoice does not match?

Hold it and route it to someone who can resolve it: an agreed price change to add to the PO, a backorder to pay in part, or a billing error to send back. Record every decision. An exception queue nobody works defeats the control.

How it decides
Diagram of the Invoice 3-Way Match gate: seven checks rolled up to the worst, a payment-block gate, and an 86%-match invoice forced to BLOCK PAYMENT for billing 200 units against a 150-unit receipt.

The gate this post refers to, drawn from the tool’s own logic. See the tool.