Mexico — CFDI Types & Testing Reference
This guide covers two things that don't fit into a single payload example: the CFDI 4.0 invoice type variants you'll encounter as a developer (Ingreso, Factura Global, Egreso, RFC Genérico, RFC Extranjero), and the SAT sandbox test data (test RFCs and certificates) available through Vertex's certification provider, Quadrum.
Full raw XML examples and certificate downloads live on Quadrum's wiki.
Full XML examples: Quadrum — Documentación CFDI 4.0🔗 Test certificates & RFCs: Quadrum — Archivos para pruebas de timbrado y cancelación
CFDI Invoice Type Variants
Ingreso, Factura Global, RFC Genérico, and RFC Extranjero are all issued through the same Vertex document — invoice_type: "debit", document_type: "invoice" — and differ only in specific fields. Egreso is its own document type (see below).
Ingreso
Standard income invoice. The most common type you'll issue.
Factura Global
Not a separate document type — it's an Ingreso with one addition: the <cfdi:InformacionGlobal> node (Año, Meses, Periodicidad), used to consolidate retail sales to the general public instead of billing each customer individually. Typically issued end-of-day or end-of-period.
To issue a Factura Global:
buyer.company.tax_registrations[].number=XAXX010101000(RFC genérico)buyer.company.name=PUBLICO EN GENERAL(exact string — this is what tells Vertex/SAT it's a global invoice, not a generic-RFC one-off sale)
Egreso (Credit Note)
Used to cancel or partially reduce a previously issued Ingreso. Unlike the variants above, this is its own Vertex document type:
invoice_type:"credit"document_type:"credit note"
Must reference the original CFDI's UUID via CfdiRelacionados (SAT side).
RFC Genérico
For a buyer who is a member of the general public but is billed individually rather than folded into a Factura Global.
buyer.company.tax_registrations[].number=XAXX010101000(same RFC as Global)buyer.company.name= anything other thanPUBLICO EN GENERAL— this is the field that distinguishes it from a Factura Global at the same RFC.
RFC Extranjero
For foreign buyers without a Mexican RFC.
buyer.company.tax_registrations[]needs two entries:- One with
type: "RFC",number: "XEXX010101000",location: "MX" - A second entry with
type: "tax_id",number: <foreign tax ID, maps to SAT NumRegIdTrib>,location: <foreign country code, ≠ "MX" — this is what maps to SAT ResidenciaFiscal>
- One with
Test Environment — RFCs & Certificates
Vertex's SAT sandbox testing runs through Quadrum's DEMO environment. These RFCs and certificates are test-only — never use them in production.
Test RFCs — Emisores (Suppliers)
Use these as supplier_company_id in test payloads. Each has a CSD (Certificado de Sello Digital) and FIEL (Firma Electrónica) pair.
| RFC | Razón Social | CP | Tipo de Persona | No. Certificado CSD |
|---|---|---|---|---|
EKU9003173C9 | ESCUELA KEMPER URGATE | 20928 | Moral | 30001000000500003416 |
IIA040805DZ4 | INDUSTRIA ILUMINADORA DE ALMACENES | 62964 | Moral | 30001000000500003433 |
IVD920810GU2 | INNOVACION VALOR Y DESARROLLO SA | 58000 | Moral | 30001000000500003434 |
MISC491214B86 | CECILIA MIRANDA SANCHEZ | 80290 | Física | 30001000000500003359 |
XIQB891116QE4 | BERENICE XIMO QUEZADA | 21855 | Física | 30001000000500003364 |
Certificate downloads (CSD + FIEL, per RFC) are on Quadrum's wiki — not redistributed here since they're binary files tied to Quadrum's sandbox: Quadrum — Archivos de Certificados.
Test RFCs — Receptores (Buyers)
Use these as buyer in test payloads. These do not have certificates — they're buyer-only.
| RFC | Nombre / Razón Social | CP | Tipo de Persona | Regímenes Fiscales Disponibles |
|---|---|---|---|---|
MASO451221PM4 | MARIA OLIVIA MARTINEZ SAGAZ | 80290 | Física | 605, 606, 607, 608, 610, 611, 612, 614, 615, 616, 621, 625, 626 |
AABF800614HI0 | FELIX MANUEL ANDRADE BALLADO | 86400 | Física | 605, 606, 607, 608, 610, 611, 612, 614, 615, 616, 621, 625, 626 |
CUSC850516316 | CESAR OSBALDO CRUZ SOLORZANO | 45638 | Física | 605, 606, 607, 608, 610, 611, 612, 614, 615, 616, 621, 625, 626 |
ICV060329BY0 | INMOBILIARIA CVA | 33826 | Moral | 601, 603, 610, 620, 622, 623, 624, 626 |
ABC970528UHA | ARENA BLANCA SCL DE CV | 80290 | Moral | 601, 603, 610, 620, 622, 623, 624, 626 |
CTE950627K46 | COMERCIALIZADORA TEODORIKAS | 57740 | Moral | 601, 603, 610, 620, 622, 623, 624, 626 |
AMO8905171T1 | ALBERCAS MONTAÑO | 22000 | Moral | 601, 603, 610, 620, 622, 623, 624, 626 |
GCA000415UX7 | GRUPO DE CONSTRUCCION ARQUITECTONICA NACIONAL | 11830 | Moral | 601, 603, 610, 620, 622, 623, 624, 626 |
HHN0507087N4 | HIDRO HORTICOLA DEL NOROESTE | 82198 | Moral | 601, 603, 610, 620, 622, 623, 624, 626 |
More test RFCs are listed on Quadrum's wiki if these don't cover your test case.
RegimenFiscal Mapping (SAT → Vertex)
Maps SAT catalog c_RegimenFiscal to the Vertex value expected in company.tax_registrations[].status (where type = "RFC").
| SAT Code | SAT Description | Vertex value |
|---|---|---|
| 601 | General de Ley Personas Morales | Régimen general |
| 603 | Personas Morales con Fines no Lucrativos | Régimen con fines no lucrativos |
| 605 | Sueldos y Salarios e Ingresos Asimilados a Salarios | Régimen de Asalariados |
| 606 | Arrendamiento | Régimen por Arrendamiento de Inmuebles |
| 607 | Régimen de Enajenación o Adquisición de Bienes | Régimen por Enajenación de Bienes |
| 608 | Demás ingresos | Otros |
| 610 | Residentes en el Extranjero sin Establecimiento Permanente en México | Residente en el extranjero |
| 611 | Ingresos por Dividendos (socios y accionistas) | Ingresos Dividendos |
| 612 | Personas Físicas con Actividades Empresariales y Profesionales | Régimen de Actividades Profesionales |
| 614 | Ingresos por intereses | Ingresos Intereses |
| 615 | Régimen de los ingresos por obtención de premios | Régimen de los ingresos por obtención de premios |
| 616 | Sin obligaciones fiscales | Sin obligaciones fiscales |
| 620 | Sociedades Cooperativas de Producción que optan por diferir sus ingresos | Sociedades Cooperativas de Producción que optan por diferir sus ingresos |
| 621 | Incorporación Fiscal | Régimen de incorporación fiscal |
| 622 | Actividades Agrícolas, Ganaderas, Silvícolas y Pesqueras | Régimen por Actividades Agrícolas, Ganaderas, Silvícolas y Pesqueras |
| 623 | Opcional para Grupos de Sociedades | Opcional para Grupos de Sociedades |
| 624 | Coordinados | Coordinados |
| 625 | Régimen de las Actividades Empresariales con ingresos a través de Plataformas Tecnológicas | Régimen de las Actividades Empresariales con ingresos a través de Plataformas Tecnológicas |
| 626 | Régimen Simplificado de Confianza | Régimen simplificado de confianza |
Updated about 8 hours ago
