Checks the carrier's arithmetic before the dispute window closes
Freight billing is unusually error-prone and the errors run one way. A carrier invoice is built from a rate agreement with dozens of accessorial charges — fuel surcharge, residential delivery, liftgate, detention, storage, reweigh, address correction — each with its own trigger condition. Almost nobody checks whether the condition was met, because doing it properly means holding the rate card, the shipment record and the invoice in mind at once, per shipment, across thousands of shipments.
So the classics survive. A dimensional reweigh adding weight the shipment never had. Detention billed for time the driver was not there. A residential surcharge on a commercial address. Fuel surcharge computed on the wrong base. The same shipment invoiced twice under two references.
The other half of the problem is the deadline. Most contracts allow a limited window to dispute — often thirty days — after which an overcharge becomes permanent no matter how obviously wrong it is. A finding is only worth something if it arrives in time.
This agent audits each invoice against your own rate agreement and shipment records, reports every line it cannot justify with the clause or record that contradicts it, and puts the dispute deadline on every finding. It files no claim and contacts no carrier — a disputed invoice is a commercial conversation with a partner you depend on to move your goods tomorrow.
Inside the window, when they are still recoverable.
One carrier repeating one error is a contract conversation.
Rather than one that exists and is never checked against.
A liftgate charge where the site has a dock. A residential surcharge on an industrial estate. Each needs a condition that was actually met.
Dimensional weight added after collection, checked against what you recorded when it left.
Time billed against arrival and departure records, rather than accepted because it is on the invoice.
The same shipment under two references, which no per-invoice review can ever see.
An overcharge found after the window has closed is worth nothing. The date is on the line, not in the terms.
A dispute is a conversation with a partner who moves your goods tomorrow. That belongs to a person.
Why Logistics & Supply Chain in particular. Accessorial charges each have a trigger condition nobody verifies, and a dispute window that closes. An overcharge found late is worth nothing at all.
Runs unattended
Started by you or by an event, and it finishes on its own. Nothing waits for someone to be at a desk.
The same standard every time
The two-hundredth item is held to the bar the first one was. Consistency is the part people cannot sustain.
It cannot act on its own
Freight Invoice Auditor has no path to sending, spending or committing. That limit is why its output is safe to act on.
This agent runs server-side through the PROMIVO runtime. Each run is logged step by step and every tool call is permission-checked before it executes.
Read-only by design. This agent has no path to sending, spending, publishing or committing anything. Where that limit is the product, removing it would remove the reason to trust the output.
Demo dataIllustrative sample output, abridged.
{
"asAtDate": "2026-09-02",
"currency": "USD",
"invoices": [],
"disputeWindowDays": 30
}{
"escalate": true,
"findings": [
{
"type": "accessorial-without-trigger",
"billed": 42,
"charge": "Residential delivery surcharge",
"status": "contradicted",
"carrier": "Carrier A",
"daysLeft": 7,
"evidence": "Delivery address is recorded as a commercial industrial unit with dock access.",
"expected": 0,
"disputeBy": "2026-09-09",
"difference": 42,
"invoiceNumber": "INV-88214"
},
{
"type": "reweigh-dispute",
"billed": 318,
"charge": "Dimensional reweigh",
"status": "contradicted",
"carrier": "Carrier A",
"daysLeft": 19,
"evidence": "Carrier recorded 214kg. Your own pre-collection record shows 138kg with photographed scale reading.",
"expected": 196,
"disputeBy": "2026-09-21",
"difference": 122,
"invoiceNumber": "INV-88301"
}
],
"disclaimer": "An audit against your own rate agreement and shipment records. Nothing has been disputed, filed or withheld, no carrier has been contacted, and a charge marked unsupported is one the records do not evidence rather than one proven wrong.",
"couldNotCheck": [
"Detention on 11 shipments — no arrival or departure timestamps recorded."
],
"totalIdentified": 8940,
"verifiedCorrect": 412,
"atRiskOfExpiring": [
"3 findings worth 1,180 close their dispute window within 7 days."
],
"escalationReason": "Three findings expire within seven days, and one carrier's error rate is above the threshold across the period.",
"carrierErrorRates": [
"Carrier A: 6.8% of audited lines contradicted. That is a contract conversation, not an invoice one.",
"Carrier B: 0.4%. They bill accurately and it is worth knowing."
],
"rateAgreementFound": true
}No integrations required.
Every invoice checked before it is approved for payment.
What they actually charged versus what they quoted.
Usually accessorials rather than base rates.
The accessorial pattern, priced.
$349/month
Billed monthly through your PROMIVO subscription. Cancel at any time.
Runs consume your plan allowance for agent executions and tokens. See plan limits.
No. It produces the finding, the evidence and the deadline. Disputing is a commercial conversation with a partner you depend on, and the tone of it matters more than the amount.
Yes, for accessorial and rate findings — without it there is nothing to check against. Duplicates, arithmetic errors and charges with no shipment record are still found without it.
It confirms those too, and says so. A review that only ever finds problems teaches you nothing about which carriers bill accurately.
No reviews yet. Reviews open once customers have run this agent.
Tell us what to change and our team will scope a customised version for your business.
Customize this agent