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 SATCatálogo APIDescripción
c_FormaPagoSatPaymentFormsCatálogo de métodos de pago aceptados en la factura
c_MonedaSatCurrenciesCatálogo de monedas permitidas en la factura
c_TipoDeComprobanteSatInvoiceTypesCatálogo de tipos de factura permitidas en la factura
c_ExportacionSatExportCodesCatálogo de operaciones de exportación en la factura
c_MetodoPagoSatPaymentMethodsCatálogo de métodos de pago en la factura
c_PeriodicidadSatPeriodicitiesCatálogo de periodicidad de la factura global
c_MesesSatMonthsCatálogo de periodos aplicables a la factura
c_TipoRelacionSatRelationshipTypesCatálogo de tipos de relación entre facturas
c_RegimenFiscalSatTaxRegimesCatálogo de regímenes fiscales del emisor/receptor de la factura
c_UsoCFDISatCfdiUsesCatálogo de usos del cfdi de la factura
c_ClaveProdServSatProductCodesCatálogo de claves de productos y servicios de la factura
c_ClaveUnidadSatUnitMeasurementsCatálogo de unidades de medida para los productos de la factura
c_ObjetoImpSatTaxObjectsCatálogo de objetos de impuesto para los productos de la factrua
c_ImpuestoSatTaxesCatálogo de impuestos aplicables en la factura
c_TipoFactorSatTaxTypesCatálogo de tipos de factor en impuestos de los productos de la factura
c_MotivosCancelacionSatMotivosCancelacionCatálogo de motivos de cancelación de facturas
c_PaisSatCountriesCatálogo de códigos de países conforme al estándar ISO 3166-1
c_EstadoSatStatesCatálogo de entidades federativas de México, estados de EUA y provincias de Canadá

Catálogos de nómina

Catálogo SATCatálogo APIDescripción
c_BancoSatBanksCatálogo de bancos para transferencias de nómina
c_OrigenRecursoSatFundSourcesCatálogo de origen de recursos para empresas del SNCF en la nómina
c_PeriodicidadPagoSatPaymentPeriodicitiesCatálogo de periodicidad de pago en la nómina
c_TipoContratoSatContractTypesCatálogo de tipos de contrato que puede tener un empleado y un empleador
c_TipoDeduccionSatDeductionTypesCatálogo de tipos de deducción que puede tener un empleado y un empleador
c_TipoHorasSatOvertimeTypesCatálogo de tipos de horas extra que un empleado puede hacer
c_TipoIncapacidadSatDisabilityTypesCatálogo de tipos de incapacidad que puede tener un empleado
c_TipoJornadaSatWorkdayTypesCatálogo de tipos de jornada laboral que puede tener un empleado
c_TipoNominaSatPayrollTypesCatálogo de tipos de nómina
c_TipoOtroPagoSatOtherPaymentTypesCatálogo de tipos de otros pagos que puede tener un empleado
c_TipoPercepcionSatEarningTypesCatálogo de tipos de percepción que puede tener un empleado
c_TipoRegimenSatTaxRegimeTypesCatálogo de tipos de régimen fiscal de contratación que puede tener un empleado
c_RiesgoPuestoSatJobRisksCatálogo de riesgo de trabajo que puede tener un empleado
c_EstadoSatPayrollStatesCatálogo de entidades federativas donde puede estar ubicado el centro de trabajo
c_SindicalizadoSatUnionizedStatusesCatálogo para indicar si el trabajador pertenece a un sindicato

Catálogos internos de Fiscalapi

Catálogo APIDescripción
ProductTypesTipos de producto de la clasificación UNSPSC (nivel segmento)
ProductDivisionsDivisiones de producto de la clasificación UNSPSC (nivel división)
ProductGroupsGrupos de producto de la clasificación UNSPSC (nivel grupo)
ProductClassesClases de producto de la clasificación UNSPSC (nivel clase)
UserTypesTipos de usuario del sistema
ReportRuleTypesTipos de regla de reportes
TaxesImpuestos aplicables (ISR, IVA, IEPS)
TaxFlagsNaturaleza del impuesto: retención (R) o traslado (T)
TaxTypesTipos de factor de impuesto: Tasa, Cuota o Exento
TaxRulesReglas de cálculo de impuestos por tipo/división/grupo/clase de producto
PersonTypesTipos de persona (física o moral)
InvoiceStatusesEstatus de factura en el ciclo de vida del CFDI

Catálogos de Carta Porte 3.1

Catálogo SATCatálogo APIDescripción
c_CveTransporteSatCveTransporteClave del medio de transporte: Autotransporte (01), Marítimo (02), Aéreo (03), Ferroviario (04)
c_TipoEstacionSatTipoEstacionTipo de estación: Origen Nacional (01), Intermedia (02), Destino Nacional (03)
c_EstacionesSatEstacionesEstaciones y terminales de origen, intermedias y destino para cada tipo de transporte
c_TipoPermisoSatTipoPermisoTipos de permiso otorgados por la SCT para transporte de carga y pasajeros
c_ClaveUnidadPesoSatClaveUnidadPesoClaves de unidades de peso: Kilogramo (KGM), Tonelada (TNE), Libra (LBR), entre otros
c_MotivoTrasladoSatMotivoTrasladoMotivo del traslado de mercancías amparado en el CFDI
c_TipoMateriaSatTipoMateriaTipo de materia o mercancía transportada
c_SectorCOFEPRISSatSectorCOFEPRISSector COFEPRIS: Medicamentos (01), Precursores (02), Psicotrópicos (03), Tóxicas (04), Plaguicidas (05)
c_FormaFarmaceuticaSatFormaFarmaceuticaForma farmacéutica del producto cuando el sector COFEPRIS es Medicamentos
c_CondicionesEspecialesSatCondicionesEspecialesCondiciones especiales de transporte para mercancías reguladas por COFEPRIS
c_RegistroISTMOSatRegistroISTMORegistro del Corredor Interoceánico del Istmo de Tehuantepec
c_ClaveTipoCargaSatClaveTipoCargaClasificación del tipo de carga transportada
c_ColoniaSatColoniaColonias de las ubicaciones de origen y destino
c_LocalidadSatLocalidadLocalidades de las ubicaciones de origen y destino
c_MunicipioSatMunicipioMunicipios de las ubicaciones de origen y destino
c_MaterialPeligrosoSatMaterialPeligrosoMateriales peligrosos conforme a la NOM: explosivos, municiones, sustancias químicas
c_TipoEmbalajeSatTipoEmbalajeTipo de embalaje para transporte de materiales peligrosos
c_ConfigAutotransporteSatConfigAutotransporteConfiguración vehicular del autotransporte (tipo de vehículo y remolque)
c_SubTipoRemSatSubTipoRemSubtipo de remolque o semirremolque del autotransporte
c_ParteTransporteSatParteTransportePartes o segmentos del transporte
c_FiguraTransporteSatFiguraTransporteFiguras de transporte: Operador (01), Propietario, Arrendatario, Notificado
c_ConfigMaritimaSatConfigMaritimaConfiguración del transporte marítimo
c_ContenedorMaritimoSatContenedorMaritimoTipos de contenedor marítimo
c_NumAutorizacionNavieroSatNumAutorizacionNavieroNúmero de autorización del agente naviero consignatario
c_TipoDeServicioSatTipoDeServicioTipo de servicio marítimo
c_CodigoTransporteAereoSatCodigoTransporteAereoCódigos de líneas aéreas para transporte de carga
c_DerechosDePasoSatDerechosDePasoDerechos de paso (peaje) en rutas ferroviarias
c_TipoCarroSatTipoCarroTipo de carro ferroviario
c_ContenedorSatContenedorEspecificaciones de contenedores ferroviarios
c_TipoDeTraficoSatTipoDeTraficoTipo de tráfico ferroviario
c_RegimenAduaneroSatRegimenAduaneroRégimen aduanero: Importación Definitiva (IMD), Exportación Definitiva (EXD), Temporal (ITR), Depósito Fiscal (DFI), Tránsito (TRA)
c_DocumentoAduaneroSatDocumentoAduaneroTipo de documento aduanero
c_FlagTipoUbicacionSatFlagTipoUbicacionTipo de ubicación: Origen o Destino
c_FlagNavegacionTraficoSatFlagNavegacionTraficoIndicador de navegación y tráfico marítimo
c_FlagMaterialPeligrosoSatFlagMaterialPeligrosoIndicador de material peligroso: Sí o No
c_FlagLogisticaInversaRecoleccionDevolucionSatFlagLogisticaInversaRecoleccionDevolucionIndicador de logística inversa para recolección o devolución
c_FlagTranspInternacSatFlagTranspInternacIndicador de transporte internacional: Sí o No
c_FlagEntradaSalidaMercSatFlagEntradaSalidaMercIndicador de entrada o salida de mercancía
c_FlagRegistroISTMOSatFlagRegistroISTMOIndicador de registro en el Corredor del Istmo de Tehuantepec

Catálogos de Comercio Exterior 2.0

Catálogo SATCatálogo APIDescripción
c_ClavePedimentoSatClavePedimentoClave del pedimento de importación o exportación
c_FraccionArancelariaSatFraccionArancelariaFracción arancelaria de la mercancía en operaciones de comercio exterior
c_INCOTERMSatINCOTERMTérminos de comercio internacional (INCOTERM) que definen responsabilidades en la entrega
c_TipoOperacionSatTipoOperacionTipo de operación de comercio exterior
c_UnidadAduanaSatUnidadAduanaUnidad 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.


GET/api/v4/catalogs

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

GET
/api/v4/catalogs
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
}

GET/api/v4/catalogs/<catalogName>/key/<recordId>

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

GET
/v4/catalogs/<catalogName>/key/<recordId>
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
}

GET/api/v4/catalogs/<catalogName>/<searchTerm>

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

GET
/v4/catalogs/<catalogName>/<searchTerm>
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
}

¿Le resultó útil esta página?