Three-Way Matching

Three-way matching compares purchase order, goods receipt, and supplier invoice before payment. How it works, what a mismatch means, and tolerance rules.

Three-Way Matching

Three-way matching is the control that compares a purchase order, the goods receipt, and the supplier invoice before payment is approved, so you only pay for what you actually ordered and actually received.

By Tibeau De Grauwe, FounderUpdated September 2026

  • 25 products free
  • No credit card
  • 10-min setup

The three documents being matched

The purchase order records the commitment: which SKUs, how many units, at what unit price, from which supplier, due when. It is created before anything moves and is the only one of the three documents you fully control.

The goods receipt records reality: what physically came off the truck, in what quantity, in what condition, on what date. It is created at the dock and is the document most often skipped, because someone is in a hurry and the boxes obviously belong to an order that obviously exists.

The supplier invoice records the claim: what the supplier believes you owe. It arrives independently of the other two, sometimes weeks later, and is the document with the strongest incentive to be wrong in one direction.

Matching means lining up all three on the same purchase order line and confirming the quantity on the invoice does not exceed the quantity received, and the price on the invoice matches the price on the order.

What each kind of mismatch is telling you

A quantity mismatch between the receipt and the invoice usually means a short delivery that nobody flagged, a partial shipment being invoiced in full, or a receipt that was recorded against the wrong line. All three are worth chasing, and only the first is the supplier's error.

A price mismatch between the order and the invoice means either the supplier applied a list price instead of your agreed price, a surcharge was added after the order was raised, or the order itself captured a stale price. Left unchecked, price creep is the quietest way a supplier relationship gets more expensive.

A missing receipt is not a mismatch, it is a gap. Approving an invoice with no receipt behind it is paying on trust, which may be fine for a long-standing supplier and is exactly how duplicate and phantom invoices get paid everywhere else.

  • Invoice quantity greater than received quantity: short delivery or premature invoicing
  • Invoice price greater than order price: unagreed price change or a stale purchase order
  • No receipt at all: no evidence the goods arrived, so nothing to match
  • Receipt greater than order quantity: over-delivery that needs a decision, not silent acceptance

Two-way and four-way matching

Two-way matching compares only the purchase order and the invoice. It is common for services and for anything with no physical delivery, where there is no receipt to record. Applied to physical goods, it means you are checking that the bill matches what you ordered without ever confirming the goods showed up.

Four-way matching adds an inspection or quality-acceptance document, which matters when material has to pass a check before it can be used. It is the norm in regulated manufacturing and generally overkill for a distributor moving standard stock.

Making the match possible in daily operations

The control only works if receiving is captured line by line against the purchase order, not as a bulk stock adjustment after the fact. Scanning items in against the open order at the dock takes the same amount of time as writing a note and produces a receipt that can actually be matched.

Partial deliveries are the practical test. An order for 2,000 units delivered as 1,200 now and 800 later should leave the line visibly open after the first receipt, so the first invoice can be matched against 1,200 and not waved through against the full order quantity.

In StockFlow, receiving against a purchase order updates stock and leaves the ordered, received, and outstanding quantities visible on the line, so the receipt half of the match exists without anyone maintaining a parallel spreadsheet.

Trusted by small businesses

What our customers say

Super Kind! Quick replies from their support and very easy fixes, changed the dashboard a bit and customized it. Also gave me 450 items extra on the free plan just for me. Highly recommend and again great service!

Erasable Trading AU

Best customer service! Stockflow's customer support is fast and extremely helpful. They assisted me with customization of the software to improve my experience as a user.

Justin M.

Co-Owner, Consumer Goods

Frequently asked questions

What is three-way matching?
Three-way matching is an accounts payable control that compares the purchase order, the goods receipt, and the supplier invoice before an invoice is approved for payment. All three must agree on quantity and price, within an allowed tolerance, for the invoice to pass.
What is the difference between two-way and three-way matching?
Two-way matching compares only the purchase order and the invoice, so it confirms you are being billed what you agreed but not that the goods arrived. Three-way matching adds the goods receipt, which is the only document proving delivery actually happened.
What tolerance should three-way matching allow?
Most businesses allow a small tolerance so rounding and minor freight differences do not block payment, for example a fixed small amount or a low single-digit percentage on price and a unit or two on quantity. The important part is that the tolerance is a written rule applied consistently, not a case-by-case override.
Why does three-way matching fail in practice?
Almost always because the goods receipt is missing or was recorded as a generic stock adjustment instead of against the purchase order line. With no receipt tied to the order, there is nothing to match and the process quietly falls back to comparing the invoice against the order alone.
Does three-way matching work with partial deliveries?
Yes, provided each delivery is receipted separately against the same order line. The invoice for a partial shipment is matched against the quantity received so far, and the line stays open for the remaining balance.