Logistics & Supply ChainFeatured

Freight Invoice Auditor

Checks the carrier's arithmetic before the dispute window closes

Version 2Published Sep 2, 2026
Logistics & Supply ChainKnowledgeExtractclaude-opus-5Read-only · auto8 hard rules5 handover rulesResult
8hard rules
Things it must never do, enforced in every run
5handover rules
Conditions where it stops and gives the work to a person
10output fields
A structured result, not a paragraph you have to re-read
≤7steps per run
Bounded work: at most 5 tool calls, enforced by the runtime

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.

Live wiring for version 2. Tool nodes are the capabilities this agent is registered to call — nothing else can run.

Overview

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.

Benefits

Overcharges caught in time to matter

Inside the window, when they are still recoverable.

The pattern, not just the invoice

One carrier repeating one error is a contract conversation.

A rate agreement that gets enforced

Rather than one that exists and is never checked against.

What it does

  • Every accessorial against its trigger

    A liftgate charge where the site has a dock. A residential surcharge on an industrial estate. Each needs a condition that was actually met.

  • Reweighs against your own measurements

    Dimensional weight added after collection, checked against what you recorded when it left.

  • Detention against the timestamps

    Time billed against arrival and departure records, rather than accepted because it is on the invoice.

  • Catches duplicate billing

    The same shipment under two references, which no per-invoice review can ever see.

  • Puts the dispute deadline on every finding

    An overcharge found after the window has closed is worth nothing. The date is on the line, not in the terms.

  • Files nothing

    A dispute is a conversation with a partner who moves your goods tomorrow. That belongs to a person.

What this changes

What this changes about your week

It takes over
Checking carrier invoices line by line against the rate card and the shipment record.
Done today by
Nobody, at any volume above a few dozen shipments.
How often
Every invoice, and the window to dispute is usually 30 days.
Typical manual effort
Each line needs the rate card, the shipment record and the invoice held in mind at once.

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.

How it runs

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.

  1. 1InputValidated against the agent input schema
  2. 2Modelclaude-opus-5 with automatic fallback
  3. 3Toolssearch_knowledge, extract_structured_data
  4. 4PermissionsRuns READ actions automatically; anything higher waits for approval
  5. 5OutputStructured result matching the output schema
  6. 6LoggingTokens, duration and every step recorded

Demo

Demo dataIllustrative sample output, abridged.

Input

{
  "asAtDate": "2026-09-02",
  "currency": "USD",
  "invoices": [],
  "disputeWindowDays": 30
}

Output

{
  "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
}

Requirements

Integrations

No integrations required.

Before you start

  • Carrier invoices with line-level charges
  • The rate agreement, including accessorial terms and the dispute window
  • Shipment records: weight, dimensions, addresses, timestamps
  • Requires the All-Access plan or higher

Use cases

Weekly invoice run

Every invoice checked before it is approved for payment.

Before a carrier tender

What they actually charged versus what they quoted.

A freight cost that keeps rising

Usually accessorials rather than base rates.

Contract renewal

The accessorial pattern, priced.

Pricing

All-Access

Billed monthly through your PROMIVO subscription. Cancel at any time.

Runs consume your plan allowance for agent executions and tokens. See plan limits

FAQ

Will it dispute the invoice with the carrier?

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.

Do we need the rate agreement loaded?

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.

What about charges that are genuinely owed?

It confirms those too, and says so. A review that only ever finds problems teaches you nothing about which carriers bill accurately.

Reviews

Reviews open once customers have run this agent.

Need this agent to work differently?

Tell us what to change and our team will scope a customised version for your business.

Customize this agent