Catálogos

Catálogos del SAT

Consulta las claves oficiales —uso de CFDI, forma de pago, régimen, unidades— en vez de codificarlas a mano.

Las claves del SAT cambian. Codificarlas en tu integración significa que un día un CFDI se rechaza y nadie sabe por qué. Estos endpoints sirven el catálogo que Facty tiene sincronizado, que es exactamente el que valida al timbrar.

No requieren organización en la URL, solo una API key válida — cualquier scope sirve.

Catálogo general

GET /api/authenticated/catalogs/sat?type={Tipo}&q={búsqueda}
ParámetroDescripción
typeRequerido. Nombre del catálogo (ver la tabla). Distingue mayúsculas.
qOpcional. Filtra por clave o por nombre, sin distinguir mayúsculas.
curl -s "$FACTY_HOST/api/authenticated/catalogs/sat?type=FormaPago" \
  -H "X-API-Key: $FACTY_KEY" | jq
{
  "items": [
    { "key": "01", "name": "Efectivo", "meta": null },
    { "key": "02", "name": "Cheque nominativo", "meta": null },
    { "key": "03", "name": "Transferencia electrónica de fondos", "meta": null },
    { "key": "99", "name": "Por definir", "meta": null }
  ]
}

Un type que no existe devuelve 422.

Tipos disponibles

CFDI 4.0 base

typeCatálogo del SAT
RegimenFiscalc_RegimenFiscal
UsoCfdic_UsoCFDI
FormaPagoc_FormaPago
MetodoPagoc_MetodoPago (PUE / PPD)
Monedac_Moneda
ClaveUnidadc_ClaveUnidad
TasaOCuotac_TasaOCuota
ObjetoImpc_ObjetoImp
TipoRelacionc_TipoRelacion
Exportacionc_Exportacion
Periodicidadc_Periodicidad (factura global)
Mesesc_Meses (factura global)

Nómina

typeCatálogo del SAT
TipoNominac_TipoNomina (O ordinaria / E extraordinaria)
TipoContratoc_TipoContrato
TipoRegimenc_TipoRegimen
TipoJornadac_TipoJornada
PeriodicidadPagoc_PeriodicidadPago
TipoPercepcionc_TipoPercepcion
TipoDeduccionc_TipoDeduccion
TipoIncapacidadc_TipoIncapacidad
TipoHorasc_TipoHoras
RiesgoPuestoc_RiesgoPuesto
EntidadFederativac_Estado
OrigenRecursoc_OrigenRecurso
Bancoc_Banco

Carta Porte

Estado, TipoPermiso, ConfigAutotransporte, SubtipoRemolque, MaterialPeligroso, ClaveProdServCP, ClaveUnidadPeso, TipoFigura, TipoUbicacion, CveTransporte, TipoEstacion, Estaciones, TipoEmbarcacion, TipoCarga, TipoContenedorMaritimo, CodigoTransportista, TipoDeServicio, TipoDeTrafico, TipoCarro, TipoContenedorFerroviario, DerechoDePaso.

Clave de producto y servicio

c_ClaveProdServ tiene unas 52,000 entradas: no se descarga, se busca.

GET /api/authenticated/catalogs/clave-prod-serv?q={texto}&limit={1-50}

q debe tener al menos 2 caracteres. Si pasas una clave completa de 8 dígitos, la devuelve como única coincidencia.

curl -s "$FACTY_HOST/api/authenticated/catalogs/clave-prod-serv?q=consultoria&limit=10" \
  -H "X-API-Key: $FACTY_KEY" | jq

Clave de unidad

GET /api/authenticated/catalogs/clave-unidad?q={texto}&limit={1-50}

Busca tanto en la clave (E48) como en el nombre ("Unidad de servicio"). Default 20 resultados.

Claves que vas a usar todo el tiempo

Forma de pago (c_FormaPago)

ClaveSignificado
01Efectivo
02Cheque nominativo
03Transferencia electrónica de fondos
04Tarjeta de crédito
28Tarjeta de débito
99Por definir — obligatoria cuando el método es PPD

Método de pago (c_MetodoPago)

ClaveSignificado
PUEPago en una sola exhibición. Ya cobraste.
PPDPago en parcialidades o diferido. Cada cobro posterior exige un complemento de pago.

Uso del CFDI (c_UsoCFDI), los más comunes

ClaveSignificado
G01Adquisición de mercancías
G03Gastos en general
I08Otra maquinaria y equipo
S01Sin efectos fiscales (público en general, traslados)
CP01Pagos — lo pone Facty solo, en los complementos de pago

El uso del CFDI tiene que ser compatible con el régimen fiscal del receptor: el SAT rechaza, por ejemplo, un G03 para un receptor con régimen 616. Si dejas que el usuario lo elija, aliméntale la lista desde ?type=UsoCfdi.