Procapy
Sunday, October 4, 2026

What is 3-way matching? How to stop paying invoices you shouldn’t

Procapy Team

An invoice arrives from a supplier for 120 cartons of packaging at Rp 48,000 each. Your purchase order was for 100 cartons at Rp 45,000. The warehouse signed for 95, because five arrived damaged and were sent back. Everything on the invoice looks official. The only question is whether anyone notices before the payment goes out.

3-way matching is the control that catches this. Before an invoice is approved for payment, it is compared with two other documents: the purchase order that says what you agreed to buy, and the goods receipt that says what actually arrived. If all three agree, the invoice is paid. If they don’t, a person looks at it first.

It is one of the oldest controls in accounts payable, and one of the most often skipped. Here’s how it works, why it breaks down in practice, and how to run it without burying your AP team.

The three documents

Each document answers a different question:

  • Purchase order (PO): what did we agree to buy? The vendor, items, quantities, unit prices and terms, approved before the commitment was made.
  • Goods receipt: what did we actually receive? Recorded by the warehouse, site team or requester when goods arrive, including partial deliveries and rejected items. For services, this is the sign-off or handover document confirming the work was done.
  • Supplier invoice: what is the vendor asking us to pay? Quantities, prices, taxes and the bank account to pay into.

Each comes from a different party: procurement, operations and the vendor. That separation is the point. No single person can create a commitment, confirm it was delivered and approve the payment on their own.

How 3-way matching works, step by step

  1. Link the invoice to its PO, using the PO number on the invoice, or the vendor and items when the number is missing.
  2. Pair the lines. Each invoice line is matched to a PO line and to the quantity received against it.
  3. Compare quantity. The invoiced quantity should not be more than the quantity received.
  4. Compare price. The invoiced unit price should equal the PO price, within any agreed tolerance.
  5. Compare totals and tax. Line totals, discounts, freight and VAT should add up to the invoice total.
  6. Pass or flag. Invoices that match go straight to payment approval. Those that don’t go to an exception queue, with the reason attached.

Here’s the packaging example again, side by side:

Quantity Unit price Value
Purchase order 100 Rp 45,000 Rp 4,500,000
Goods receipt 95 Rp 45,000 Rp 4,275,000
Invoice 120 Rp 48,000 Rp 5,760,000

The right amount to pay is Rp 4,275,000: 95 cartons at the agreed price. Paying the invoice as it arrived would cost Rp 1,485,000 more, on a single invoice. A 2-way match against the PO alone would have flagged the higher price and the 20 extra cartons, but it would still have paid for five cartons that went back on the truck.

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

Matching comes in a few strengths, and most companies use more than one:

  • 2-way matching compares the invoice with the PO. It confirms you’re paying what you agreed, but not that you received it. It’s common for services, utilities and subscriptions.
  • 3-way matching adds the goods receipt. It’s the standard for physical goods and the control most auditors expect to see.
  • 4-way matching adds an inspection or quality-check record, so you only pay for goods that were received and accepted. It’s common in manufacturing, pharmaceuticals and food, where receiving goods and accepting their quality are separate steps.

A typical setup is 3-way for goods, 2-way for services, and a clear rule for invoices that have no PO at all, so they are checked against an approved request and budget instead of being waved through.

Why 3-way matching breaks down

The principle is simple. Running it by hand, at volume, is not.

  • The goods receipt never gets recorded. The warehouse signs the delivery note, but nobody enters it into the system, so AP has nothing to match against and either waits or pays anyway.
  • Partial deliveries and split invoices. One PO, three deliveries, two invoices. Matching them by hand means tracking what has already been received and billed, line by line, in a spreadsheet.
  • Line descriptions don’t line up. The PO says “Corrugated box 40x30”, the invoice says “KTN-4030 BRN”. Someone has to decide they’re the same thing.
  • Prices changed after the PO was raised. The vendor increased prices, procurement agreed by email, and the PO was never updated. Now every invoice fails the price check.
  • Invoices arrive through every channel. Email attachments, WhatsApp photos, paper in the mailroom. Before matching can even start, someone has to type them in.
  • Exceptions have no owner. A mismatch lands with AP, AP emails procurement, procurement asks the warehouse, and the invoice sits until the vendor calls to ask about payment.

When the exception queue grows long enough, teams start approving invoices just to clear it. That’s the moment the control quietly stops being a control.

What it costs when matching fails

  • Overpayments: paying for quantities that never arrived, or at prices nobody agreed to.
  • Duplicate payments: the same invoice paid twice because it came by email and by post, or was resubmitted with a new number.
  • Fictitious or altered invoices: without a PO and a receipt behind every payment, a convincing invoice is all a fraudster needs.
  • Late fees and lost discounts: invoices stuck in exceptions miss their due dates, and any early-payment discount with them.
  • A harder audit: auditors test whether payments are backed by an order and evidence of receipt. Missing receipts mean more samples, more questions and more time.

Matching and tax in Indonesia

For companies in Indonesia, the supplier invoice usually comes with a second document: the faktur pajak, the VAT invoice issued by the vendor. You can only credit the input VAT (PPN masukan) on it if it is complete and correct, so it’s worth checking it in the same step as the invoice:

  • The vendor name and NPWP on the faktur pajak match the vendor on the PO.
  • The tax base (DPP) and VAT agree with the invoice you’re actually going to pay, not the original over-billed one.
  • It refers to the same transaction, not an earlier or later delivery.

If an invoice has to be corrected after a mismatch, the faktur pajak usually needs correcting too, typically with a replacement from the vendor (faktur pajak pengganti). That conversation is far easier before payment than after month-end.

For services, remember that withholding tax such as PPh 23 is often deducted from the payment. The amount you transfer won’t equal the invoice total even when everything matches, so your matching rules should expect that difference rather than flag it.

Tolerances: matching without drowning in exceptions

Exact matching sounds rigorous, but in practice it fails invoices over rounding, goods sold by weight and small freight charges. A tolerance tells the system how much difference is acceptable before a person needs to look.

Common tolerance rules:

  • Price: within 1 or 2% of the PO unit price, or a fixed amount per line.
  • Quantity: never more than was received, with a small allowance for goods sold by weight or volume.
  • Total: small absolute differences, for example under Rp 10,000, accepted to absorb rounding.

Set tolerances by vendor, category or amount rather than one rule for everything, and review them every quarter. A tolerance that’s too loose becomes a quiet leak. One that’s too tight just sends the work back to AP.

Signs your matching process is leaking money

You probably need to look at your matching process if any of these sound familiar:

  • AP pays invoices before the goods receipt is recorded, “because this vendor is reliable”.
  • Nobody can say how many invoices are waiting in exceptions right now, or for how long.
  • Price differences are approved by email, and the PO is never updated.
  • The same vendor exists twice in your system, under slightly different names.
  • You found a duplicate payment in the past year, and you found it by accident.
  • Vendors regularly call to ask when they will be paid.

3-way matching isn’t about distrusting your vendors. It’s about making sure the only invoices that need a person are the ones that actually do.

How to tighten 3-way matching this quarter

  1. Make receipts mandatory. No goods receipt, no payment, for every invoice backed by a PO. Make recording it easy for the people who actually receive the goods.
  2. Write a tolerance policy. Set price, quantity and total tolerances, and decide who can approve a difference beyond them.
  3. Give every exception an owner and a deadline. Price issues go to procurement, quantity issues go to whoever received the goods, with a target time so nothing sits for weeks.
  4. Clean up your vendor master. Merge duplicate vendors, verify bank accounts and control who can change them.
  5. Measure your first-time match rate. Track the share of invoices that match without a person touching them. It’s the single best sign of whether everything upstream is working.

How Procapy helps

Proca to Pay runs the whole procure-to-pay flow in one place, so the three documents are connected from the start instead of matched after the fact. Approved requests become purchase orders with no re-entry, and goods and service receipts are recorded against PO lines by the people who receive them.

When an invoice arrives, as a PDF, photo, e-invoice or scanned paper, ProcAI reads every field in seconds and links it to its purchase order. Procapy then compares invoice, PO and receipt line by line using the tolerances you define, flags duplicate invoices, altered details and changed bank accounts, and sends only the exceptions to a person. Cleared invoices go into a payment run that is posted to Dynamics, SAP, Xero, QuickBooks or ABSS with the full audit trail attached.

Most teams are live in under two weeks. If your AP team still matches invoices against spreadsheets, book a walkthrough and we’ll run a few of your real invoices through the flow together.