Skip to main content

Invoice matching

Three-way matching: what it is and how it works, line by line

Three-way matching is the control that, before a supplier invoice is paid, checks line by line that it agrees with the purchase order on price and quantity and with the delivery note on the quantity received. If every line is within tolerance, the invoice can be paid; if any line exceeds it, the invoice is held and the difference is stated in euros.

The three documents and what each one proves

DocumentWho produces itWhat it provesWhat it contributes to the match
Purchase orderThe buying companyWhat was authorisedAgreed unit price and quantity ordered
Delivery noteThe supplier; the warehouse signs it on receiptWhat was actually deliveredQuantity received
InvoiceThe supplierWhat is being chargedInvoiced unit price and quantity

2-way, 3-way and 4-way matching compared

2-way3-way4-way
DocumentsInvoice + purchase orderInvoice + purchase order + delivery noteInvoice + purchase order + delivery note + inspection
Catches a price not agreedYesYesYes
Catches charging for goods not receivedNoYesYes
Catches paying for defective goodsNoNoYes
Typical useServices, subscriptions, rentalsGoods and materialsRaw materials and components with mandatory quality control
Cost to runLow: a purchase order is enoughMedium: every receipt must be recordedHigh: the inspection result must be recorded too

The two formulas

Matching is done per line, with unit prices before tax. Header totals are useless: they include VAT, sometimes freight and global discounts, and on a partial delivery they never equal the purchase order.

  • Price difference = (invoiced unit price − purchase order unit price) × invoiced quantity.
  • Quantity difference = (invoiced quantity − reference quantity) × purchase order unit price. The reference quantity is the one received according to the delivery note; it is valued at the purchase order price so that a price error is not counted twice.

Worked example in euros (synthetic purchase order)

Purchase order, delivery note and invoice made up to explain the calculation.

LinePOReceivedInvoicePrice diff.Qty diff.Result
M8×40 stainless bolt2,000 × 0.122,0002,000 × 0.120.000.00Matches
M8 stainless washer2,000 × 0.041,9002,000 × 0.040.00+4.00Held: 100 invoiced that did not arrive
M8 stainless nut1,000 × 0.081,0001,000 × 0.09+10.000.00Held: price 12.5% above the PO

The invoice totals EUR 410 against EUR 400 on the purchase order. Comparing totals, EUR 10 on EUR 400 (2.5%) looks like rounding; line by line there are two different problems with two different owners: the warehouse for the quantity and purchasing for the price.

Want to match purchase order, delivery note and invoice today? The three-way matching Excel template does it line by line with formulas and tolerances. Download the three-way matching template

Tolerances: when a difference is a difference

Tolerance is the maximum difference accepted on a line without holding the invoice. Two thresholds are combined: an amount threshold, which protects against large differences on expensive lines, and a percentage threshold, which protects against large relative differences on cheap lines.

In ininvoice, by default, a line is held if its difference exceeds EUR 1.50 or exceeds 2%: exceeding either threshold is enough. A difference exactly equal to the threshold is within tolerance. The organisation can change both values.

Line (synthetic)Difference% of lineOver EUR 1.50?Over 2%?Result
Cardboard pallet, EUR 1,200+1.200.1%NoNoMatches
Film reel, EUR 900+9.001.0%YesNoHeld
Labels, EUR 40+1.002.5%NoYesHeld
Sealing tape, EUR 75+1.502.0%No (equal)No (equal)Matches

GRNI: the reverse side of three-way matching

GRNI (goods received not invoiced) is the balance of delivery notes received that do not have an invoice yet. Three-way matching looks for each invoice's purchase order and delivery note; GRNI collects the delivery notes that have not found an invoice. At month end that balance is accrued. Unreviewed GRNI accumulates delivery notes that will never be invoiced (unrecorded returns, cancelled deliveries) and invoiced delivery notes left open because the invoice was posted without linking it, which lets a second invoice for the same shipment find "its" delivery note and be paid again. ininvoice flags delivery notes that have been received for days without their invoice arriving.

How ininvoice does three-way matching

ininvoice reads the invoice without templates, line by line, assigns it to the group entity by the recipient's tax ID and matches it against that entity's purchase orders and delivery notes. For each line it computes the price and quantity differences with the formulas on this page, applies the organisation's tolerance and leaves the invoice matched or held, with the difference in euros and the line that causes it. Invoices that match need nobody to review them; those that do not reach whoever has to decide.

Frequently asked questions

What is the difference between 2-way and 3-way matching?

2-way matching compares the invoice with the purchase order only (price and quantity ordered). 3-way matching adds the delivery note, so it also checks that what was invoiced was received. 2-way is enough for services; goods need 3-way.

What tolerance is reasonable in three-way matching?

A per-line tolerance combining an amount and a percentage, so that a few cents of rounding do not hold the invoice while a real difference on an expensive line does. By default ininvoice holds a line whose difference exceeds EUR 1.50 or exceeds 2%, and the organisation can change both values.

Why is comparing the invoice total with the purchase order total not enough?

Because two errors of opposite sign on two lines cancel out and the total matches. The total also includes taxes and freight that the purchase order may not have, and with partial deliveries the invoice total never equals the order total.

What is GRNI and how does it relate to three-way matching?

GRNI (goods received not invoiced) is the balance of goods received whose invoice has not yet arrived. It is the reverse of three-way matching: delivery notes that find no invoice form the GRNI, which must be accrued at close and reviewed so nothing is paid twice or left open forever.

Every invoice line, matched against its purchase order and delivery note

ininvoice matches every line against its purchase order and delivery note, with partial deliveries, grouped invoices, credit notes and rebates, and configurable tolerances (2 % or €1.50 by default). Send me 3–5 supplier invoices and, if you have them, the purchase order and delivery note for one of them.

Request a demo with your own invoices