CFDI 4.0 fields are coded: payment_form is a c_FormaPago code, payment_method is c_MetodoPago,
use is c_UsoCFDI, tax_regime is c_RegimenFiscal. Get one wrong and the SAT rejects the invoice.
The /v1/catalogs endpoints return those codes with their meanings, so you (or an agent) can look up
the right value at runtime instead of hard-coding it.
The codes served here are the same tables the invoice builder validates against — what a catalog
advertises is exactly what POST /v1/invoices accepts, so they can never drift.
These endpoints are public — no API key required, so you can discover valid codes before you sign up.
List the catalogs
curl https://api.newinvoice.dev/v1/catalogs
{
"object": "list",
"data": [
{ "catalog": "uso_cfdi", "sat_catalog": "c_UsoCFDI", "name": "Uso del CFDI", "url": "/v1/catalogs/uso_cfdi", "count": 24 },
{ "catalog": "payment_forms", "sat_catalog": "c_FormaPago", "name": "Formas de pago", "url": "/v1/catalogs/payment_forms", "count": 22 }
],
"has_more": false
}
Fetch one catalog
curl https://api.newinvoice.dev/v1/catalogs/payment_forms
{
"object": "list",
"catalog": "payment_forms",
"sat_catalog": "c_FormaPago",
"name": "Formas de pago",
"data": [
{ "code": "01", "description": "Efectivo" },
{ "code": "03", "description": "Transferencia electrónica de fondos" },
{ "code": "99", "description": "Por definir" }
],
"has_more": false
}
Available catalogs
| Slug | SAT catalog | Used in |
|---|
uso_cfdi | c_UsoCFDI | use (customer + invoice level) |
payment_forms | c_FormaPago | payment_form |
payment_methods | c_MetodoPago | payment_method (PUE / PPD) |
tax_regimes | c_RegimenFiscal | tax_regime (issuer + customer) |
invoice_types | c_TipoDeComprobante | type (I / E / P …) |
taxes | c_Impuesto | line taxes[].tax |
tax_objects | c_ObjetoImp | line tax_object |
relation_types | c_TipoRelacion | relation.type |
export_types | c_Exportacion | export |
periodicities | c_Periodicidad | global-invoice periodicity |
currencies | c_Moneda | currency |
Persona-aware codes
uso_cfdi and tax_regimes entries carry a personas array — the taxpayer types a code is valid for
(fisica, moral, or both). Filter to the ones that apply with ?persona=:
curl "https://api.newinvoice.dev/v1/catalogs/uso_cfdi?persona=fisica"
currencies entries include decimals — the number of decimal places the currency allows. JPY and
CLP are 0; sending 100.50 JPY is the classic CFDI40107 rejection.
An unknown slug returns 404 catalog.not_found, whose remediation lists every valid slug.
Every code
The complete catalogs below are generated from the API’s source of truth, so they always match
exactly what POST /v1/invoices accepts — no API call needed to read them.
Uso del CFDI — c_UsoCFDI
Slug uso_cfdi · 24 codes · GET /v1/catalogs/uso_cfdi
| Code | Description | Valid for |
|---|
G01 | Adquisición de mercancías | fisica, moral |
G02 | Devoluciones, descuentos o bonificaciones | fisica, moral |
G03 | Gastos en general | fisica, moral |
I01 | Construcciones | fisica, moral |
I02 | Mobiliario y equipo de oficina por inversiones | fisica, moral |
I03 | Equipo de transporte | fisica, moral |
I04 | Equipo de cómputo y accesorios | fisica, moral |
I05 | Dados, troqueles, moldes, matrices y herramental | fisica, moral |
I06 | Comunicaciones telefónicas | fisica, moral |
I07 | Comunicaciones satelitales | fisica, moral |
I08 | Otra maquinaria y equipo | fisica, moral |
D01 | Honorarios médicos, dentales y gastos hospitalarios | fisica |
D02 | Gastos médicos por incapacidad o discapacidad | fisica |
D03 | Gastos funerales | fisica |
D04 | Donativos | fisica |
D05 | Intereses reales pagados por créditos hipotecarios | fisica |
D06 | Aportaciones voluntarias al SAR | fisica |
D07 | Primas por seguros de gastos médicos | fisica |
D08 | Gastos de transportación escolar obligatoria | fisica |
D09 | Depósitos en cuentas para el ahorro, primas de pensiones | fisica |
D10 | Pagos por servicios educativos (colegiaturas) | fisica |
S01 | Sin efectos fiscales | fisica, moral |
CP01 | Pagos | fisica, moral |
CN01 | Nómina | fisica |
Slug payment_forms · 22 codes · GET /v1/catalogs/payment_forms
| Code | Description |
|---|
01 | Efectivo |
02 | Cheque nominativo |
03 | Transferencia electrónica de fondos |
04 | Tarjeta de crédito |
05 | Monedero electrónico |
06 | Dinero electrónico |
08 | Vales de despensa |
12 | Dación en pago |
13 | Pago por subrogación |
14 | Pago por consignación |
15 | Condonación |
17 | Compensación |
23 | Novación |
24 | Confusión |
25 | Remisión de deuda |
26 | Prescripción o caducidad |
27 | A satisfacción del acreedor |
28 | Tarjeta de débito |
29 | Tarjeta de servicios |
30 | Aplicación de anticipos |
31 | Intermediario pagos |
99 | Por definir |
Métodos de pago — c_MetodoPago
Slug payment_methods · 2 codes · GET /v1/catalogs/payment_methods
| Code | Description |
|---|
PUE | Pago en una sola exhibición |
PPD | Pago en parcialidades o diferido |
Regímenes fiscales — c_RegimenFiscal
Slug tax_regimes · 19 codes · GET /v1/catalogs/tax_regimes
| Code | Description | Valid for |
|---|
601 | General de Ley Personas Morales | moral |
603 | Personas Morales con Fines no Lucrativos | moral |
605 | Sueldos y Salarios e Ingresos Asimilados a Salarios | fisica |
606 | Arrendamiento | fisica |
607 | Régimen de Enajenación o Adquisición de Bienes | fisica |
608 | Demás ingresos | fisica |
610 | Residentes en el Extranjero sin Establecimiento Permanente | fisica, moral |
611 | Ingresos por Dividendos (socios y accionistas) | fisica |
612 | Personas Físicas con Actividades Empresariales y Profesionales | fisica |
614 | Ingresos por intereses | fisica |
615 | Régimen de los ingresos por obtención de premios | fisica |
616 | Sin obligaciones fiscales | fisica, moral |
620 | Sociedades Cooperativas de Producción que optan por diferir sus ingresos | moral |
621 | Incorporación Fiscal | fisica |
622 | Actividades Agrícolas, Ganaderas, Silvícolas y Pesqueras | moral |
623 | Opcional para Grupos de Sociedades | moral |
624 | Coordinados | moral |
625 | Régimen de las Actividades Empresariales con ingresos a través de Plataformas Tecnológicas | fisica |
626 | Régimen Simplificado de Confianza | fisica, moral |
Tipos de comprobante — c_TipoDeComprobante
Slug invoice_types · 5 codes · GET /v1/catalogs/invoice_types
| Code | Description |
|---|
I | Ingreso |
E | Egreso |
T | Traslado |
N | Nómina |
P | Pago |
Impuestos — c_Impuesto
Slug taxes · 3 codes · GET /v1/catalogs/taxes
| Code | Description |
|---|
001 | ISR |
002 | IVA |
003 | IEPS |
Objeto de impuesto — c_ObjetoImp
Slug tax_objects · 4 codes · GET /v1/catalogs/tax_objects
| Code | Description |
|---|
01 | No objeto de impuesto |
02 | Sí objeto de impuesto |
03 | Sí objeto del impuesto y no obligado al desglose |
04 | Sí objeto del impuesto y no causa impuesto |
Tipos de relación — c_TipoRelacion
Slug relation_types · 7 codes · GET /v1/catalogs/relation_types
| Code | Description |
|---|
01 | Nota de crédito de los documentos relacionados |
02 | Nota de débito de los documentos relacionados |
03 | Devolución de mercancía sobre facturas o traslados previos |
04 | Sustitución de los CFDI previos |
05 | Traslados de mercancías facturados previamente |
06 | Factura generada por los traslados previos |
07 | CFDI por aplicación de anticipo |
Exportación — c_Exportacion
Slug export_types · 4 codes · GET /v1/catalogs/export_types
| Code | Description |
|---|
01 | No aplica |
02 | Definitiva con clave A1 |
03 | Temporal |
04 | Definitiva con clave distinta a A1 |
Periodicidad (factura global) — c_Periodicidad
Slug periodicities · 5 codes · GET /v1/catalogs/periodicities
| Code | Description |
|---|
01 | Diario |
02 | Semanal |
03 | Quincenal |
04 | Mensual |
05 | Bimestral |
Monedas — c_Moneda
Slug currencies · 22 codes · GET /v1/catalogs/currencies
| Code | Decimals |
|---|
MXN | 2 |
USD | 2 |
EUR | 2 |
CAD | 2 |
GBP | 2 |
JPY | 0 |
CHF | 2 |
CNY | 2 |
AUD | 2 |
BRL | 2 |
ARS | 2 |
COP | 2 |
CLP | 0 |
PEN | 2 |
DKK | 2 |
SEK | 2 |
NOK | 2 |
HKD | 2 |
SGD | 2 |
NZD | 2 |
KRW | 0 |
XXX | 0 |