In Mexico freight has two compliance layers people mix up: Official Mexican Standards (NOMs) and permits under SICT, and tax duties under SAT via CFDI and Carta Porte. Passing one does not forgive the other.

This short bridge sits between the freight NOM hub and the freight tax hub. It does not re-explain complement 3.1: it shows which layer answers which risk. OCL builds the trip file; typical 5–7% recovery when auditing 100% in a 6–8 week pilot.

NOMs, permit, circulation
SICT
CFDI + Carta Porte 3.1
SAT
same trip, two checks
1 ID
OCL can stamp and audits
Audits

Two layers, one trip

Picture a tractor that meets weight (NOM-012), with a driver inside rest rules (NOM-087), but a mistyped Carta Porte: the PAC rejects the CFDI or accounts payable cannot deduct with confidence. Reverse case: perfect XML and an overload — you get stopped on a federal road.

The sane playbook is one trip ID with operational and tax evidence. Not two folders nobody reconciles.

Operational layer (SICT / NOM)

  • Weight, unit, securement, fatigue, hazmat, permit.
  • Proof: roadside inspection and dock evidence.
  • If it fails: stop, fine, loss, insurance denial.

Tax layer (SAT / CFDI)

  • CFDI + Carta Porte 3.1 coherent with the trip.
  • Proof: UUID, catalogs, and rate/POD cross-check.
  • If it fails: rejected XML; payment or deduction at risk.
Passing one layer does not forgive the other. The trip file must carry both.

Operational SICT vs tax SAT

At a glance: SICT governs how freight circulates and is secured; SAT governs how the move and freight charge are documented. Passing one does not forgive the other.

Operational SICT (NOMs / permit)

What it requires: Weight, dimensions, unit, securement, fatigue, hazmat, trucking permit

If it fails: Roadside stop, fine, loss, insurance denial

Tax SAT (CFDI / Carta Porte)

What it requires: CFDI + coherent Carta Porte 3.1 complement; cross-check vs rate and POD

If it fails: Rejected XML, tax risk, payment or deduction at risk

Two layers of the same trip — OCL replaces neither SICT nor SAT

May it circulate like this?

SICT / NOM: Yes: weight, unit, securement, fatigue, hazmat

SAT / CFDI: No (except data the XML reflects)

Is the freight payable / defensible?

SICT / NOM: Context (permit, config)

SAT / CFDI: Yes: UUID + Carta Porte + cross-check

Who issues / verifies at source?

SICT / NOM: Permit holder / roadside check

SAT / CFDI: CFDI issuer via PAC

Is OCL the authority?

SICT / NOM: No

SAT / CFDI: No

Which question each authority answers
Desk with an open book and laptop — regulatory text beside digital CFDI verification
One layer is the SICT/DOF text; the other is the XML before SAT. The trip file must carry both.

What you must comply with

Operable checklist before releasing the trip or the payment. Links open each layer’s guide — they do not replace the DOF or SAT rules.

SICT

What to verify: Applicable freight NOMs (weight, unit, securement, fatigue…)

Guide: Freight NOM hub

SICT

What to verify: If hazmat: list, packing, labels, emergency info

Guide: Hazmat NOMs

SICT ↔ SAT

What to verify: SICT permit and vehicle config aligned to the XML

Guide: SICT permit in Carta Porte

SAT

What to verify: CFDI / Carta Porte / withholding map

Guide: Freight tax hub

SAT

What to verify: Errors that stop or penalize Carta Porte

Guide: Carta Porte 2026

Payment

What to verify: Cross-check rate + CFDI + Carta Porte + GPS + POD

Guide: Pre-pay audit

Minimum compliance by layer (playbook; not a ruling)

Elige un paso para ver el detalle

Detalle del paso · 01

Same trip ID…

Same trip ID on rate, GPS, POD, CFDI, and Carta Porte
Before releasing freight payment

Mistakes when mixing the layers

  • Believing “I already have Carta Porte” means unit and securement are OK.
  • Believing “it already passed the scale” means the XML is ready to pay.
  • Storing the SICT permit in one drive and the CFDI in another with no trip ID.
  • Asking an autonomous TMS to “certify NOMs” or “stamp CFDI” — that is not its role.

Where to read each topic

We do not rewrite complement 3.1 or the full text of each NOM here. Use the map in the previous section; the tax cluster and the operational hub live in sibling articles.

One file, two verifications

One trip

Operational and tax

  1. Operate

    NOMs and permit

  2. Document

    CFDI and Carta Porte

  3. Cross-check

    Rate GPS POD

  4. Pay

    Or hold

OCL Cargo runs the cross-check with agents (computer use) on top of or beside your TMS: it does not replace tools on day one and does not pretend to be a normative or tax authority.

Key takeaways5 points
  1. SICT/NOM = how freight circulates and is secured. SAT/CFDI–Carta Porte = how the move and freight charge are documented for tax.
  2. A Carta Porte PDF does not replace NOM-015 (securement) or NOM-068 (unit). A clean scale ticket does not replace the XML.
  3. Accounts payable needs a trip file with both layers on the same trip ID.
  4. We do not rewrite complement 3.1 here: we link the fiscal cluster 270+ / 221 / 2.
  5. and not a SICT authority: it cross-checks evidence and holds payment.

Diagnosis of both layers

In one session we see whether your trip file mixes SICT and SAT — or whether accounts payable pays with one layer blind.

Related reading

Frequently asked questions