James DarbyJames Darby
July 24, 2026
Last reviewed July 24, 2026
9 min read
Accounts Payable

Three-Way Match: How It Works (2-Way vs 3-Way)

Three-way match compares the PO, goods receipt, and invoice before payment. See how 2-way, 3-way, and 4-way matching work, with tolerances and real ERP setup.

Three-way match is the accounts payable control that checks the purchase order, the goods receipt, and the supplier invoice against each other before a single dollar is paid. All three documents have to agree on what was ordered, what arrived, and what is being billed. When they line up within tolerance, the invoice clears and payment goes out. When they do not, the invoice is blocked until someone resolves the difference.

This is the control that stops you paying for 120 cases when 100 arrived, or paying $14 a unit when the PO said $12. Without it, duplicate invoices, price creep, and invoice fraud slip straight through to payment.

This guide covers how the match works, the difference between 2-way, 3-way, and 4-way matching, how tolerances and blocking behave, and how the major ERPs actually implement it.

How the Three-Way Match Works

The three-way match reconciles three source documents: the PO says what you ordered, the goods receipt says what arrived, and the invoice says what you are billed. Each is one leg of the match. The system compares quantity and price across all three and only releases the invoice when they agree.

Here is the flow in the procure-to-pay process:

  1. Purchase order. Procurement issues the EDI 850 purchase order: 100 cases at $12.
  2. Goods receipt. Receiving logs what physically arrives against the PO. The dock confirms 100 cases. A supplier often sends an EDI 856 ship notice ahead of the delivery, and some trading partners return an EDI 861 receiving advice to report what was accepted.
  3. Supplier invoice. The supplier bills you with an EDI 810 invoice: 100 cases at $12, referencing the PO number.

The three agree, so the payable posts. The next section walks through what happens when they do not.

A Worked Three-Way Match

Put real numbers on the three legs and the control becomes obvious. Say the PO ordered 100 cases at $12.00, the dock received 90, and the invoice bills 100 cases at $14.00:

LegDocumentQuantityUnit priceLine total
OrderedPurchase order100 cases$12.00$1,200.00
ReceivedGoods receipt90 casesn/an/a
BilledInvoice100 cases$14.00$1,400.00

Two legs fail here:

CheckVarianceWhat a tolerance rule does
Quantity: invoice vs receipt10 cases billed but never receivedFar outside any sane quantity tolerance; invoice blocked until the shortage is resolved or a corrected invoice arrives
Price: invoice vs PO$2.00 per case over the PO price, about 17%A typical 2% price tolerance passes rounding pennies, not $2.00 a case; blocked pending a credit or a confirmed price change

If the invoice had instead billed 90 cases at $12.02, both variances would land inside normal tolerances and the invoice would clear without a human touching it. That is the entire design: block the $200 problems, wave through the 2-cent ones.

2-Way vs 3-Way vs 4-Way Match

The number in front of "way" counts how many documents get compared. Which one you use depends on whether goods physically change hands and how tight your controls need to be.

Match typeDocuments comparedWhen it is used
Two-way matchPO and invoiceServices or anything with no goods receipt
Three-way matchPO, goods receipt, and invoicePhysical goods, the standard control
Four-way matchPO, goods receipt, invoice, and inspectionRegulated or high-value goods needing acceptance

Two-way match compares the PO to the invoice only. It fits services, subscriptions, and consulting, where there is nothing to receive on a dock. There is no receipt leg, so the control is weaker, but for a monthly retainer there is nothing to physically count.

Three-way match adds the goods receipt. This is the default for physical goods because it proves the items actually arrived before you pay for them. It is the single most common AP control in mid-market and enterprise procurement.

Four-way match adds an inspection or acceptance step. Before the invoice clears, quality has to sign off that the goods passed inspection. You see this in pharmaceuticals, aerospace, and other regulated categories where receiving the box is not the same as accepting the contents.

Tolerances and What Happens When It Fails

Tolerances let small, expected variances pass without a human, while real discrepancies get blocked. No supplier bills to the exact penny every time. Freight rounding, minor quantity differences, and unit-price fractions are normal. A tolerance is the band within which the system accepts the mismatch and pays anyway.

Set a price tolerance of, say, 2% and a quantity tolerance of one unit, and an invoice that lands inside those bands clears automatically. Anything outside gets held.

When the match succeeds within tolerance, the system clears the GR/IR account, the goods-receipt/invoice-receipt clearing account that temporarily holds the value between receiving the goods and receiving the invoice, and posts the payable. When it fails, the invoice is blocked for review. AP investigates, gets a corrected invoice or a credit, and only then releases payment. That block is the whole point. It is what prevents overpayment and catches invoice fraud before cash leaves the building.

How the Major ERPs Implement It

The concept is universal. The setup screens differ by system.

  • SAP. Invoice matching runs through Logistics Invoice Verification in transaction MIRO. Tolerance keys are configured in transaction OMR6, and the GR/IR clearing account absorbs the timing difference between goods receipt and invoice receipt (SAP Logistics Invoice Verification help).
  • NetSuite. The "3 Way Match Vendor Bill Approval Workflow" requires the Advanced Receiving feature, which makes the item receipt a separate leg. The flow becomes PO, then item receipt, then vendor bill, then payment (NetSuite three-way match help on docs.oracle.com).
  • Microsoft Dynamics 365 Finance and Operations. Price and quantity tolerances live under Accounts payable invoice matching setup, where you define matching policies per item or vendor (Microsoft Learn invoice matching).
  • Sage X3. Tolerance codes are maintained in the GESMAT setup, controlling how much variance the system accepts before blocking a supplier invoice (see Sage X3's matching-tolerance documentation at online-help.sagex3.com).

Whatever the system, the pattern holds: define your tolerances, run the match at invoice entry, auto-clear what fits, block what does not. Connecting receiving, invoicing, and your ledger through ERP integration is what lets the match run the moment the invoice arrives instead of at month-end.

Why It Matters and How Automation Helps

The three-way match is your first line of defense against paying too much. It catches duplicate invoices, quantities you never received, and prices that crept above the PO. It is also a core anti-fraud control, because a fabricated invoice with no matching receipt has nowhere to hide.

Run manually, the match is slow and error-prone. Someone pulls the PO, hunts for the packing slip, eyeballs the invoice, and keys the result. High volume turns that into a backlog, and rushed reviewers wave through mismatches to clear the queue.

Automated matching flips it. The system compares all three documents at invoice entry, clears everything inside tolerance, and routes only the true exceptions to a person. For suppliers who send PDF invoices instead of an 810, AI-powered order automation extracts the line items so they can be matched against the PO without rekeying.

If you exchange EDI, validate the 810 and 856 files against the spec with our free EDI Inspector before they hit your matching engine, so a malformed segment does not masquerade as a mismatch. Clean documents in means fewer false blocks and faster payment on the invoices that are genuinely correct.

Frequently Asked Questions

What is a three-way match in accounts payable?

It is the pre-payment control that reconciles three documents: the purchase order (what you agreed to buy), the goods receipt (what arrived on the dock), and the supplier invoice (what you are being billed). The comparison runs on quantity and price at the line level, not just invoice totals. Most ERPs run it automatically at invoice entry and block anything that falls outside tolerance.

What is the difference between a 2-way and 3-way match?

A two-way match compares only the purchase order and the invoice, used for services or anything with no physical goods receipt. A three-way match adds the goods receipt as a third document, proving the items actually arrived before payment. Three-way is the standard control for physical goods.

What is a 4-way match?

A four-way match adds an inspection or acceptance step to the three-way match. Before the invoice clears, quality has to confirm the goods passed inspection. It compares the PO, goods receipt, invoice, and inspection record. It is used in regulated or high-value categories like pharmaceuticals and aerospace.

What happens when a three-way match fails?

The system blocks the invoice and holds payment. Accounts payable investigates the discrepancy, whether it is a quantity difference, a price gap, or a missing receipt, and gets a corrected invoice or a credit from the supplier. Payment is released only after the mismatch is resolved or falls back within tolerance.

What is the GR/IR account in three-way matching?

GR/IR stands for goods-receipt/invoice-receipt. It is a clearing account that holds the value of received goods between the moment they are received and the moment the invoice posts. When the three-way match succeeds within tolerance, the system clears the GR/IR account and posts the payable to accounts payable.

James Darby

Stop manually entering orders

OrderSync turns EDI, email, PDF, and fax orders into structured data automatically. See how it works for your business.

More from the Blog

Related Resources