Catálogos del SAT
El Servicio de Administración Tributaria (SAT) proporciona un conjunto de catálogos estandar para la facturación electrónica en México. Estos catálogos contienen codigos y descripciones que se utilizan de manera obligatoria en la emisión de facturas CFDI.
Equivalencia entre catálogos del SAT y Fiscalapi
Fiscalapi proporciona los siguientes catálogos con exactamente los mismos registros que los catálogos oficiales del SAT.
Por ejemplo, el catálogo SatPaymentForms contiene los mismos registros que el catálogo c_FormaPago del SAT.
Catálogos de Facturación
| Catálogo SAT | Catálogo API | Descripción |
|---|---|---|
| c_FormaPago | SatPaymentForms | Catálogo de métodos de pago aceptados en la factura |
| c_Moneda | SatCurrencies | Catálogo de monedas permitidas en la factura |
| c_TipoDeComprobante | SatInvoiceTypes | Catálogo de tipos de factura permitidas en la factura |
| c_Exportacion | SatExportCodes | Catálogo de operaciones de exportación en la factura |
| c_MetodoPago | SatPaymentMethods | Catálogo de métodos de pago en la factura |
| c_Periodicidad | SatPeriodicities | Catálogo de periodicidad de la factura global |
| c_Meses | SatMonths | Catálogo de periodos aplicables a la factura |
| c_TipoRelacion | SatRelationshipTypes | Catálogo de tipos de relación entre facturas |
| c_RegimenFiscal | SatTaxRegimes | Catálogo de regímenes fiscales del emisor/receptor de la factura |
| c_UsoCFDI | SatCfdiUses | Catálogo de usos del cfdi de la factura |
| c_ClaveProdServ | SatProductCodes | Catálogo de claves de productos y servicios de la factura |
| c_ClaveUnidad | SatUnitMeasurements | Catálogo de unidades de medida para los productos de la factura |
| c_ObjetoImp | SatTaxObjects | Catálogo de objetos de impuesto para los productos de la factrua |
| c_Impuesto | SatTaxes | Catálogo de impuestos aplicables en la factura |
| c_TipoFactor | SatTaxTypes | Catálogo de tipos de factor en impuestos de los productos de la factura |
| c_MotivosCancelacion | SatMotivosCancelacion | Catálogo de motivos de cancelación de facturas |
| c_Pais | SatCountries | Catálogo de códigos de países conforme al estándar ISO 3166-1 |
| c_Estado | SatStates | Catálogo de entidades federativas de México, estados de EUA y provincias de Canadá |
Catálogos de nómina
| Catálogo SAT | Catálogo API | Descripción |
|---|---|---|
| c_Banco | SatBanks | Catálogo de bancos para transferencias de nómina |
| c_OrigenRecurso | SatFundSources | Catálogo de origen de recursos para empresas del SNCF en la nómina |
| c_PeriodicidadPago | SatPaymentPeriodicities | Catálogo de periodicidad de pago en la nómina |
| c_TipoContrato | SatContractTypes | Catálogo de tipos de contrato que puede tener un empleado y un empleador |
| c_TipoDeduccion | SatDeductionTypes | Catálogo de tipos de deducción que puede tener un empleado y un empleador |
| c_TipoHoras | SatOvertimeTypes | Catálogo de tipos de horas extra que un empleado puede hacer |
| c_TipoIncapacidad | SatDisabilityTypes | Catálogo de tipos de incapacidad que puede tener un empleado |
| c_TipoJornada | SatWorkdayTypes | Catálogo de tipos de jornada laboral que puede tener un empleado |
| c_TipoNomina | SatPayrollTypes | Catálogo de tipos de nómina |
| c_TipoOtroPago | SatOtherPaymentTypes | Catálogo de tipos de otros pagos que puede tener un empleado |
| c_TipoPercepcion | SatEarningTypes | Catálogo de tipos de percepción que puede tener un empleado |
| c_TipoRegimen | SatTaxRegimeTypes | Catálogo de tipos de régimen fiscal de contratación que puede tener un empleado |
| c_RiesgoPuesto | SatJobRisks | Catálogo de riesgo de trabajo que puede tener un empleado |
| c_Estado | SatPayrollStates | Catálogo de entidades federativas donde puede estar ubicado el centro de trabajo |
| c_Sindicalizado | SatUnionizedStatuses | Catálogo para indicar si el trabajador pertenece a un sindicato |
Catálogos internos de Fiscalapi
| Catálogo API | Descripción |
|---|---|
| ProductTypes | Tipos de producto de la clasificación UNSPSC (nivel segmento) |
| ProductDivisions | Divisiones de producto de la clasificación UNSPSC (nivel división) |
| ProductGroups | Grupos de producto de la clasificación UNSPSC (nivel grupo) |
| ProductClasses | Clases de producto de la clasificación UNSPSC (nivel clase) |
| UserTypes | Tipos de usuario del sistema |
| ReportRuleTypes | Tipos de regla de reportes |
| Taxes | Impuestos aplicables (ISR, IVA, IEPS) |
| TaxFlags | Naturaleza del impuesto: retención (R) o traslado (T) |
| TaxTypes | Tipos de factor de impuesto: Tasa, Cuota o Exento |
| TaxRules | Reglas de cálculo de impuestos por tipo/división/grupo/clase de producto |
| PersonTypes | Tipos de persona (física o moral) |
| InvoiceStatuses | Estatus de factura en el ciclo de vida del CFDI |
Catálogos de Carta Porte 3.1
| Catálogo SAT | Catálogo API | Descripción |
|---|---|---|
| c_CveTransporte | SatCveTransporte | Clave del medio de transporte: Autotransporte (01), Marítimo (02), Aéreo (03), Ferroviario (04) |
| c_TipoEstacion | SatTipoEstacion | Tipo de estación: Origen Nacional (01), Intermedia (02), Destino Nacional (03) |
| c_Estaciones | SatEstaciones | Estaciones y terminales de origen, intermedias y destino para cada tipo de transporte |
| c_TipoPermiso | SatTipoPermiso | Tipos de permiso otorgados por la SCT para transporte de carga y pasajeros |
| c_ClaveUnidadPeso | SatClaveUnidadPeso | Claves de unidades de peso: Kilogramo (KGM), Tonelada (TNE), Libra (LBR), entre otros |
| c_MotivoTraslado | SatMotivoTraslado | Motivo del traslado de mercancías amparado en el CFDI |
| c_TipoMateria | SatTipoMateria | Tipo de materia o mercancía transportada |
| c_SectorCOFEPRIS | SatSectorCOFEPRIS | Sector COFEPRIS: Medicamentos (01), Precursores (02), Psicotrópicos (03), Tóxicas (04), Plaguicidas (05) |
| c_FormaFarmaceutica | SatFormaFarmaceutica | Forma farmacéutica del producto cuando el sector COFEPRIS es Medicamentos |
| c_CondicionesEspeciales | SatCondicionesEspeciales | Condiciones especiales de transporte para mercancías reguladas por COFEPRIS |
| c_RegistroISTMO | SatRegistroISTMO | Registro del Corredor Interoceánico del Istmo de Tehuantepec |
| c_ClaveTipoCarga | SatClaveTipoCarga | Clasificación del tipo de carga transportada |
| c_Colonia | SatColonia | Colonias de las ubicaciones de origen y destino |
| c_Localidad | SatLocalidad | Localidades de las ubicaciones de origen y destino |
| c_Municipio | SatMunicipio | Municipios de las ubicaciones de origen y destino |
| c_MaterialPeligroso | SatMaterialPeligroso | Materiales peligrosos conforme a la NOM: explosivos, municiones, sustancias químicas |
| c_TipoEmbalaje | SatTipoEmbalaje | Tipo de embalaje para transporte de materiales peligrosos |
| c_ConfigAutotransporte | SatConfigAutotransporte | Configuración vehicular del autotransporte (tipo de vehículo y remolque) |
| c_SubTipoRem | SatSubTipoRem | Subtipo de remolque o semirremolque del autotransporte |
| c_ParteTransporte | SatParteTransporte | Partes o segmentos del transporte |
| c_FiguraTransporte | SatFiguraTransporte | Figuras de transporte: Operador (01), Propietario, Arrendatario, Notificado |
| c_ConfigMaritima | SatConfigMaritima | Configuración del transporte marítimo |
| c_ContenedorMaritimo | SatContenedorMaritimo | Tipos de contenedor marítimo |
| c_NumAutorizacionNaviero | SatNumAutorizacionNaviero | Número de autorización del agente naviero consignatario |
| c_TipoDeServicio | SatTipoDeServicio | Tipo de servicio marítimo |
| c_CodigoTransporteAereo | SatCodigoTransporteAereo | Códigos de líneas aéreas para transporte de carga |
| c_DerechosDePaso | SatDerechosDePaso | Derechos de paso (peaje) en rutas ferroviarias |
| c_TipoCarro | SatTipoCarro | Tipo de carro ferroviario |
| c_Contenedor | SatContenedor | Especificaciones de contenedores ferroviarios |
| c_TipoDeTrafico | SatTipoDeTrafico | Tipo de tráfico ferroviario |
| c_RegimenAduanero | SatRegimenAduanero | Régimen aduanero: Importación Definitiva (IMD), Exportación Definitiva (EXD), Temporal (ITR), Depósito Fiscal (DFI), Tránsito (TRA) |
| c_DocumentoAduanero | SatDocumentoAduanero | Tipo de documento aduanero |
| c_FlagTipoUbicacion | SatFlagTipoUbicacion | Tipo de ubicación: Origen o Destino |
| c_FlagNavegacionTrafico | SatFlagNavegacionTrafico | Indicador de navegación y tráfico marítimo |
| c_FlagMaterialPeligroso | SatFlagMaterialPeligroso | Indicador de material peligroso: Sí o No |
| c_FlagLogisticaInversaRecoleccionDevolucion | SatFlagLogisticaInversaRecoleccionDevolucion | Indicador de logística inversa para recolección o devolución |
| c_FlagTranspInternac | SatFlagTranspInternac | Indicador de transporte internacional: Sí o No |
| c_FlagEntradaSalidaMerc | SatFlagEntradaSalidaMerc | Indicador de entrada o salida de mercancía |
| c_FlagRegistroISTMO | SatFlagRegistroISTMO | Indicador de registro en el Corredor del Istmo de Tehuantepec |
Catálogos de Comercio Exterior 2.0
| Catálogo SAT | Catálogo API | Descripción |
|---|---|---|
| c_ClavePedimento | SatClavePedimento | Clave del pedimento de importación o exportación |
| c_FraccionArancelaria | SatFraccionArancelaria | Fracción arancelaria de la mercancía en operaciones de comercio exterior |
| c_INCOTERM | SatINCOTERM | Términos de comercio internacional (INCOTERM) que definen responsabilidades en la entrega |
| c_TipoOperacion | SatTipoOperacion | Tipo de operación de comercio exterior |
| c_UnidadAduana | SatUnidadAduana | Unidad de medida utilizada en la documentación aduanera |
Modelo PagedList
El modelo PagedList se utiliza para representar las respuestas paginadas. El modelo CatalogDto representa un registro de un catálogo del SAT. Debido a la gran cantidad de registros que contienen los catálogos del SAT, todas las respuestas de este recurso se entregan en formato paginado.
Propiedades
- Name
items- Type
- array of objects (CatalogDto)?
- Description
Lista de elementos en la página actual.
- Name
pageNumber- Type
- integer | number?
- Description
Página actual.
- Name
totalPages- Type
- integer | number?
- Description
Total de páginas.
- Name
totalCount- Type
- integer | number?
- Description
Total de elementos.
- Name
hasPreviousPage- Type
- boolean?
- Description
Indica si hay una página anterior.
- Name
hasNextPage- Type
- boolean?
- Description
Indica si hay una página siguiente.
Listar catálogos
Este endpoint devuelve una lista no paginada de los catálogos disponibles. Estos nombres se utilizan para consultar o buscar registros en un catálogo en particular.
Request
curl --location 'https://test.fiscalapi.com/api/v4/catalogs' \
--header 'X-TENANT-KEY: <tenant>' \
--header 'X-TIME-ZONE: America/Mexico_City' \
--header 'X-API-KEY: <api-key>' \
--data ''
Response
{
"data": [
"SatCfdiUses",
"SatCountries",
"SatCurrencies",
"SatExportCodes",
"SatInvoiceTypes",
"SatMonths",
"SatTaxObjects",
"SatPaymentForms",
"SatPaymentMethods",
"SatPeriodicities",
"SatProductCodes",
"SatRelationshipTypes",
"SatTaxes",
"SatStates",
"SatTaxRegimes",
"SatTaxTypes",
"SatUnitMeasurements",
"ProductTypes",
"ProductDivisions",
"ProductGroups",
"ProductClasses",
"UserTypes",
"ReportRuleTypes",
"Taxes",
"TaxFlags",
"TaxTypes",
"TaxRules",
"PersonTypes",
"InvoiceStatuses",
"SatBanks",
"SatFundSources",
"SatPaymentPeriodicities",
"SatContractTypes",
"SatDeductionTypes",
"SatOvertimeTypes",
"SatDisabilityTypes",
"SatWorkdayTypes",
"SatPayrollTypes",
"SatOtherPaymentTypes",
"SatEarningTypes",
"SatTaxRegimeTypes",
"SatJobRisks",
"SatPayrollStates",
"SatUnionizedStatuses",
"SatRegimenAduanero",
"SatCveTransporte",
"SatTipoEstacion",
"SatEstaciones",
"SatClaveUnidadPeso",
"SatMaterialPeligroso",
"SatTipoEmbalaje",
"SatTipoPermiso",
"SatColonia",
"SatLocalidad",
"SatMunicipio",
"SatSectorCOFEPRIS",
"SatFormaFarmaceutica",
"SatCondicionesEspeciales",
"SatTipoMateria",
"SatDocumentoAduanero",
"SatParteTransporte",
"SatFiguraTransporte",
"SatConfigAutotransporte",
"SatSubTipoRem",
"SatRegistroISTMO",
"SatConfigMaritima",
"SatClaveTipoCarga",
"SatContenedorMaritimo",
"SatNumAutorizacionNaviero",
"SatCodigoTransporteAereo",
"SatTipoDeServicio",
"SatDerechosDePaso",
"SatTipoCarro",
"SatContenedor",
"SatTipoDeTrafico",
"SatFlagTipoUbicacion",
"SatFlagNavegacionTrafico",
"SatFlagMaterialPeligroso",
"SatFlagLogisticaInversaRecoleccionDevolucion",
"SatFlagTranspInternac",
"SatFlagEntradaSalidaMerc",
"SatFlagRegistroISTMO",
"SatMotivosCancelacion",
"SatClavePedimento",
"SatFraccionArancelaria",
"SatINCOTERM",
"SatMotivoTraslado",
"SatTipoOperacion",
"SatUnidadAduana"
],
"succeeded": true,
"message": "",
"details": "",
"httpStatusCode": 200
}
Obtener registro por ID
Este endpoint le permite obtener un registro específico de un catálogo específico. Recibe como parámetros el nombre del catálogo y el ID del registro.
Request
curl --location 'https://test.fiscalapi.com/api/v4/catalogs/SatPaymentForms/key/03' \
--header 'X-TENANT-KEY: <tenant-key>' \
--header 'X-TIME-ZONE: America/Mexico_City' \
--header 'X-API-KEY: <api-key>' \
--data ''
Response
{
"data": {
"id": "03",
"description": "Transferencia electrónica de fondos",
"createdAt": "2024-08-10T15:46:30.3730000",
"updatedAt": null
},
"succeeded": true,
"message": "",
"details": "",
"httpStatusCode": 200
}
Buscar en un catálogo
Este le permite buscar registros en un catálogo específico pasando como parámetro el nombre del catálogo y un término de búsqueda.
Query parameters
- Name
pageNumber- Type
- integer | number
- required
- Description
El número de página que se desea recuperar.
Default:1
- Name
pageSize- Type
- integer | number
- required
- Description
Valor entre 1 y 100 inclusivo para indicar la cantidad de registros devueltos por página.
Default:50
Request
curl --location 'https://test.fiscalapi.com/api/v4/catalogs/SatPaymentForms/Tarjeta?pageNumber=1&pageSize=100' \
--header 'X-TENANT-KEY: <tenant-key>' \
--header 'X-TIME-ZONE: America/Mexico_City' \
--header 'X-API-KEY: <api-key>' \
--data ''
Response
{
"data": {
"items": [
{
"id": "04",
"description": "Tarjeta de crédito",
"createdAt": "0001-01-01T00:00:00.0000000",
"updatedAt": null
},
{
"id": "28",
"description": "Tarjeta de débito",
"createdAt": "0001-01-01T00:00:00.0000000",
"updatedAt": null
},
{
"id": "29",
"description": "Tarjeta de servicios",
"createdAt": "0001-01-01T00:00:00.0000000",
"updatedAt": null
}
],
"pageNumber": 1,
"totalPages": 1,
"totalCount": 3,
"hasPreviousPage": false,
"hasNextPage": false
},
"succeeded": true,
"message": "",
"details": "",
"httpStatusCode": 200
}