---
name: invoice-three-way-match
description: Matches supplier invoice lines to purchase orders and goods receipts, checking supplier, item, quantity, unit price, tax treatment, duplicate invoices, and tolerance rules. Use for accounts-payable controls, invoice exception queues, and payment-readiness reviews.
license: Apache-2.0
metadata:
  adlass.categories: "finance-accounting/accounts-payable"
  adlass.industries: ""
  adlass.tags: "invoice,purchase-order,goods-receipt,three-way-match,ap,controls"
  adlass.adaptation: "reference-doc"
  adlass.source: "original"
  adlass.version: "1"
---

# Invoice three-way match

## Purpose

Determine whether each supplier invoice is supported by the corresponding purchase order and received quantity. The result makes payment-blocking exceptions explicit and keeps invoice, order, and receipt evidence together.

## Scope

Review invoice headers and lines, purchase orders, goods receipts, supplier master, tax or coding fields, credit notes, and duplicate-invoice indicators for the selected population.

**Excluded:** approving invoices, scheduling payment, editing ERP records, and deciding tax positions beyond the supplied rule.

## Data basis

- Invoice table with invoice number, supplier, date, currency, line item, quantity, unit price, tax, total, and PO reference.
- Purchase-order lines with ordered quantity, unit price, currency, delivery tolerance, and buyer.
- Goods-receipt lines with receipt number, item, received quantity, receipt date, and warehouse; duplicate and credit-note registers.

## Result

A line-level match sheet with PO quantity and price, received quantity, invoice quantity and price, variance, tolerance result, exception code, and citations, plus an AP exception summary.

## Quality criteria

- Invoice totals and line extensions reconcile before matching.
- Every matched quantity and price cites invoice, PO, and receipt rows.
- Tolerance tests use the configured absolute or percentage rule and show the calculation.
- Duplicate invoice candidates are not treated as clean matches.

## Instructions

Match supplier and PO reference before item and line matching. Compare invoice quantity with cumulative received quantity and invoice unit price with PO unit price. Apply quantity and price tolerances independently. Check currency, payment entity, duplicate number, and credit-note status before assigning pass. A missing receipt is an exception even when the PO is valid. Keep tax and freight as separate lines when the PO separates them.

## Adapt before use

- Map invoice, PO, receipt, supplier, item, quantity, price, currency, tax, and total columns.
- Add quantity and price tolerance rules and permitted freight or tax handling.
- Define duplicate criteria, exception codes, and the invoice population date range.

## Process detail

### Build the invoice population

Select invoices in scope, preserve invoice and supplier identifiers, and recalculate line and header totals.

**Data basis:** Invoice header and line tables, credit-note register, and period input.

**Result:** Invoice census with calculated subtotal, tax, freight, and total.

**Acceptance criterion:** Recalculated header total agrees with source within the stated rounding rule.

**Exception:** Flag duplicate invoice numbers and missing supplier or currency as pre-match exceptions.

### Link invoices to purchase orders

Use supplier and PO reference, then validate item codes and order status for every invoice line.

**Data basis:** Invoice PO reference, supplier master, PO header, and PO-line identifiers.

**Result:** Invoice-to-PO map with match confidence and order status.

**Acceptance criterion:** Every invoice line is linked to one PO line or labelled unmatched with a citation.

**Exception:** Do not use description similarity to override a conflicting item code.

### Reconcile received quantities

Sum receipts by PO line and compare received, invoiced, and ordered quantities.

**Data basis:** PO ordered quantity, goods-receipt item and quantity, invoice quantity, and receipt dates.

**Result:** Quantity-match result with remaining and over-invoiced units.

**Acceptance criterion:** Received quantity never exceeds the sum of source receipts and each variance is calculated explicitly.

**Exception:** Treat a missing receipt as zero received only when the receipt system's zero convention is documented.

### Check unit prices and currencies

Compare invoice unit price and currency with PO price and apply the configured price tolerance.

**Data basis:** Invoice and PO price, currency, unit of measure, and price tolerance.

**Result:** Price-match result with absolute and percentage variance.

**Acceptance criterion:** Pass status is used only when currency, unit, and price variance satisfy the tolerance.

**Exception:** Mark a unit-of-measure conversion unresolved when no conversion factor is supplied.

### Check duplicates and produce exceptions

Detect repeated invoice number, supplier-date-amount combinations, credit-note offsets, and any failed quantity, price, tax, or receipt test.

**Data basis:** Invoice census, duplicate register, credit notes, and prior match results.

**Result:** Payment-readiness sheet and AP exception summary.

**Acceptance criterion:** Every invoice has one final status and every exception names its failing rule and source rows.

**Exception:** A suspected duplicate remains blocked from pass even if its PO and receipt match.

### Document what could not be assessed

List invoices lacking PO references, receipts, unit conversions, tax rules, or readable source rows.

**Data basis:** Pre-match exceptions, match sheet, and source-quality checks.

**Result:** Open-points section with invoice number, supplier, amount, and missing evidence.

**Acceptance criterion:** Every unassessed invoice is present once and its total is included in the exception count.

**Exception:** State zero unassessed invoices only after all invoice lines are tested.

