Freight Invoice Audit Skill

Match every carrier invoice to a shipment, recheck the line math and fuel surcharge against your schedule, and flag duplicates and accessorials nobody approved. Get approve, dispute and review lists plus the dollars you can claim back.

Freight Invoice Audit Skill cover

What it checks

SituationCodeLevel
Same carrier + PRO billed againduplicate_prodispute
Same BOL billed on another invoice/carrierduplicate_boldispute
Linehaul + fuel + accessorials != totalmath_errordispute
Linehaul over quote (default 2%)linehaul_over_quotedispute
Fuel over the carrier's weekly % of the quoted linehaulfuel_over_ratedispute
Accessorial not approved on the BOLunapproved_accessorialdispute
Billed weight over BOL by 10%+ (reweigh)weight_over_bolreview
Billed class differs from BOLclass_changedreview
Invoice from a carrier the BOL wasn't tendered tocarrier_mismatchreview
BOL not in your shipment fileno_quotereview

Proven on a labeled example

examples/cedar-supply-oct/ is a fictional distributor's October LTL: 8 BOLs with quotes, two carriers' weekly fuel schedules and 11 invoices with planted problems (a re-billed PRO, Ridgeway's shipment billed by Bluegrass, a 10.00 math error, a linehaul 30 over quote with fuel charged on the overage, an unapproved notify fee, a 13% reweigh, a reclass from 70 to 85, a BOL the TMS doesn't have). expected.json labels each invoice and the recoverable total (1,014.20); the tests assert that in any row order.

What you get

Outputs in out/: audit.csv (approve/review/dispute, recoverable, approved to pay), findings.csv, disputes/<carrier>.md (draft lists, not sent), report.md, summary.json. Exit 0 = all approve; 1 = something to review or dispute; 2 = an input problem.

Real Freight Invoice Audit Skill report and passing tests from the labeled example

Quick start

./run_tests.sh
python3 -m freightaudit --invoices examples/cedar-supply-oct/carrier_invoices.csv --shipments examples/cedar-supply-oct/shipments.csv \
  --fuel examples/cedar-supply-oct/fuel_schedule.csv --name "Cedar Supply" --out out/

Inputs

  • Carrier invoice CSV (EDI 210 or portal export): Carrier, Invoice No, PRO, BOL, Ship Date, Billed Weight, Billed Class, Linehaul, Fuel, Accessorials ("Liftgate:75|Residential:95"), Total.
  • Your shipment/quote CSV from the TMS or BOLs: BOL, Carrier, Weight, Class, Quoted Linehaul, Approved Accessorials.
  • Fuel table (Carrier, Week Start, Fuel Pct) from each carrier's published schedule, or --fuel-pct for one rate.

Use it from your agent

  • Claude Code plugin: this folder is a plugin (.claude-plugin/plugin.json). Try it with claude --plugin-dir ./freight-invoice-audit-skill, or add the folder to your own plugin marketplace.
  • Skill only: copy skills/freight-invoice-audit/ into ~/.claude/skills/ (or your agent's skills folder) and keep this folder where the agent can run python3 -m freightaudit.
  • No agent: the CLI works on its own; --help lists every flag.

Honest limits

  • It audits against the quotes and fuel table you give it; it doesn't read tariffs or rate carriers.
  • Reweighs and reclasses can be legitimate; they're marked review so you ask for the certificate first.
  • Dispute lists are drafts; nothing is sent to a carrier.
  • Parcel (UPS/FedEx) service guarantees and refunds aren't covered.

Requirements

Python 3.9+ (tested on 3.10 and 3.13), no dependencies.

Format and license

Zip, 16 KB, v1.0, 15 files. Use and modify it for yourself and for clients you serve; no resale or redistribution of the kit itself. Full terms in LICENSE.txt.

FAQ

Which carriers?
Any invoice CSV with PRO/invoice number, charges and dates.
Does it file disputes?
No; it drafts the list for you to send.
Parcel too?
Built for LTL/FTL invoices; parcel lines work if they have the same fields.
How do I get the files?
Right after payment, Stripe’s confirmation page shows your download link.
Refunds?
Email hello@youraitools.co within 14 days if it doesn’t work and we can’t fix it.
Can I pay with crypto?
Yes. Pay the same price in USDC or USDT on Base, Ethereum, Arbitrum, Optimism, Polygon or Solana from the "Pay with crypto" button, with no account or KYC. We check the payment on-chain and show your download links as soon as it confirms.

Get Freight Invoice Audit Skill

Audit carrier freight invoices against shipments and your fuel schedule: duplicates, math errors, wrong fuel surcharge, unapproved accessorials. $29 once.

Save with a bundle

Pairs well with

Download$49

Payment Reconciliation Skills Bundle

Reconcile Stripe, Shopify Payments and PayPal payouts to bank deposits: fees, refunds, disputes, holds and a balanced journal entry. 3 kits, $49 ($77 separately).

View Payment Reconciliation Skills Bundle
Download$45

Commercial Property Accounting Skills Bundle

Commercial property accounting on your own exports: rent roll checks (GPR, vacancy, loss-to-lease, delinquency) and year-end CAM reconciliation with gross-up and caps. $45 ($58 separately).

View Commercial Property Accounting Skills Bundle
DownloadFree

robots.txt Tester (Free)

Free robots.txt tester and validator: test URLs with Google's matching rules, catch typos and dropped * rules, check GPTBot/ClaudeBot access, diff before deploy.

View robots.txt Tester (Free)

Related