Guide

The matching guide

2-way and 3-way matching explained, with every check and the one rule that cannot be switched off.

A product tour of InvoiceIQ by Analytos: Accounts Payable and Accounts Receivable on one platform.

What invoice matching is

Matching is the accounts-payable control that decides whether an invoice is safe to pay. Three documents are involved, and they come from three different actors — which is what makes the control strong: the purchase order (written by the buyer), the goods receipt (written by the warehouse), and the invoice (written by the supplier). Fraud or error has to corrupt all three at once to slip through.

On the receivables side the same control runs from the seller’s chair: the sales order (what the customer agreed to buy), the item fulfilment (what actually left), and the customer invoice (what you are about to bill).

2-way matching

Invoice against purchase order. Checks that prices, quantities and total agree with what was ordered, within tolerance. The goods receipt is not checked.

  • Use it for services, subscriptions, utilities and blanket orders — anything nobody receives into a warehouse.
  • Residual risk: paying for goods that never arrived.

3-way matching

Invoice against purchase order against goods receipt. Everything 2-way checks, plus: the goods must actually have been received, and the billed quantity may not exceed the received quantity.

  • Use it for physical goods — the gold standard.
  • The strongest implementation does not just check the receipt; it composes the bill from the receipt, consuming its lines. Over-billing then becomes structurally impossible rather than merely detected. That is how InvoiceIQ does it.

The complete check catalogue

What a 3-way match verifies, leg by leg. In InvoiceIQ every check has a verdict, a plain-English reason, its own tolerance and its own severity — block, review or warn — and only an enabled check that failed can change the outcome. A switched-off check still appears on the report, because a reviewer should see what was not judged.

Leg 1 — Invoice against order

#CheckDetail
1The order existsThe extracted, normalised PO number resolves to a real order in the ERP.
2The reference is plausibleIR/INV/VEN/SO-style codes are rejected before lookup — a format gate.
3Vendor identityThe invoice’s vendor is the order’s vendor.
4Price agreementInvoice line rate against order line rate, within tolerance; variances flagged.
5Line identityInvoice lines paired to order lines on description, quantity, rate and part number.
6The order is billableApproval-blocked or rejected orders stop; linked prepayments route for clearance first.
7Not already fully billedA fully billed or closed order raises a duplicate warning, never a second bill.

Leg 2 — Invoice against goods movement (3-way only)

#CheckDetail
8Goods were receivedThere is a receipt against the order for the lines being billed.
9Quantity within what arrivedBilled quantity may not exceed received quantity, line by line.

Always on

CheckDetail
The golden ruleThe composed bill must equal the invoice. Enforced one final time after the ERP has the bill; if it fails, the bill is deleted and the post refused. It cannot be switched off — not by policy, not by editing the database.
The duplicate guardRuns on the report and again at posting on a normalised invoice number, so “VS-4410” and “vs 4410” are the same document.
Your own rulesConditions written in plain English over the invoice, the order, the vendor and the bills already posted — backtested against your history before they can block anything.

Three policies, one setting

Which policy applies is decided by a ladder: the choice made at posting time, then the vendor default, then the company default, then the system default of 3-way. An invalid request falls through to the next rung rather than bypassing the control.

  • 3-way — both legs on. For physical goods.
  • 2-way — the goods-movement leg is off. Receipts are not consulted at all, nothing is drawn down, and the bill is raised from the order.
  • Non-PO — the order and receipt legs are marked not applicable, rather than merely off. The duplicate guard, the golden rule and your own rules still run.

Tax and freight

Tax and freight are not goods. They belong on a different sublist, must not count against a received-goods ceiling, and are easy to code wrong quietly. Placement rules decide which sublist a charge lands on, and they are exercised against every charge shape the composer can produce before they can activate.

The Match Report

Every attempt produces a report: each check with its verdict and reason, the policy used and who chose it. It is previewable before posting, stored permanently, and written onto the posted bill in the ERP so both systems tell the same story. When the ERP refuses a posting, the raw error is translated into AP guidance — duplicate reference, inactive item with the path to fix it, closed period, subsidiary mismatch.

4-way matching, for completeness

3-way plus inspection or quality acceptance — pharmaceutical and aerospace territory. Not something InvoiceIQ ships today; the configurable-check model accommodates it as one more check row.

Want to see it rather than read about it?

A walkthrough takes an hour and starts with your own documents.