Work / LedgerLock
LedgerLock
Every supplier invoice checked against the contract it's billed under, before the money leaves.
- Type
- AI model
- Status
- Released, 2026
- Our role
- Contract extraction model, audit engine, AP workflow integration
- Timeframe
- 2026
LedgerLock audits supplier invoices against the agreements behind them. Accounts payable already checks that an invoice matches a purchase order and a receipt. What that doesn't check is whether the price on the PO was ever the price the contract allowed. That gap is where volume discounts go unapplied, escalation clauses get applied twice, and fuel surcharges are calculated off the wrong index.
The system reads each master service agreement once and turns it into a structured, versioned rate book. From then on, every invoice line is priced against that rate book before payment is authorised. Anything that disagrees comes with the contract clause, the expected figure and the billed figure side by side.
- Of invoice lines checked, not sampled
- 100%
- Of invoice lines checked, not sampled
- Contract clause cited per flag
- 1
- Contract clause cited per flag
- Documents used to train shared models
- 0
- Documents used to train shared models
Why the money leaks
Supplier contracts are written once, by procurement and legal, and then paid against for years by people who never read them. A typical MSA has a base rate card, volume tiers that reset each year, an annual escalation tied to an index, a list of permitted accessorial charges, and a handful of amendments that change all of it. The person approving the invoice has none of that in front of them.
So the expensive errors aren't fraud, and they aren't obvious. A tier discount that should have kicked in at the 500th unit in March was never applied. An escalation was applied in January and again in the July amendment. A detention charge was billed at a rate from an expired schedule. Recovery audits find these after the fact, years later, for a cut of what they claw back. LedgerLock moves the check to before the payment.
From contract to rate book
The hard part is the contract, not the invoice. Rates live in tables, in prose ("rates shall increase annually by the lesser of 3% or CPI"), and in amendments that refer back to schedules by number. LedgerLock's extraction model reads the full agreement and its amendments together, resolves which clause wins on which date, and produces a rate book: every billable item, its price, the conditions under which that price changes, and the clause each rule came from.
That rate book is shown to a person before it is trusted. Finance or procurement reviews the extracted rules against the source text, which is highlighted alongside, and signs them off. After that the rate book is versioned, so an invoice from last October is always priced against the contract as it stood last October.
The audit itself
Invoices arrive through the existing AP inbox or ERP export. Each line is matched to a rate book item and repriced. The check is deterministic arithmetic, not a language model's opinion. Volume tiers are calculated from the running total of everything billed under that contract, which is why the system can catch a discount that should have started three invoices ago.
Beyond price, it checks for duplicate and near-duplicate invoices, charges for items the contract doesn't permit, quantities that exceed what was received, and taxes applied to lines that should be exempt. Each exception carries the expected amount, the billed amount, the difference, and a link to the governing clause.
Built to be argued with
An invoice dispute is a conversation with a supplier, and "our AI says so" loses it. That is why the language model only does the reading. The auditing itself is plain calculation over rules a person has approved, and every flag can be reproduced by hand from the clause it cites. AP can send the exception straight to the supplier with the evidence attached.
Contracts and invoices stay in a private tenant for each client. Nothing is shared between clients, and nothing is used to train a model anyone else uses.
Where it stands
The audit engine runs as a gate in the payment workflow. Invoices that pass go through untouched, and only exceptions reach a person. The current focus is on the contract types where leakage concentrates: freight and logistics services, facilities and maintenance, and staffing, where rate cards are dense and charges recur.
Next is a supplier-facing view, so a disputed line can be resolved in one exchange instead of an email chain, and a renewal brief that summarises how a supplier actually billed against their contract before the next negotiation.
Technology
Private-tenant LLM inference, Python, PostgreSQL, Deterministic pricing engine, ERP / AP inbox connectors, Next.js