What Is 3-Way Matching? Invoice, PO, and Receipt, Explained

RedHub AI Editorialupdated October 5, 20265 min read

A delivery trolley with gaps in its stacked boxes lit red, the buyer at his desk beside it with three blank sheets.
Jump to a section6

3-way matching is an accounts-payable control that checks each invoice against two other documents before you pay it: the purchase order, which says what you agreed to buy, and the receiving record, which says what actually arrived. When all three agree on the item, the quantity and the price, the invoice is cleared to pay. When they disagree, it waits for a person. The control stops you paying for goods you never ordered or never got. It is weaker at one thing people assume it handles, the duplicate bill, and that gap is worth knowing before you lean on it.

TL;DR: 3-way matching compares the invoice, the purchase order and the receiving record before payment. It catches a price above the PO, a quantity billed above what arrived, a bill with no PO and a bill with no receipt. On its own it does not catch a second copy of an invoice you already paid. A person decides every exception and approves the payment run. The Invoice-PO-Receipt 3-Way Match ($79) runs the check and returns APPROVE, HOLD or BLOCK PAYMENT per invoice. General information, not accounting or financial advice.

The three documents

Each document answers a different question:

  • The purchase order (PO): what you agreed to buy, meaning the items, quantities and prices someone approved in advance.
  • The receiving record (goods receipt): what actually arrived, and how many.
  • The invoice: what the vendor is asking you to pay.

Lines are paired across the three by PO number and line number. Take a PO for 200 label rolls at $3.50. The warehouse logs 150 on the receipt. The invoice bills 200 at $3.50, a clean $700.00. Read alone, that invoice looks perfect. Only the receipt shows you are being asked to pay for 50 rolls that never came.

What a mismatch tells you

  1. Price above the PO. The vendor billed more per unit than you agreed. Caught before you overpay.
  2. Quantity above the receipt. Billed for 200, received 150. Caught before you pay for goods you did not get.
  3. No purchase order. A bill for spend nobody authorized, such as a $2,500 consulting fee against a PO number that does not exist.
  4. No receipt. A bill for something that never showed up, or has not been logged yet.
Where it goes blind: a second copy of an invoice you already paid points at the same PO and the same receipt, so it matches as cleanly as the first copy did. Matching catches the repeat only if it knows how much of that receipt has already been billed. Otherwise you need a separate duplicate check on vendor, invoice number and amount. Our post on preventing duplicate payments covers both fixes.

Where it sits in accounts payable

Matching is one gate in a longer process, and it is easy to ask it to do jobs that belong elsewhere. It does not read the invoice for you. Somebody or something has to pull the vendor, PO number, quantities and prices off a PDF first, and our guide to invoice data extraction covers that step. A match built on a misread field is confidently wrong, so extraction needs its own checks.

It also does not close your books. Once payments go out, the month-end close is a separate job. Matching sits between "invoice received" and "invoice paid," and its whole value is the invoice it stops. A match that flags exceptions nobody works is a report, not a control.

By hand or automated

With a handful of invoices a month, one careful person with three documents side by side does 3-way matching well. Volume is what breaks it. Comparing a few dozen invoices line by line every week is slow, and a slow, repetitive check is exactly where a price creep slips past. Software flips the ratio: it compares every line and shows you only the invoices that fail. The comparison is plain arithmetic, so it does not need AI. Where AI helps is reading messy documents, and that comes with its own risks.

The rest of this guide covers how to do a 3-way match step by step, how 2-way, 3-way and 4-way matching differ, where AI helps and where a human must sign off, and how to prevent duplicate payments.

Check every line before the payment run

The Invoice-PO-Receipt 3-Way Match runs seven fixed checks on each invoice line against its PO and receipt and returns APPROVE, HOLD or BLOCK PAYMENT. One line that bills more than was received blocks the invoice, whatever its match score. A repeat inside one run, the same vendor and invoice number twice or the same vendor, total and PO under two numbers, reads HOLD; invoices paid in earlier runs are not checked. A runnable Python engine and a workbook give the same verdicts. It moves no money; you pay in your own system.

Get the Invoice-PO-Receipt 3-Way Match — $79

Pairs well with

The AI Document Extraction Kit ($99) turns invoices into structured fields and flags the ones it is unsure of instead of guessing. The Document Field Validator ($79) then checks those fields by rule, such as subtotal plus tax equals total, before they reach the match. After the payment run, the Finance & Reporting Automation Kit ($129) closes the month on a workbook that checks its own tie-outs.

More in this guide

What is 3-way matching in accounts payable?

It is a control that compares three documents before an invoice is paid: the purchase order (what you agreed to buy), the receiving record (what arrived) and the invoice (what you are billed). If all three agree on item, quantity and price, the invoice clears. If not, it is held for review.

What does 3-way matching catch?

A unit price above the PO, a quantity billed above what was received, an invoice with no purchase order and an invoice with no receipt. Each one is invisible on the invoice alone and shows up only when the three documents are compared.

Does 3-way matching catch duplicate invoices?

Only if it tracks how much of each receipt has already been billed. A second copy of a paid invoice points at the same PO and receipt, so a match that checks each invoice in isolation approves it again. Add a duplicate check on vendor, invoice number and amount.

What are the three documents in a 3-way match?

The purchase order, the receiving record (also called the goods receipt) and the vendor invoice. The PO says what you approved, the receipt says what showed up, and the invoice says what you are asked to pay.

Do I need software to do 3-way matching?

Not for a few invoices a month. A careful person with the three documents can do it by hand. As volume grows, manual matching gets slow and error-prone, and software that compares every line and shows only the failures saves the most time.

Is 3-way matching the same as extracting invoice data?

No. Extraction pulls the fields (vendor, PO number, amounts, line items) off the document. Matching compares those fields across the PO, receipt and invoice. An extraction error flows straight into the match, so each step needs its own check.

How it decides
Diagram of the Invoice 3-Way Match gate: seven checks rolled up to the worst, a payment-block gate, and an 86%-match invoice forced to BLOCK PAYMENT for billing 200 units against a 150-unit receipt.

The gate this post refers to, drawn from the tool’s own logic. See the tool.