TRAXX

Three-Way Matching

The AP control that compares PO, GRN, and supplier invoice before releasing payment — primary defense against duplicate or inflated invoices.

What is Three-Way Matching?

Three-way matching is the accounts payable control that compares three independent documents before a supplier invoice is approved for payment: the Purchase Order (what was authorised, at what price and quantity), the Goods Receipt Note (GRN) (what was actually received, verified physically at the receiving location), and the supplier Invoice (what the vendor is billing for). Payment only proceeds once all three agree, within whatever tolerance the company's policy allows.

It is the single most effective control against the two most common AP fraud and error patterns: being billed for a quantity that was never received, and being billed at a price that differs from what was actually authorised on the PO.

Why three documents, not two

Two-way matching — PO against invoice only — leaves a real hole: nothing independently confirms the goods showed up. A vendor could raise an invoice for the full PO quantity while only partially delivering, and two-way matching would clear it for payment. The GRN is the independent, physically-verified third input that closes this gap — it has to be created by someone at the receiving location who actually counted or inspected what arrived, separate from whoever raised the PO and separate from the vendor issuing the invoice.

The matching workflow

  • PO raised — item, quantity, unit price, delivery terms, agreed after a requisition is approved, often following an RFQ
  • Goods received — GRN created at the receiving location, recording actual quantity and condition against the PO
  • Invoice received from the vendor, referencing the PO number
  • System matches all three: PO price/qty vs GRN qty vs invoice price/qty
  • Within tolerance → invoice auto-approved for payment. Outside tolerance → held, routed for resolution

Common mismatch types and how they route

  • Price variance — invoice price differs from the PO price → routes to procurement, since only they can confirm whether a legitimate price revision was agreed
  • Quantity variance — invoiced quantity exceeds received quantity → routes to the receiving location to confirm the GRN, or held pending short-delivery resolution with the vendor
  • Duplicate invoice — same PO, same amount, invoice number already booked → blocked outright, the highest-value catch three-way matching makes
  • No matching PO — invoice references a PO number that doesn't exist or is already closed → held for investigation before any payment consideration

Setting tolerance without creating a bottleneck

Zero-tolerance matching sounds like the safest policy but in practice creates a flood of manual holds for freight rounding, minor unit-of-measure conversions, and currency rounding — enough noise that genuine mismatches get lost in it. Most finance teams set a small percentage or absolute-value tolerance, documented alongside approval limits in the DOA matrix, and reserve manual review for variances that actually exceed it.

How TRAXX implements Three-Way Matching

  • PO, GRN and invoice linked automatically through the same procurement record — no manual document hunting to perform a match
  • Configurable tolerance thresholds per category, with auto-approval inside tolerance and routed holds outside it
  • Duplicate invoice detection against PO number and amount before payment queueing
  • Every held invoice carries a visible reason (price, quantity, duplicate, missing PO) so resolution starts immediately instead of with re-investigation

FAQs

What are the three documents in three-way matching? +
The Purchase Order (what was ordered, at what price), the Goods Receipt Note / GRN (what was actually received, in what quantity and condition), and the supplier Invoice (what the vendor is billing for). Payment releases only when all three agree within tolerance.
What is two-way matching, and why is three-way stronger? +
Two-way matching checks only PO against invoice, skipping the GRN. That leaves a real gap: a vendor can invoice for a quantity that was never actually received, and two-way matching would approve payment anyway. Three-way matching closes that gap by requiring independent proof of physical receipt.
What tolerance is normal for price or quantity variance? +
There is no statutory tolerance — it’s a policy decision, typically expressed as a percentage (e.g. 2–5% price variance) or an absolute value, set in the DOA matrix alongside approval limits. Zero-tolerance matching sounds safer but creates so many manual holds for rounding and freight differences that most finance teams find it unworkable.
What happens when a match fails? +
The invoice is placed on hold rather than paid. Depending on the mismatch type, it routes back to procurement (wrong PO price), the receiving location (quantity dispute), or the vendor (billing error) for resolution before payment can proceed.
Does three-way matching apply to services as well as goods? +
Goods have a clean GRN equivalent — physical receipt. Services typically substitute a signed completion certificate or milestone sign-off in place of the GRN, matched against the PO and invoice the same way — sometimes called three-way matching for services or a "receipt-equivalent" match.

Related terms

Last updated: 2026-04-29

See how TRAXX handles Three-Way Matching

Schedule a 30-minute walkthrough tailored to your industry. Source-to-Retire from sourcing to disposal.