Supply chain & procurement · case-study · Jun 2026

The procurement reconciliation was quietly guessing

A model reconciled purchase orders against invoices across a tangle of legacy ERP — fast, and occasionally wrong in ways no one could trace. Here's what an Inspector caught in Watch mode.

The workflow you already run

Three-way match is tedious: purchase order, goods receipt, invoice — reconcile, flag the mismatches, approve the rest. So a model does it, reading across an SAP instance, an older ERP from an acquisition, and a pile of supplier PDFs. Approvals speed up. The backlog shrinks. It looks like a clean win.

The risk you can't yet see

But the systems don't agree with each other. One ERP stores amounts in local currency, another in USD; units differ; a supplier's bank details sit in the invoice free-text. The model does its best across that mess — and "its best" sometimes means a confident match that's quietly wrong, or a supplier's account number travelling to the model with everything else. When finance asks which reconciliations are trustworthy and whether any account data left the tenant, there's no trail to answer with.

What an Inspector caught

Started in Watch mode, an Inspector observed the same reconciliation run across both systems:

an inspector · watch mode PO · receipt · invoice → reconciliation model
inboundthree-way match · SAP + legacy ERP → model
filtersupplier bank/account no. masked · pre-model
reconstructcurrencies + units normalized · USD
detect3 matches below confidence · flagged not auto-approved
output240 lines · balanced · every match traced

On record

Account numbers it would have masked before the model saw them. Currencies and units normalized so the match was arithmetic, not a guess. Three low-confidence matches held back for a human instead of auto-approved. And 240 lines reconciled with every match traced to its source — signed, on the company's own stack, nothing run. Watch first: see where the guessing was, before you trust the match.

Related

← All insights