How it works

Four steps. The last one is the credit note.

Loading the contract is the only slow part, and it happens once. After that a month is the volumes, the invoice, and one button.

1 · Load your rate card

Upload the contract as PDF or CSV. A model reads it and proposes a rate structure: charge category, billing unit, formula, tiers, minimums.

You confirm every line before anything is saved. Each proposed value carries the verbatim quote from the document it came from — and if that quote does not appear literally in your contract, the line is flagged as unsupported rather than accepted. This is the only step that takes real time, and it happens once.

2 · Record the month

Orders, units, cartons received, pallets stored, returns, labour hours.

Every figure carries its provenance. A number you typed is worth less than one a system can attest to, and the screen says so instead of hiding it. A storage quantity without a basis is refused outright, because a pallet count with no basis is not a measurement.

3 · Run the audit

The engine prices what the month should have cost under your contract and compares it line by line against what was billed.

No AI touches the arithmetic. It is deterministic code with tests behind it: the same contract, the same activity and the same invoice always produce the same result. Before showing you any finding, it reports how much of the invoice it could actually verify — a clean list of findings means nothing if only half the invoice was compared.

What the engine could verifyFive invoice lines totalling $34,830.00. Four trace to a numbered clause in the rate card; one, $2,300.00 of value-added services, traces to no clause at all. 93.4% of the invoice was verified before any finding was shown.One invoice · five lines · what each traced toFulfillment$18,420.00→§2.1 · tieredReceiving$4,110.00→§3.4 · per cartonStorage$9,250.00→§5.2 · per palletValue-added$2,300.00→no clause foundPlatform fee$750.00→§8.1 · flatBilled$34,830.00Verified before a single finding is shownTraceable to a clause$32,530.0093.4% of the invoiceNot traceable$2,300.00reported, not claimedWhat the engine could verifyFive invoice lines totalling $34,830.00. Four trace to a numbered clause in the rate card; one, $2,300.00 of value-added services, traces to no clause at all. 93.4% of the invoice was verified before any finding was shown.One invoice · what each line traced toFulfillment$18,420.00§2.1 · tieredReceiving$4,110.00§3.4 · per cartonStorage$9,250.00§5.2 · per palletValue-added$2,300.00no clause foundPlatform fee$750.00§8.1 · flatBilled$34,830.00Verified before any finding is shownTraceable to a clause · 93.4%$32,530.00Not traceable · reported only$2,300.00

A worked example, not a customer. The figures are the ones on rate card.

4 · Send the claim

For every finding, a letter the person at your 3PL can read and act on: what is claimed, how much, the contract clause, the invoice line that contradicts it, and how the figure was reached. No product name, no jargon.

You send it yourself, from your own inbox. Then you log what comes back — sent, replied, a partial credit arrived — and the count runs until the money does. A claim that is partly credited does not close itself: accepting less than you asked for is a decision a person makes, not an arithmetic consequence.