Mexique — CFDI 4.0 et le modèle PAC
Le Mexique a été l'un des premiers pays à imposer un clearance fiscal généralisé : depuis 2014, tout document fiscal (facture, note de crédit, paie, traslado) doit transiter par un PAC accrédité par le SAT pour obtenir un UUID timbré.
Timeline réglementaire
- 5 janvier 2004 — Premier décret CFD. Introduction du Comprobante Fiscal Digital (CFD), généré et signé localement par le contribuable.
- 1er janvier 2011 — Naissance du CFDI. La Reforma Fiscal 2010 introduit le Comprobante Fiscal Digital por Internet, qui impose le passage par un PAC pour le timbrage.
- 1er avril 2014 — Mandat universel CFDI. Tous les contribuables, sans exception, doivent émettre exclusivement en CFDI ; fin du CFD local et du Comprobante Fiscal Impreso (CFI).
- 1er juillet 2017 — CFDI 3.3. Nouveau schéma avec catalogues SAT obligatoires (ClaveProdServ, ClaveUnidad, MetodoPago, UsoCFDI).
- 1er janvier 2022 — Carta Porte 2.0 obligatoire. Le complemento Carta Porte devient obligatoire pour tout transport de marchandises sur voies fédérales (CFF art. 84 et Anexo 20 sec. III.D).
- 1er avril 2022 — CFDI 4.0. Bascule officielle vers la version 4.0 du schéma, avec nom et code postal obligatoires côté destinataire, régime fiscal du destinataire, ObjetoImp par concept, Exportacion à la racine.
- 1er avril 2023 — Fin de la coexistence 3.3 / 4.0. Après plusieurs prorogations, le CFDI 3.3 cesse définitivement d'être accepté.
- 2024-2026 — Renforcement Carta Porte 3.0. Évolutions progressives du complemento Carta Porte, version 3.0 obligatoire depuis le 17 juillet 2024 selon le SAT.
Schéma technique
Le CFDI 4.0 est un document XML conforme à l'Anexo 20 de la Resolución Miscelánea Fiscal. La structure de base :
- cfdi:Comprobante : racine avec Version, Serie, Folio, Fecha, SubTotal, Total, Moneda, TipoDeComprobante (I=Ingreso, E=Egreso, T=Traslado, N=Nómina, P=Pago).
- cfdi:Emisor et cfdi:Receptor : RFC, nom, régime fiscal, UsoCFDI obligatoire en 4.0.
- cfdi:Conceptos : lignes de facture avec ClaveProdServ (catalogue SAT), ClaveUnidad (UN/ECE Rec 20), ObjetoImp (01-04).
- cfdi:Impuestos : taxes par concept et totaux.
- Complementos : extensions sectorielles — Carta Porte (transport), Nómina (paie), Pagos 2.0 (paiements), Comercio Exterior (export), etc.
- TimbreFiscalDigital (TFD) : ajouté par le PAC avec UUID, SelloSAT, NoCertificadoSAT.
Exemple minimal d'un CFDI 4.0 d'Ingreso :
<?xml version="1.0" encoding="UTF-8"?>
<cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/4"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd"
Version="4.0"
Serie="A"
Folio="0042"
Fecha="2026-05-16T10:23:00"
FormaPago="03"
NoCertificado="30001000000500003456"
SubTotal="1000.00"
Moneda="MXN"
Total="1160.00"
TipoDeComprobante="I"
Exportacion="01"
MetodoPago="PUE"
LugarExpedicion="06600">
<cfdi:Emisor Rfc="AAA010101AAA" Nombre="EDIVERSE DEMO SA DE CV" RegimenFiscal="601"/>
<cfdi:Receptor Rfc="XAXX010101000"
Nombre="PUBLICO EN GENERAL"
DomicilioFiscalReceptor="06600"
RegimenFiscalReceptor="616"
UsoCFDI="S01"/>
<cfdi:Conceptos>
<cfdi:Concepto ClaveProdServ="50211503"
NoIdentificacion="SKU-001"
Cantidad="1"
ClaveUnidad="H87"
Unidad="Pieza"
Descripcion="Servicio de software"
ValorUnitario="1000.00"
Importe="1000.00"
ObjetoImp="02">
<cfdi:Impuestos>
<cfdi:Traslados>
<cfdi:Traslado Base="1000.00"
Impuesto="002"
TipoFactor="Tasa"
TasaOCuota="0.160000"
Importe="160.00"/>
</cfdi:Traslados>
</cfdi:Impuestos>
</cfdi:Concepto>
</cfdi:Conceptos>
<cfdi:Impuestos TotalImpuestosTrasladados="160.00">
<cfdi:Traslados>
<cfdi:Traslado Base="1000.00"
Impuesto="002"
TipoFactor="Tasa"
TasaOCuota="0.160000"
Importe="160.00"/>
</cfdi:Traslados>
</cfdi:Impuestos>
</cfdi:Comprobante>Flux de soumission
Le contribuable signe le CFDI avec son Certificado de Sello Digital (CSD) obtenu auprès du SAT, puis transmet au PAC. Le PAC valide la syntaxe (XSD + Schematron Anexo 20), la cohérence des catalogues, la chaîne de certification, puis appose le timbrage avec son propre certificat SAT.
┌──────────────┐ ┌──────────────────┐ ┌──────────────┐
│ Émetteur MX │───>│ PAC (Proveedor │───>│ SAT │
│ (ERP) │XML │ Autorizado de │TFD │ (validation) │
│ │CSD │ Certificación) │ │ │
└──────────────┘ └─────────┬────────┘ └──────────────┘
│
▼
┌──────────────────────────┐
│ CFDI timbré (UUID + │ ← TFD complemento
│ sello SAT) en < 72h │ XAdES
└──────────────────────────┘Le timbrage doit intervenir dans les 72 heures suivant l'émission (Anexo 20). Le destinataire récupère le CFDI timbré soit du fournisseur directement, soit via le portail SAT (consulta de CFDI) avec son RFC et l'UUID.
Validation
- SAT — Anexo 20 et catálogos : sat.gob.mx/.../anexo-20.
- Consulta de CFDI avec UUID : verificacfdi.facturaelectronica.sat.gob.mx.
- Liste des PAC accrédités : sat.gob.mx/consultas/.../pac.
- Schémas XSD CFDI 4.0 : sat.gob.mx/sitio_internet/cfd/4.
Pièges courants
- Catalogues SAT trop souvent désynchronisés. ClaveProdServ, ClaveUnidad, ClaveTipoNomina, etc. évoluent presque mensuellement. Garder une copie locale figée mène à des rejets de timbrage avec le code CFDI40118 (catalog value not found). Une synchronisation quotidienne du portail SAT est requise.
-
RFC générique XAXX010101000 vs EKU9003173C9.
XAXX010101000= grand public mexicain,XEXX010101000= étranger sans RFC,EKU9003173C9= utilisé en B2B pour un destinataire sans relation commerciale formelle. Une confusion fausse la déductibilité TVA côté destinataire. - Cohérence Régimen Fiscal Receptor + UsoCFDI. Le SAT a publié une matrice de compatibilité : un destinataire en régime 601 (Personas Morales) ne peut pas utiliser UsoCFDI=S01 (Sin efectos fiscales). Une incompatibilité provoque un rejet de timbrage CFDI40177.
- Complemento Carta Porte obligatoire pour le transport. Tout mouvement de biens sur voies fédérales doit inclure le complemento Carta Porte 3.0 avec coordonnées GPS de départ et d'arrivée, type de véhicule, conducteur, distance. Une absence est sanctionnée par l'arrêt physique du véhicule à un point de contrôle SAT.
- Annulation CFDI — mécanisme à deux étapes. Depuis CFDI 4.0, l'annulation requiert l'acceptation explicite du destinataire dans les 72h via le portail SAT (sauf cas particuliers : erreur, sans relation commerciale, total ≤ 1000 MXN). Beaucoup d'intégrations oublient cette validation et laissent des CFDI en statut "Cancelado con aceptación" pendant des semaines.
Liens transverses
- UBL 2.1 — comparaison avec le standard XML international (le Mexique n'utilise pas UBL).
- EN 16931 — pour la comparaison avec la sémantique européenne.
- Article — Tour d'horizon e-invoicing 2026.
- Sources officielles : sat.gob.mx, gob.mx/shcp.