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á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_MotivosCancelacionSatCancellationReasonsCatálogo de motivos de cancelación de facturas

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"
    ],
    "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>/search/<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>/search/<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?