For accounts payable & finance ops

Don't pay for goodsyou didn't receive.

Match every invoice line against the purchase order and the goods receipt before you pay — and get a clear APPROVE, HOLD, or BLOCK PAYMENT. A deterministic AP control that stops the over-bill the invoice hides.

Get the System — $79one-time · instant download · yours to keep
Five deliverables · runnable
3-way match engine (Python, 0 deps)
runnable
Match Worksheet workbook
.xlsx
AP 3-Way Match Operating Guide
.docx
Match-Rules & Tolerance Guide
.docx
Worked AP run sample
.json
Works alongside
Document Field Validator · Finance Automation Kit
01.The Problem

The over-bill is invisible on the invoice — and visible only across all three documents.

Billed for 200, got 150

The invoice is formatted perfectly, the PO number is right, the math ties — and you received fifty fewer than you're paying for.

An invoice with no PO

A bill arrives for spend nobody authorized. Without a match, it slides into the run and gets paid.

“Looks right” gets paid

Manual AP review reads the invoice in isolation. The error is only visible when all three documents are compared.

02.See It Work

Match an AP run and watch the gate block the invoice that bills more than was received.

Match an AP run · live · deterministic
as of 2026-06-22

INV-5003 · Label Works LLC

BLOCK PAYMENT · 86%
PO-102·1 Label rollsinv 200 @ 3.5 · PO 200 @ 3.5 · recv 150
PO present Receipt present Qty not over received ·block Qty not over PO Price within tolerance Price matches PO Extension ties

A payment-blocking check failed, so this invoice is BLOCK PAYMENT regardless of its 86% match — you don't pay for goods you didn't receive or didn't authorize, however clean the rest of the invoice looks.

AP run verdict
PAYMENTS BLOCKED

2 approve · 1 hold · 2 blocked. One blocked invoice holds the run.

Avg match
77%
context only — the gate decides

AP run (payments blocked): Two clean, one soft price-variance HOLD, two blocked — one over-bill, one with no PO. The run is blocked.

Every check is a fixed comparison across your own PO, invoice, and receipt — no model, no guess. The workbook and the Python engine produce these exact verdicts.

03.The Engine, Run

The same verdicts from the Python engine — every check, every invoice.

======================================================================
  INVOICE-PO-RECEIPT 3-WAY MATCH  ·  as of 2026-06-22
======================================================================
  INVOICE       VENDOR                 MATCH   VERDICT        FAILED CHECKS
----------------------------------------------------------------------
  INV-5001      Northwind Supply Co     100%   APPROVE        —
  INV-5002      Crate & Co               86%   HOLD           price_within_soft
  INV-5003      Label Works LLC          86%   BLOCK PAYMENT  qty_not_over_received  [BLOCK]
  INV-5004      Ghost Vendor Inc         14%   BLOCK PAYMENT  po_present, price_within_block, qty_not_over_received, receipt_present, price_within_soft, qty_not_over_po  [BLOCK]
  INV-5005      Wrap Supply             100%   APPROVE        —
----------------------------------------------------------------------
  APPROVE 2   HOLD 1   BLOCK PAYMENT 2
----------------------------------------------------------------------
  AP RUN: PAYMENTS BLOCKED
======================================================================
  Matches your own PO, invoice & receipt. Not accounting or legal advice.
======================================================================

INV-5003 matches 86% — right PO, right price, math ties — but bills 200 label rolls against a 150-unit receipt. That one over-bill forces BLOCK PAYMENT, and one blocked invoice holds the run. The match score is context; the gate decides.

04.The Standard

Three operating principles, enforced in the match.

Deterministic, not a model

Every check is a fixed comparison across the PO, invoice, and receipt. The same run always produces the same verdict — auditable and repeatable.

Over-bill or no-PO blocks payment

Any line that bills more than was received, references no PO, or is overcharged forces BLOCK PAYMENT regardless of the match score.

Tolerances are yours to set

Price block, price soft, quantity, and extension tolerances let you separate a real exposure from normal rounding noise.

05.What It Is — And Isn't

The general-AP three-way match — not a manufacturing receiving check, not a close.

It is
  • A deterministic match of invoice vs PO vs receipt — same run, same verdict.
  • A general AP control for any business paying vendors, services included.
  • Tunable — set price, quantity, and extension tolerances to your risk.
  • Transparent — engine, workbook, and demo all produce the same result.
It isn't
  • The manufacturing receiving-and-quality match (that's the Manufacturing Ops Pack).
  • A month-end numeric close (that's the Finance & Reporting Automation Kit).
  • A people-scoring tool — it matches documents, not individuals.
  • An ERP or a payment processor — it gates the pay decision; you pay.

Scope: The Invoice-PO-Receipt 3-Way Match compares your own PO, invoice, and receipt against rules and tolerances you set and returns a business-judgment payment verdict. It does not score or rank people, and it is not accounting or legal advice.

06.Who It's For

Anyone approving vendor invoices who can't afford to pay for what didn't arrive.

Built for
  • AP teams and bookkeepers approving vendor invoices.
  • Owner-operators who pay their own bills and want a check.
  • Finance ops standardizing a match before payment.
  • Builders who want a deterministic AP gate in a pipeline.
Not for
  • Manufacturing receiving + quality inspection (that's the Ops Pack).
  • Reconciling the month-end close (that's the Finance Kit).
  • Scoring or ranking people — it matches documents only.
08.Common Questions

Straight answers on how it matches and what it blocks.

It matches every invoice line against the purchase order (what you authorized) and the goods receipt (what you actually received), keyed on PO number + line number, and runs seven fixed checks: PO present, receipt present, quantity not over received, quantity not over PO, price within block tolerance, price within soft tolerance, and the extension ties (qty × unit price = line total). Each line gets a result and each invoice a verdict — APPROVE, HOLD, or BLOCK PAYMENT. Every check is a deterministic comparison across your own three documents; no model, no judgment call.

Start here

New to the document-ops line? Run the Document Processing Pipeline Diagnostic first — it scores your workflow across six stages and routes you to the exact drop that fixes your bottleneck.

Match it.
Then pay it.

One purchase, lifetime access, 12 months of updates. $79, once.

Scope: matches your own PO, invoice & receipt; does not score or rank people; not accounting or legal advice.

Sold by RedHub AI LLC · Secured by Stripe · redhub.ai