Skip to main content
Reporting Foundations

Supplier Invoice Matching and Review

The invoice asks for payment, but the purchase order and warehouse receipt must agree before the reviewer can release it.

Supplier invoice reviewer reportOpen supplier invoice reviewer report

Accounts Payable decision

Should this invoice enter the payment process?

The reviewer sees what the supplier billed, what the buyer approved and what the warehouse accepted. A difference becomes a named question, not an unexplained status.

2,075invoices received
2,060exact matches
13payment holds
£2,945,060held value
Supplier invoice

INV-000004

Supplier
Litware, Inc.
Line
54
Quantity
11
Unit price
£81.00
Approved purchase order

Order 4

Order line
54
Stock item
156
Quantity
11
Approved price
£75.00
Warehouse receipt

Accepted quantity

Order line
54
Receipts
Aggregated
Received
11
Accepted
11
Live values retained for INV-000004
Compared fieldSupplier invoiceApproved orderAccepted receiptResult
Quantity111111Agree
Unit price£81.00£75.00Not recordedPrice exception
Tax£178.20£178.20Not applicableAgree
£6.00 per unit · £66.00 on this lineBuyer supplied an approved price-change record

Procurement supplied an approved price-change record; the original price exception remains recoverable. The build records permission to enter a separate payment process; it does not make payment.

One controlled review route

The mismatch remains visible through every check and response.

Extraction, matching and the reviewer decision remain separate records. A passed rule or approved exception never overwrites the supplier's original value.

  1. 01
    Extraction

    Document fields reviewed

    Minimum confidence 0.9900. One low-confidence field in the full population is withheld from matching.

  2. 02
    Four-way match

    Invoice, order and accepted receipt compared

    four-way comparison records price difference under MATCH-1.0.0.

  3. 03
    Tolerance tests

    TOL-DEFAULT-GBP applied

    The retained rule register reports 0 failed fixtures, including exact, tolerance, receipt, tax, currency, unit-conversion and rule-version cases.

  4. 04
    Bank-detail control

    Changed bank details stay on hold

    INV-000011 remains with the supplier master-data approver for £23,843.

  5. 05
    Reviewer question

    Procurement receives the exact discrepancy

    Confirm whether the purchase-order price was formally changed before this invoice can proceed.

  6. 06
    Rematch and history

    Human approval retains the automatic result

    MANUALLY_ACCEPTED_EXCEPTION; 12 trace events remain inspectable and failed or errored retests released 0 invoices.

Whole review population

Every invoice is accounted for through both decision branches.

Received invoices first split into exact matches, approved tolerances or questions. Every question then ends as a continuing hold, a supplier return or a documented exception.

Invoices received2,075
Exact match2,060
Within approved tolerance0
Question or control review required15
Payment hold remains13
Returned to supplier1
Approved exception1

Why value remains held

Missing Receipt£2,846,587
Quantity Difference£42,096
Bank Detail Changed£23,843
Currency Difference£11,721
Low Confidence Extraction£7,994
Tax Difference£6,595

96.7% of held value is attached to missing warehouse receipts.

Reviewer report

The report is generated from retained DuckDB views.

This is native evidence for the contained SQL and Python build. It is deliberately not described as Power BI, Power Platform or a live Accounts Payable service.

Reviewer reportoutputs/reviewer-report/index.html
DuckDB cataloguewarehouse/supplier-invoice-review.duckdb
Reporting SQLsql/60_reporting.sql

Open reviewer questions

Each hold names the record, owner and next action.

The queue age is measured from the unanswered reviewer question to the reporting cut-off. It is not mixed with completed processing time.

InvoiceSupplierHeld valueReasonOwnerNext action
INV-002073Fabrikam, Inc.£1,956,607Missing ReceiptWarehouse receiving leadQUERY
INV-002074Litware, Inc.£889,666Missing ReceiptWarehouse receiving leadQUERY
INV-000005Northwind Electric Cars£42,096Quantity DifferenceWarehouse receiving leadQUERY
INV-000011The Phone Company£23,843Bank Detail ChangedSupplier master-data approverHOLD
INV-000007Fabrikam, Inc.£11,721Currency DifferenceAccounts Payable reviewerQUERY
INV-000012Fabrikam, Inc.£7,994Low Confidence ExtractionAccounts Payable control ownerQUERY
INV-000006The Phone Company£6,595Tax DifferenceAccounts Payable reviewerQUERY
INV-000003Graphic Design Institute£3,289Invoice Before ReceiptWarehouse receiving leadQUERY

One invoice, retained history

INV-000004 keeps the automatic result and the human decision.

The buyer's response does not erase the price difference. The independent rematch retains both records before the reviewer approves the exception.

  1. 01
    2026-07-31 12:00:00

    Supplier invoice received

    Accounts Payable retained the arrived document and checksum.

    supplier-invoices/INV-000004.json
  2. 02
    2026-07-31 12:05:00

    Fields and confidence reviewed

    Predicted document fields remain separate from the matching result and reviewer decision.

    Minimum confidence 0.9900
  3. 03
    2013-01-04 00:00:00

    Supplier identified

    The invoice supplier was matched to the retained supplier record.

    Litware, Inc.
  4. 04
    2013-01-01 00:00:00

    Purchase order identified

    The invoice references the approved purchase order and affected line.

    Order 4
  5. 05
    2013-01-04 00:00:00

    Price compared

    The supplier charged more than the approved order-line price.

    Invoice GBP 81.000000 / order GBP 75.00
  6. 06
    2013-01-02 00:00:00

    Warehouse receipts aggregated

    All receipts for the order line were combined before the quantity comparison.

    1 receipt(s), 11.00 accepted outers
  7. 07
    2013-01-04 00:00:00

    FOUR_WAY result

    The effective price tolerance was applied and the original exception was retained.

    PRICE_DIFFERENCE under MATCH-1.0.0
  8. 08
    2026-07-31 12:20:00

    Procurement question sent

    Accounts Payable sent the exact price mismatch to the procurement buyer.

    Confirm whether the purchase-order price was formally changed before this invoice can proceed.
  9. 09
    2026-07-31 13:00:00

    Approved price change supplied

    Buyer supplied the approved price-change record without replacing the original order comparison.

    approved-price-exception-PO-4
  10. 10
    2026-07-31 13:20:00

    Invoice rematched

    Independent rematch retained the price difference and attached the approved procurement exception.

    MANUALLY_ACCEPTED_EXCEPTION
  11. 11
    2026-07-31 14:00:00

    Manual exception decision

    Procurement supplied an approved price-change record; the original price exception remains recoverable.

    MANUALLY_ACCEPT_EXCEPTION
  12. 12
    2026-07-31 14:00:00

    Payment process decision

    The reviewer approved the invoice for the separate authorised process; no payment was executed by this build.

    APPROVED_FOR_AUTHORISED_PAYMENT_PROCESS

Monitoring and release boundary

The run retains failures and stops before payment.

01Supplier invoices received2,075

Every retained invoice enters one review case.

02Malformed field records quarantined1

Bad field records remain inspectable and do not disappear.

03Initial matching runs2,075

Each invoice receives one initial result under a versioned rule.

04Questions opened15

Questions name the person and record needed to resolve the mismatch.

05Independent rematches6

Retests retain failed and errored attempts as well as the accepted exception.

06Successful reviewer recovery1

The original price difference remains visible beside the approved exception.

07Failed or errored retests released0

A failed or errored retest cannot release an invoice.

08Payments executed0

The build records a review decision only; payment remains outside scope.

Retained purchasing structure8,367 purchase-order lines

Microsoft Wide World Importers purchasing records, dated 2013-01-03 to 2016-06-09.

Fixed generatorSeed 450031

2,075 invoice headers and 8,371 invoice lines rebuilt under dataset 1.0.0.

Clean verification27 analytical checks

Run status PASS with idempotency key supplier-invoice-workflow-1.0.0-450031; the verifier compares two consecutive material-output builds.

27 checks passed

8,303 workflow events retain the questions, responses, rematches and decisions checked in the clean rebuild.

The rebuild instruction, SQL, test output and repeatability hashes are retained with the technical evidence. The reporting cut-off is 2026-07-31 14:00:00 UTC.

What the evidence proves

A reproducible contained invoice review.

Built by Quanta Meridian using non-client example data. No confidential or protected data is used.

What it does not prove

Invoice, receipt, prediction and reviewer records are deterministic non-client data and do not describe the performance of a real wholesaler. The contained workflow does not prove production access control, enterprise monitoring, a live finance-system connection or operational adoption. No OCR or machine-learning service runs in this build; document-field predictions are retained test records. The build records approval for a separate authorised payment process but never executes payment. This project does not contain a Power BI report or Power Platform solution and makes no claim that either platform was used.

Bring one disputed invoice

Start with the order, receipt and decision Finance needs to make.

Discuss an invoice review

More work in Foundations

Promotional artwork for Document and Request Triage; inspect the project page for native evidence.

A multi-site service company with one shared Finance and Operations intake

Document and Request Triage

An intake analyst receives invoices, credit notes, receipts, control evidence and reporting requests. The build suggests the record type and prepares named fields, while deterministic checks hold contradictions for a person to resolve.

Decision: Should the intake analyst accept, correct, reject or reroute the prepared record before it reaches the specialist team?

Platform
Python baseline, deterministic checks and a contained reviewer screen
Data scale
6,000 generated documents across 68 template families and 900 generated test documents, verified
Maturity
The contained Python example passes 27 tests. It keeps 130 held suggestions and 31 audit events, but has not been tested on real documents or in production.
Inspect Document and Request Triage
Promotional artwork for Wholesale Sales, Margin and Stock Reporting Mart; inspect the project page for native evidence.

Wholesale distribution

Wholesale Sales, Margin and Stock Reporting Mart

A wholesale distributor needs sales, purchasing, stock and margin reports to use the same customers, products, dates and totals. The build prepares Microsoft’s Wide World Importers sample so those reports draw from the same history.

Decision: Can the May 2016 sales and stock report be released, and which sales, purchase or stock records need correction first?

Platform
Microsoft Wide World Importers with a portable DuckDB reporting mart
Data scale
228,265 invoice lines, 8,367 purchase order lines and 236,667 stock movements across 41 business months
Maturity
Built and checked locally. All 18 controls pass, and a clean rebuild produces the same outputs.
Inspect Wholesale Sales, Margin and Stock Reporting Mart

Next step

Review the records behind an invoice hold.

Start with the files, joins and checks that make the current reporting route difficult to trust or maintain.