Freight accounts payable is automated by matching every invoice against the real trip before paying.

An AI agent reads the CFDI as it arrives, compares it with the agreed rate, the Carta Porte complement, GPS evidence from the trip, and the POD, approves what checks out, and holds what does not with a case file. Auditing 100% of the flow this way typically recovers 5-7% of freight spend, and your team stops keying in data to focus on deciding exceptions.

This guide is part of our finance and audit pillar. If you are starting from zero, first understand what freight audit is and why the best freight buyers audit 100%, not 5%.

Why freight accounts payable are different

In general accounts payable the flow is well known: an invoice arrives, it is matched against a purchase order and a goods receipt, and it gets paid. Three documents, a catalog price, countable quantities. Freight breaks that model because every invoice corresponds to a physical trip that happened on the road, under conditions no catalog captures.

  • Rates are negotiated per lane: Monterrey to Mexico City in a 53-foot dry van does not cost the same as the same lane in a reefer, and the rate sheet changes by season, by carrier, and by committed volume.
  • Accessorials are conditional: detention, handling, and redeliveries only apply if they actually happened. Detention is billed for real waiting hours, not for whatever the carrier decides to write on the invoice.
  • Evidence is documentary and operational: the POD proves delivery, the Carta Porte complement documents the transfer for the SAT, and GPS records what really happened on the trip.

That is why a generic ERP falls short: it pays against a purchase order, when freight needs to pay against the real trip. If your accounts payable process treats a carrier's invoice like an office supplies invoice, you are signing checks without knowing whether the service you are paying for happened as agreed.

The invoice-trip-payment cycle step by step

The full cycle has eight steps. In most Mexican operations, steps 3 through 5 are done by hand, by sampling, or not at all. That is where the money goes.

1. CFDI reception

What happens: The carrier stamps and sends the invoice with its XML

What gets validated: CFDI valid with the SAT, correct tax data

2. Trip matching

What happens: The invoice is linked to the shipment it covers

What gets validated: That a real, unique trip exists for that invoice

3. Rate validation

What happens: The billed freight is compared against the current rate sheet

What gets validated: Agreed rate per lane, equipment type, and carrier

4. Accessorial validation

What happens: Detention, handling, and redeliveries are matched with evidence

What gets validated: Real GPS times, prior authorizations

5. Document validation

What happens: The shipment file is reviewed

What gets validated: Complete and legible POD, valid Carta Porte

6. Approval or dispute

What happens: What checks out gets approved; what does not gets held with a case file

What gets validated: Documented differences to negotiate with the carrier

7. Payment scheduling

What happens: The approved invoice enters the payment calendar

What gets validated: Credit terms agreed with each carrier

8. Payment complement

What happens: The complement is issued upon settlement

What gets validated: Correct fiscal closure of the cycle with the SAT

The full invoice-trip-payment cycle. Steps 3, 4, and 5 are the ones almost nobody does at 100% manually.

If you want an operational instrument for the validation steps, we have a 15-point checklist for auditing freight invoices you can apply starting tomorrow, with or without a system.

Typical leaks when you pay without matching

When the team pays against the invoice without matching it to the trip, the leaks are not hypothetical: they are patterns that repeat in almost every operation that starts auditing 100%. These are the most common ones and how matching catches them.

Off-contract rate

How it looks on the invoice: Base freight comes in above the agreed rate

How matching catches it: Automatic comparison against the current rate sheet by lane and equipment

Inflated detention

How it looks on the invoice: 3 hours of waiting are billed

How matching catches it: GPS shows 1 hour 13 minutes at the delivery point

Duplicate accessorials

How it looks on the invoice: The same handling charge appears on two invoices for the same trip

How matching catches it: Invoice-trip matching: one trip, one file, unique charges

Duplicate invoice

How it looks on the invoice: Two different CFDIs cover the same shipment

How matching catches it: Uniqueness validation against the recorded trip

Ghost trip

How it looks on the invoice: A transfer that never happened gets billed

How matching catches it: No GPS, no POD, no Carta Porte to back it up

Off-agreement fuel and tolls

How it looks on the invoice: Increases not agreed upon get passed into the freight charge

How matching catches it: Matching against the adjustment terms agreed in the contract

Every leak leaves a trail. The problem is not detecting it: it is having someone (or something) cross the evidence on every invoice.

None of these leaks requires bad faith to exist: manual processes, staff turnover, and thousands of invoices per month are enough. But the effect is the same: you pay money you should not have paid, and nobody finds out until the monthly close, if at all.

Auditing before paying vs claiming afterwards

There are two ways to attack these leaks: match every invoice before paying it, or pay first and hire a post-audit to claim afterwards. The difference in results is enormous.

Post-audit (claim afterwards)

  • The money is already gone: recovering it depends on the carrier's goodwill
  • Claims take months and many are abandoned out of fatigue
  • It usually works by sampling: what is not reviewed is lost
  • The carrier relationship strains: you are disputing charges from a quarter ago

Pre-payment matching (audit first)

  • The leak stops on the spot: the unsupported charge does not get paid
  • Every dispute goes out with a case file: rate, GPS, POD, and Carta Porte
  • 100% of the flow gets audited, not a sample
  • The carrier that bills correctly gets paid well and on time
Post-audit chases the money; pre-payment matching keeps it from leaving.

One point gets underestimated: pre-payment matching improves your carrier relationships, it does not hurt them. Disputes get resolved with evidence, not with shouting, and the carrier that bills correctly collects without friction.

That discipline is exactly what sets apart the best freight buyers: they audit 100% and pay on time, both things.

How an AI agent runs your freight accounts payable

Everything above can be done by hand. The problem is volume: matching one invoice against five evidence sources takes an analyst half an hour, and a mid-size operation receives hundreds or thousands of invoices per month.

That is why traditional TMS platforms (CargoWise, Magaya, SAP, Oracle, GM Transport, or the usual Excel) end up being luxury filing cabinets: they store the documents, but they only work if the team feeds them and crosses them manually. The underlying difference is explained in traditional TMS vs OCL Cargo with AI agents.

OCL Cargo's audit agent runs the full cycle autonomously:

  • It reads every invoice on arrival: OCR and CFDI reading with its XML, with nobody keying in anything.
  • It matches automatically the invoice with the trip or shipment it covers.
  • It crosses 5 sources: agreed rate, CFDI, Carta Porte complement, GPS evidence from the trip, and POD. When the GPS lives in the carrier's own platforms, GPS mirror accounts give the agent direct access to that signal.
  • It builds a digital case file per shipment: every approval and every dispute is documented with its evidence.
  • It escalates only the exceptions: it approves what checks out, holds what does not with a case file, and your team decides only the cases that require judgment.
Per reconciled invoice vs half an hour by hand
3 min
Productivity per analyst
1.5x-3x
Detected by a 3PL in 6 weeks
$3.6M MXN

The logistics-operator case is not theory: with 2,250 invoices in the pilot, the agent detected $3.6M MXN in unsupported charges in 6 weeks by auditing 100% of the flow. The full detail is in how a 3PL detected $3.6M MXN in 6 weeks.

Freight accounts payable KPIs

What does not get measured does not get governed. These are the indicators the team should report every month, with the honest target for each one.

% of invoices audited

What it measures: Coverage of invoice-trip matching over the total flow

Target: 100%, not sampling

% detected / recovered

What it measures: Unsupported charges over total freight spend

Target: Typically 5-7% of spend at the start

Invoice-to-payment cycle days

What it measures: Time from CFDI reception to payment

Target: Trending down, without sacrificing validation

% of disputes won with evidence

What it measures: Disputes resolved in your favor with a complete case file

Target: Trending up: with GPS and POD, evidence wins

Analyst hours per invoice

What it measures: Human effort per reconciled invoice

Target: From half an hour by hand to minutes with an agent

Five KPIs are enough to govern the area. The first one rules: without 100% coverage, the rest are measured on a sample.

How to start: a 6-8 week pilot

You do not need a year-long transformation project or an ERP migration. The OCL Cargo pilot takes 6-8 weeks and runs on your real operation: it connects to SAP, Oracle, CargoWise, Magaya, GM Transport, or Excel, takes your invoice flow exactly as it arrives today, and audits 100% of it against your rate sheet and your operational evidence.

The pilot is measured against a baseline: how much your current process detected vs how much the agent detects, how many analyst hours each invoice consumes before and after, and how many days the invoice-to-payment cycle takes. At the end you have numbers finance can defend, not promises.

How many of your freight invoices get paid today without matching?

In a demo we show you how the audit agent reads, matches, and holds invoices with a case file, on your real flow, starting with a 6-8 week pilot against a baseline.

Sources and further reading

Key takeaways5 points
  1. Freight accounts payable is not general accounts payable: every invoice corresponds to a physical trip with a per-lane rate, conditional accessorials, and documentary evidence.
  2. An ERP pays against a purchase order; freight needs to pay against the real trip: agreed rate, CFDI, Carta Porte, GPS, and POD.
  3. Auditing 100% of invoices before paying typically recovers 5-7% of freight spend; post-audit recovers less and takes months.
  4. An AI agent reads every invoice on arrival, matches it against 5 evidence sources, and builds a case file: 3 minutes per reconciled invoice vs half an hour by hand.
  5. You do not need to migrate systems: the 6-8 week pilot connects to SAP, Oracle, CargoWise, Magaya, GM Transport, or Excel.

Frequently asked questions