Skip to content
FINIO

Blog

How to do three-way matching in accounts payable

19 October 2026 · Darsh Bhatt

The short answer: three-way matching is checking that three documents agree before you pay a supplier's invoice — the purchase order (what you asked for), the delivery note or goods received note (what actually arrived), and the invoice (what you are being charged). Each invoice line should match the order on price and the delivery on quantity. Where a line does not, it is held until someone explains the difference, usually with a credit note from the supplier.

It is the main check in accounts payable against paying for goods that never arrived, or at a price nobody agreed. This guide covers how it works, how to do it by hand, how much difference to allow, and where it breaks down in a kitchen.

What is three-way matching in accounts payable?

Three-way matching is an accounts payable check that compares the purchase order, the goods received note and the supplier's invoice, line by line, before the invoice is approved for payment.

Each document answers a different question:

  • The purchase order — what did we agree to buy, how many, and at what price?
  • The goods received note — what actually arrived? In most kitchens this is the supplier's delivery note, signed by whoever took the delivery, with any shortages written on it.
  • The invoice — what is the supplier charging us for?

If all three agree, the invoice is safe to approve. If they do not, the difference tells you exactly what to query.

Two-way, three-way and four-way matching

  • Two-way matching compares the purchase order with the invoice. It catches price differences and items nobody ordered, but not short deliveries.
  • Three-way matching adds the goods received note, so you only pay for what arrived.
  • Four-way matching adds an inspection or acceptance record, for goods that have to pass a quality check before they are accepted.

For goods, three-way is the standard. Two-way is common for services, where there is nothing to receive.

Why three-way matching matters

  • Short deliveries. Ten cases invoiced, eight delivered. Without the delivery note in the match, you pay for the two that never came.
  • Price creep. A price that rises a few pence at a time is invisible on one invoice and expensive over a year.
  • Items nobody ordered. Substitutions, extras and charges that appear on the invoice but were never agreed.
  • Duplicate and made-up invoices. An invoice with no order and no delivery behind it has nothing to match against, so it cannot pass.

The three-way matching process, step by step

1. Raise a purchase order

Every order needs a reference, the supplier, the items, the quantities and the agreed price. It does not have to be a formal document — an order recorded anywhere with those details will do — but it has to exist before the goods arrive, or there is nothing to match against later.

2. Record what arrived

Whoever receives the delivery checks it against the delivery note, writes on any shortages, damaged items or substitutions, and signs it. That signed note is your goods received note. Keep it — a photo is fine — because it is the only record of what actually came through the door.

3. Check the invoice header

When the invoice arrives, check the supplier, the order reference and the invoice number. Search for the invoice number in your ledger first. If it is already there, you have a duplicate and the match stops here.

4. Match line by line

For each line on the invoice:

  • Price should equal the price on the order.
  • Quantity should be no more than the quantity received.
  • The item should be one that was ordered.

Mark each line matched or not. One failing line does not make the whole invoice wrong — it means that line needs an answer.

5. Deal with the exceptions

  • Short delivery: ask the supplier for a credit note for the missing items.
  • Price higher than agreed: query it. Either the price changed and nobody told you, or it is a mistake.
  • Item not ordered: check whether someone ordered it some other way. If not, query it.
  • Delivery charge or deposit: decide whether it was agreed. These are rarely on the order.

6. Approve, post and close the order

Once every line is matched or explained, approve the invoice and post it, then close the order lines it used up. An order line left open will sit there waiting for an invoice that is never coming, and the next real invoice may be matched against it by mistake.

Three-way matching checks one invoice at a time. An invoice that never reached you, or a credit note nobody posted, only shows up when you reconcile the supplier's statement at month-end.

How much difference to allow

A tolerance is how far an invoice can differ from the order or the delivery and still pass.

  • Rounding. Allow a few pence on totals and VAT. Suppliers round per line or per invoice, and a penny difference is not worth anyone's time.
  • Price. Keep it tight. A percentage tolerance on price is how price creep gets through: 2% on a £14.50 case lets 29p a case through, on every case, without anyone noticing.
  • Quantity. Never pay for more than was received.

Whatever you choose, write it down and use the same rule every time, whoever is checking.

A worked example

A fictional produce supplier, Harbour Fresh Produce, delivers to The Fernhill Kitchen against order PO-0142. The chef signs the delivery note with one shortage written on it. The invoice, INV-20512, arrives the next day. All amounts are before VAT.

ItemOrderedOrder priceReceivedInvoicedInvoice priceResult
Vine tomatoes, 6kg case10£14.50810£14.502 cases billed, not received
Iceberg lettuce, case of 104£9.8044£9.80Matched
Lemons, box of 802£18.0022£18.4040p a box over the order price
Flat-leaf parsley, bunch12£0.951212£0.95Matched
Delivery charge———1£7.50Not on the order
Three-way match — Harbour Fresh Produce, INV-20512£
Invoice total239.90
Less: 2 cases of tomatoes billed, not received(29.00)
Less: lemons at £18.40 a box, ordered at £18.00 (2 boxes)(0.80)
Less: delivery charge, not on the order(7.50)
Agrees with the order and the delivery note202.60

Two lines match. Three need an answer: a credit note for the tomatoes, a question about the lemon price, and a decision on the delivery charge.

A two-way match — order against invoice — would have passed the tomatoes. Only the signed delivery note shows they never arrived.

Three-way matching in Xero

Xero has purchase orders. You can raise one, send it to the supplier, and copy it to a bill when the invoice comes in, so the lines and prices carry across. That is a two-way match, and only if someone remembers to start from the order.

Xero does not record what was received, so there is no goods received note to match against, and it does not check an invoice from your inbox against an open order by itself. To do three-way matching with Xero, either do the goods-received check by hand — the signed delivery note ticked against the bill before anyone approves it — or use an add-on that does it.

Where three-way matching breaks in a kitchen

The textbook process assumes an office: one order, one delivery, one invoice, and a buyer with a purchasing system. A restaurant does not work like that.

  • Orders go by phone, on the supplier's website or in a message to the rep, so there is often no order reference for the invoice to quote.
  • The delivery note and the invoice are often the same piece of paper, handed over by the driver and signed by whoever is free.
  • Deliveries and invoices do not line up with orders. Two orders in a week can arrive as three deliveries and be billed on one invoice, so matching one order to one invoice fails even when nothing is wrong.
  • Prices change weekly on fresh produce and fish, so the price on the order is out of date unless someone updates it.
  • The paper stays on site. The signed delivery note is in a drawer in the kitchen and the invoice is in the finance inbox. The two rarely meet before the bill is paid.

The fix for the third one is to stop matching each order to each invoice and match against everything still open with that supplier instead. If a fortnight of orders is one pool, an invoice can draw from any of them, and nobody has to remember which order a case of tomatoes belonged to.

Doing it faster

FINIO checks the same three things, built around how a kitchen actually works:

  • The order. Orders are recorded from each supplier's catalogue, so the agreed price and the nominal code are already on every item.
  • The delivery. Whoever takes the delivery photographs the paperwork, as they do now. FINIO matches it against everything still open with that supplier — price exact, quantity exact — and flags anything nobody ordered, delivery charges included.
  • The invoice. When the supplier's invoice reaches finance, FINIO pairs it with the site's copy and checks the invoice number, the date, and the net, VAT and gross amounts to within 5p each. Anything that disagrees goes to finance, with the line that differs named.

Matched lines code themselves, because each catalogue item already knows its account and department. A mismatch does not stop the site's copy: it carries on to be coded, with the failing lines named and finance told straight away. See purchase orders and pool matching and two-sided matching.

Questions

What are the three documents in a three-way match?

The purchase order, which records what you agreed to buy and at what price; the goods received note or signed delivery note, which records what arrived; and the supplier's invoice, which records what you are being charged.

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

Two-way matching compares the purchase order with the invoice. Three-way matching also compares the goods received note, so it catches short deliveries as well as price differences.

What happens when an invoice fails three-way matching?

The failing lines are held while someone finds out why — usually a short delivery, a price change or an item nobody ordered. The answer is normally a credit note from the supplier, a corrected invoice, or someone approving the difference.

Does Xero do three-way matching?

Not by itself. Xero has purchase orders and can copy an order to a bill, which is a two-way match, but it does not record goods received, so the delivery check has to be done by hand or with an add-on.

What tolerance should you use for three-way matching?

A few pence on totals and VAT, to absorb rounding, and none on unit price or on quantity above what was received. Percentage tolerances on price let small, repeated overcharges through.

← All posts