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
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
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
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
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
- SAT: Carta Porte complement - official requirements of the complement for goods transport.
- What is freight audit - definition, sampling vs 100%, and how much you recover.
- 3PL case: $3.6M MXN in 6 weeks - the canonical 100% audit case with an agent.
Key takeaways5 points
- 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.
- An ERP pays against a purchase order; freight needs to pay against the real trip: agreed rate, CFDI, Carta Porte, GPS, and POD.
- Auditing 100% of invoices before paying typically recovers 5-7% of freight spend; post-audit recovers less and takes months.
- 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.
- 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
It is the process of receiving, validating, and paying your carriers' invoices. It differs from general accounts payable because every invoice must be matched against a real trip: the agreed rate, delivery evidence, and accessorials with proof behind them.
Recovering money you already paid costs more and takes months. Pre-payment matching stops the leak on the spot, with a case file ready for disputes, and keeps the carrier relationship grounded in evidence. More context in the best freight buyers audit 100%.
CFDI, the Carta Porte complement, the current rate sheet, GPS evidence from the trip, and the POD. Accessorials are validated against evidence: detention is paid according to the real GPS times, not according to whatever the invoice says.
In Mexico, typical recovery is 5-7% of freight spend. A Mexican 3PL detected $3.6M MXN in unsupported charges in 6 weeks by auditing 100% of its flow. The full story in how a 3PL detected $3.6M MXN.
The agent reads every invoice as it arrives, matches it against the real trip (rate, GPS, POD, Carta Porte), approves what checks out, and holds what does not with a case file. Your team stops keying in data and only decides exceptions.
No. The agents connect to your current stack: SAP, Oracle, CargoWise, Magaya, GM Transport, or Excel. The 6-8 week pilot runs on your real operation, with no migrations.
