Skip to main content
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

SlugSAT catalogUsed in
uso_cfdic_UsoCFDIuse (customer + invoice level)
payment_formsc_FormaPagopayment_form
payment_methodsc_MetodoPagopayment_method (PUE / PPD)
tax_regimesc_RegimenFiscaltax_regime (issuer + customer)
invoice_typesc_TipoDeComprobantetype (I / E / P …)
taxesc_Impuestoline taxes[].tax
tax_objectsc_ObjetoImpline tax_object
relation_typesc_TipoRelacionrelation.type
export_typesc_Exportacionexport
periodicitiesc_Periodicidadglobal-invoice periodicity
currenciesc_Monedacurrency

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
CodeDescriptionValid for
G01Adquisición de mercancíasfisica, moral
G02Devoluciones, descuentos o bonificacionesfisica, moral
G03Gastos en generalfisica, moral
I01Construccionesfisica, moral
I02Mobiliario y equipo de oficina por inversionesfisica, moral
I03Equipo de transportefisica, moral
I04Equipo de cómputo y accesoriosfisica, moral
I05Dados, troqueles, moldes, matrices y herramentalfisica, moral
I06Comunicaciones telefónicasfisica, moral
I07Comunicaciones satelitalesfisica, moral
I08Otra maquinaria y equipofisica, moral
D01Honorarios médicos, dentales y gastos hospitalariosfisica
D02Gastos médicos por incapacidad o discapacidadfisica
D03Gastos funeralesfisica
D04Donativosfisica
D05Intereses reales pagados por créditos hipotecariosfisica
D06Aportaciones voluntarias al SARfisica
D07Primas por seguros de gastos médicosfisica
D08Gastos de transportación escolar obligatoriafisica
D09Depósitos en cuentas para el ahorro, primas de pensionesfisica
D10Pagos por servicios educativos (colegiaturas)fisica
S01Sin efectos fiscalesfisica, moral
CP01Pagosfisica, moral
CN01Nóminafisica

Formas de pago — c_FormaPago

Slug payment_forms · 22 codes · GET /v1/catalogs/payment_forms
CodeDescription
01Efectivo
02Cheque nominativo
03Transferencia electrónica de fondos
04Tarjeta de crédito
05Monedero electrónico
06Dinero electrónico
08Vales de despensa
12Dación en pago
13Pago por subrogación
14Pago por consignación
15Condonación
17Compensación
23Novación
24Confusión
25Remisión de deuda
26Prescripción o caducidad
27A satisfacción del acreedor
28Tarjeta de débito
29Tarjeta de servicios
30Aplicación de anticipos
31Intermediario pagos
99Por definir

Métodos de pago — c_MetodoPago

Slug payment_methods · 2 codes · GET /v1/catalogs/payment_methods
CodeDescription
PUEPago en una sola exhibición
PPDPago en parcialidades o diferido

Regímenes fiscales — c_RegimenFiscal

Slug tax_regimes · 19 codes · GET /v1/catalogs/tax_regimes
CodeDescriptionValid for
601General de Ley Personas Moralesmoral
603Personas Morales con Fines no Lucrativosmoral
605Sueldos y Salarios e Ingresos Asimilados a Salariosfisica
606Arrendamientofisica
607Régimen de Enajenación o Adquisición de Bienesfisica
608Demás ingresosfisica
610Residentes en el Extranjero sin Establecimiento Permanentefisica, moral
611Ingresos por Dividendos (socios y accionistas)fisica
612Personas Físicas con Actividades Empresariales y Profesionalesfisica
614Ingresos por interesesfisica
615Régimen de los ingresos por obtención de premiosfisica
616Sin obligaciones fiscalesfisica, moral
620Sociedades Cooperativas de Producción que optan por diferir sus ingresosmoral
621Incorporación Fiscalfisica
622Actividades Agrícolas, Ganaderas, Silvícolas y Pesquerasmoral
623Opcional para Grupos de Sociedadesmoral
624Coordinadosmoral
625Régimen de las Actividades Empresariales con ingresos a través de Plataformas Tecnológicasfisica
626Régimen Simplificado de Confianzafisica, moral

Tipos de comprobante — c_TipoDeComprobante

Slug invoice_types · 5 codes · GET /v1/catalogs/invoice_types
CodeDescription
IIngreso
EEgreso
TTraslado
NNómina
PPago

Impuestos — c_Impuesto

Slug taxes · 3 codes · GET /v1/catalogs/taxes
CodeDescription
001ISR
002IVA
003IEPS

Objeto de impuesto — c_ObjetoImp

Slug tax_objects · 4 codes · GET /v1/catalogs/tax_objects
CodeDescription
01No objeto de impuesto
02Sí objeto de impuesto
03Sí objeto del impuesto y no obligado al desglose
04Sí objeto del impuesto y no causa impuesto

Tipos de relación — c_TipoRelacion

Slug relation_types · 7 codes · GET /v1/catalogs/relation_types
CodeDescription
01Nota de crédito de los documentos relacionados
02Nota de débito de los documentos relacionados
03Devolución de mercancía sobre facturas o traslados previos
04Sustitución de los CFDI previos
05Traslados de mercancías facturados previamente
06Factura generada por los traslados previos
07CFDI por aplicación de anticipo

Exportación — c_Exportacion

Slug export_types · 4 codes · GET /v1/catalogs/export_types
CodeDescription
01No aplica
02Definitiva con clave A1
03Temporal
04Definitiva con clave distinta a A1

Periodicidad (factura global) — c_Periodicidad

Slug periodicities · 5 codes · GET /v1/catalogs/periodicities
CodeDescription
01Diario
02Semanal
03Quincenal
04Mensual
05Bimestral

Monedas — c_Moneda

Slug currencies · 22 codes · GET /v1/catalogs/currencies
CodeDecimals
MXN2
USD2
EUR2
CAD2
GBP2
JPY0
CHF2
CNY2
AUD2
BRL2
ARS2
COP2
CLP0
PEN2
DKK2
SEK2
NOK2
HKD2
SGD2
NZD2
KRW0
XXX0