Three-way matching: how it works and who needs it
Three-way matching checks a supplier invoice against the purchase order and the goods received note before you pay it. Two-way matching drops the receipt and compares only the invoice and the purchase order.
What is the difference between two-way and three-way matching?
Two-way matching compares the invoice with the purchase order: supplier, quantity, price and total. Three-way matching adds the goods received note, so you only pay for what actually arrived.

The purchase order (PO) says what you agreed to buy and the goods received note (GRN) says what actually turned up. If all three agree on quantity, price and supplier, the invoice can be paid.
What each document proves
- Purchase order: you asked for this, at this price, from this supplier.
- Goods received note: someone counted the delivery, or confirmed the service was done, and recorded how much arrived.
- Supplier invoice: the supplier says you owe this amount.
Two-way matching (invoice against PO) catches wrong prices, unordered items and invoices for purchases nobody approved. It cannot catch a short delivery, because nothing records what arrived. Three-way matching closes that gap.
Worked example
This is an illustration with made-up numbers.
You order 100 boxes of packaging tape at £12.00 each, so the PO is £1,200.00 net. The warehouse signs for 90 boxes. The supplier invoices 100 boxes, £1,200.00 net plus £240.00 VAT.
| Check | PO | Goods received | Invoice | Result |
|---|---|---|---|---|
| Quantity | 100 | 90 | 100 | Mismatch: invoice is 10 over the receipt |
| Unit price | £12.00 | n/a | £12.00 | Match |
| Net total | £1,200.00 | £1,080.00 (90 x £12.00) | £1,200.00 | Mismatch: £120.00 over |
A two-way match passes this invoice, because it agrees with the PO. A three-way match stops it. You then either ask the supplier for a credit note for the 10 missing boxes or hold payment until they are delivered.
Tolerances
Exact matches are rare, so matching rules usually allow a tolerance: a difference small enough to approve without chasing. Typical ways to set one:
- a percentage of the line or invoice, such as 2%;
- a fixed amount, such as £5.00;
- either of the two, whichever is smaller, so large invoices stay tightly controlled.
Set separate limits for price and quantity. A few pence of rounding on a unit price is harmless. Ten missing units are not, even if the value is under your cash limit. Anything outside tolerance goes to a named person, not to whoever is free. There are no standard tolerance figures; pick limits from your own history of small differences and review them when they stop fitting.
When a small business needs it
You probably do not need formal three-way matching if:
- most spend is subscriptions, utilities, rent or professional fees, where there is no delivery to count;
- one or two people place and receive orders and already know what arrived;
- purchase volume is low enough that you notice a wrong invoice.
It starts to pay for itself when:
- people who order are not the people who receive, such as a warehouse, a site or several branches;
- you buy stock or materials in partial deliveries;
- orders are large or repeat often enough that a short delivery costs real money;
- an auditor, lender or client expects proof that purchases were authorised and received.
Between the two sits a cheaper habit: two-way matching for everything with a PO, and a quick receipt check only above a value you choose.
What Xero and QuickBooks Online do
Both support purchase orders. Neither help article describes a goods received note step or a matching tolerance, so treat the receipt check as manual.
Xero. Xero Central lets you create a bill from an approved purchase order and edit the quantity to what you received. The bill lands in the Draft tab with the PO number in its Reference field. Xero does not compare the supplier's invoice to the PO for you; you do that when you check the draft. The steps are in Xero purchase orders.
QuickBooks Online. Per Intuit's help, purchase orders are available on QuickBooks Online Plus and Advanced. From + Create, choose Bill, pick the vendor, and select Add next to an open purchase order. Adjust quantities for a partial delivery. QuickBooks closes the purchase order once all quantities are billed. That page is the US edition, so check the UK help and your plan before relying on it.
In both, the practical version of three-way matching is to bill from the PO, set the quantity to the goods received, and compare the supplier's invoice with that draft.
Where Datamolino fits
Datamolino prepares the invoice side of the match. Invoice automation captures the purchase order number printed on the invoice as its own field, along with supplier, dates, totals and line items, and flags duplicate invoices. Invoice approvals then route each invoice to the right person by supplier, amount or currency, so the person who knows the order and the delivery checks it before it is approved. Checked invoices export to Xero, QuickBooks Online or FreeAgent, where you compare them with the PO as shown above.
Do Xero and QuickBooks Online do three-way matching?
Not as an automatic check. Both let you create purchase orders and turn them into bills, and you can edit quantities to what you received, but the help articles describe no goods received note or tolerance setting. The receipt check stays a manual step.

