NAV
shell php
  • Introducción
  • Autenticación
  • Probar Conexión
  • Obtener Saldo
  • Cambios de CFDi 3.3 a 4.0
  • Timbrado CFDi 4.0
  • Catálogos SAT CFDi 4.0
  • Comprobante Global 4.0
  • Cambios de REP 1.0 a 2.0
  • Recibo Electrónico de Pago 2.0
  • Complementos
  • Cambios Carta Porte 3.0 a 3.1
  • Carta Porte 3.1
  • Catálogo de Errores
  • Enviar Correo
  • Información CFDi
  • Listar Comprobantes
  • Cancelar CFDi 2022
  • AutoFacturación
  • Diseños de PDF
  • ¿Tienes dudas? Contáctanos
  • Archivo
  • Introducción

    A continuación encontrarás la documentación completa para poder consumir el API de Enlace Fiscal. Nuestro API se especializa en la generación y timbrado de Comprobantes Fiscales Digitales por Internet (CFDi), el tipo de comprobante fiscal más conocido es la Factura Electrónica pero se puede emitir cualquier tipo de comprobante incluyendo Recibos de Donativos y Nómina Electrónica. Nuestro API ya soporta la versión 3.3 del SAT que entró en vigor el 1 de Julio de 2017.

    Endpoints

    Los endpoints o funciones disponibles en nuestro API son los siguientes:

    Generales

    CFDi Comerciales

     Nómina

     Configuración para Diseños de PDF

    Autenticación

    # Realizar la petición desde shell es muy sencillo utilizando CURL  
    
    curl "https://api.enlacefiscal.com/v6/probarConexion" 
      --request "POST" 
      --header "Content-Type:application/json"
      --header "x-api-key:e9aT1ajrRh1NyRkzOtDoN1ZEGmIsEKuJ6f3FYyLh"
      --user "AAA010101AAA:7aa16d2e055554fcf3d182758db23c91"
      --data '{"Solicitud" : {"modo" : "produccion", "rfc" : "AAA010101AAA", "accion": "probarConexion" } }'
    

    Nuestro API utiliza autenticación vía headers de HTTP. Cada petición a nuestro API deben ser enviada con un usuario, un token y un API Key para que pueda ser autenticada.

    Probar Conexión

    Probar Conexión

    
    curl "https://api.enlacefiscal.com/v6/probarConexion" 
      --request "POST" 
      --header "Content-Type:application/json"
      --header "x-api-key:e9aT1ajrRh1NyRkzOtDoN1ZEGmIsEKuJ6f3FYyLh"
      --user "AAA010101AAA:7aa16d2e055554fcf3d182758db23c91"
      --data '{"Solicitud" : { "rfc" : "AAA010101AAA", "accion": "probarConexion" } }'
    
    <?php
    
    $aAuth = array('User' => 'AAA010101AAA',
                   'Pass' => '7aa16d2e055554fcf3d182758db23c91');
    
    $sUrl = "https://api.enlacefiscal.com/v6/probarConexion";
    
    $aData = array();
    
    $aData = array('Solicitud' => array('rfc'  => 'AAA010101AAA',
                                        'accion' => 'probarConexion'));
    
    $ch = curl_init();
    
    curl_setopt($ch, CURLOPT_URL, $sUrl);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
    
    $sDataJson =  json_encode($aData);
    
    curl_setopt($ch, CURLOPT_POSTFIELDS, $sDataJson);
    
    $nContentLenght = strlen($sDataJson);
    
    curl_setopt($ch, CURLOPT_HEADER, 0);
    
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Content-Type: application/json',
        'x-api-key: ' . $aAuth['Pass'],
        'Content-Length: ' . $nContentLenght
    ));
    
    curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
    curl_setopt($ch, CURLOPT_USERPWD, "{$aAuth['User']}:{$aAuth['Pass']}");
    
    $sOutput = curl_exec($ch);
    curl_close($ch);
    
    echo $sOutput;
    ?>
    

    Probar Conexión - Request:

    {
        "Solicitud": {
            "rfc": "AAA010101AAA",
            "accion": "probarConexion"
        }   
    }
    

    Probar Conexión - Response:

    {
        "AckEnlaceFiscal": {
            "numeroReferencia": 1,
            "estatusDocumento": "aceptado",
            "fechaMensaje": "2017-08-25 23:04:40",
            "version": "1.0"
        }
    }
    

    El servicio más sencillo para consumir es el de prueba de conexión, es por eso que la recomendación es empezar a consumir primero éste servicio para asegurarnos que la conexión es exitosa y que los datos de autenticación son los correctos.

    API Endpoint
    POST https://api.enlacefiscal.com/v6/probarConexion


    rfc Es el RFC de la cuenta que está consumiendo el API, se utiliza como elemento adicional de autenticación. No debe contener guiones ni espacios.

    Tipo de Dato Ocurrencia Longitud Ejemplo
    string Requerido 12 caracteres - Persona Moral
    13 caracteres - Persona Física
    AAA010101AAA


    accion Campo que nos permite indicar el método que queremos consumir vía el API.

    Tipo de Dato Ocurrencia Valor Requerido Ejemplo
    enum Requerido probarConexion probarConexion


    Obtener Saldo

    Obtener Saldo

    
    curl "https://api.enlacefiscal.com/v6/obtenerSaldo" 
      --request "POST" 
      --header "Content-Type:application/json"
      --header "x-api-key:e9aT1ajrRh1NyRkzOtDoN1ZEGmIsEKuJ6f3FYyLh"
      --user "AAA010101AAA:7aa16d2e055554fcf3d182758db23c91"
      --data '{"Solicitud" : {"rfc" : "AAA010101AAA", "modo" : "produccion"} }'
    

    Obtener Saldo - Request:

    {
        "Solicitud" : {
            "rfc" : "AAA010101AAA", 
            "accion": "obtenerSaldo"
        } 
    }
    

    Obtener Saldo - Response:

    {
        "AckEnlaceFiscal": {
            "numeroReferencia": "622",
            "estatusDocumento": "aceptado",
            "fechaMensaje": "2017-08-16 13:51:03",
            "version": "1.0",
            "saldo": "9689.01",
            "fechaUltimoAbono": "2017-08-16",
            "montoUltimoAbono": "0.00"
        }
    }
    

    Enlace Fiscal funciona en un esquema de prepago y es necesario tener saldo disponible para poder utilizar nuestros servicios. Puedes utilizar ésta función para consultar tu saldo disponible.

    API Endpoint
    POST https://api.enlacefiscal.com/v6/obtenerSaldo


    rfc Es el RFC de la cuenta que está consumiendo el API, se utiliza como elemento adicional de autenticación. No debe contener guiones ni espacios.

    Tipo de Dato Ocurrencia Longitud Ejemplo
    string Requerido 12 caracteres - Persona Moral
    13 caracteres - Persona Física
    AAA010101AAA


    accion Campo que nos permite indicar el método que queremos consumir vía el API.

    Tipo de Dato Ocurrencia Valor Requerido Ejemplo
    enum Requerido obtenerSaldo obtenerSaldo


    Cambios de CFDi 3.3 a 4.0

    A continuación encontrarás la nueva documentación de cambiós de CFDi 3.3 a 4.0.

    Información General CFDi 4.0

    versionCFDi El valor de este campo se cambia de 3.3 a 4.0.

    Ir a documentación de versión CFDi


    versionEF El valor de este campo se cambia de 6.0 a 6.5.

    Ir a documentación de versión EF


    facAtrAdquirente Nuevo atributo para la versión 4.0.

    Ir a documentación de factura adquirente


    exportacion Nuevo atributo para la versión 4.0.

    Ir a documentación de exportación

    Información Global CFDi 4.0

    Esta sección es un nuevo nodo condicional dentro del json CFDi 4.0

    periodicidad Nuevo atributo para la versión 4.0 y debe contener un valor del catálogo c_Periodicidad del SAT.

    Ir a documentación de periodicidad


    meses Nuevo atributo para la versión 4.0 y debe contener un valor del catálogo c_Meses del SAT.

    Ir a documentación de meses


    anio Nuevo atributo para la versión 4.0 en el cual se expresa el año al que corresponde la información del comprobante global.

    Ir a documentación de anio

    Comprobantes Relacionados CFDi 4.0

    ComprobantesRelacionados Esta sección del json se modifica aceptando múltiples nodos, lo que anteriormente solo se podía uno.

    Ir a documentación de comprobantes relacionados

    Receptor CFDi 4.0

    nombre Este campo cambió de ser opcional de la versión 3.3a ser obligatorio en la version 4.0.

    Ir a documentación de nombre


    Receptor / Partes / DomicilioFiscal / cp Este campo cambió de ser opcional de la versión 3.3a ser obligatorio en la version 4.0 mientras que los demás campos del nodo DomicilioFiscal quedaron opcionales.

    Ir a documentación de cp


    regimenFiscal Este atributo es nuevo para la versión 4.0 y debe contener un valor del catálogo c_RegimenFiscal del SAT el cual debe corresponder con el tipo de persona del receptor.

    Ir a documentación de régimen fiscal

    Partidas CFDi 4.0

    objetoDeImpuesto Este atributo es nuevo para la versión 4.0 y debe contener un valor del catálogo c_ObjetoImp del SAT.

    Ir a documentación de objeto de impuesto


    Partidas / Impuestos Este nodo se vuelve condicional, cuando el tipo de comprobante sea "T" o "P", este elemento no debe existir.

    Ir a documentación de impuestos


    Partidas / ACuentaTerceros Este es un nuevo nodo dentro de la sección partidas para la versión 4.0 el cual es opcional para expresar información del contribuyente Tercero.

    Ir a documentación a cuenta terceros


    rfc Nuevo atributo para la versión 4.0 y debe contener un RFC valido dentro del LCO.

    Ir a documentación de rfc


    nombre Nuevo atributo para la versión 4.0, este atributo deber ser diferente al valor registrado en los campos RFC de los nodos Emisor y Receptor.

    Ir a documentación de nombre


    regimenFiscal Nuevo atributo para la versión 4.0 y debe contener un valor del catálogo c_RegimenFiscal del SAT.

    Ir a documentación de regimen fiscal


    cp Nuevo atributo para la versión 4.0 y debe pertenecer al nombre asociado al RFC registrado en el atributo rfc de este nodo.

    Ir a documentación de cp


    Partidas / CuentaPredial El campo numeroCuentaPredial de CFDi 3.3 cambió de ser atributo a ser un nodo opcional para la versión 4.0 al cual se le pueden agregar multiples numero de predial.

    Ir a documentación a cuenta predial


    numero Nuevo atributo para la versión 4.0 y debe pertenecer al nombre asociado al RFC registrado en el atributo rfc de este nodo.

    Ir a documentación de número


    Partidas / InformacionAduanera
    numeroPedimentoEste campo cambió de ser atributo a ser un nodo donde puede llevar multiples numero de pedimentos.

    Ir a documentación de número

    Partidas / Partes / InformacionAduanera
    numeroPedimento Este campo cambió de ser atributo a ser un nodo donde puede llevar multiples numero de pedimentos.

    Ir a documentación de número

    Impuestos del Comprobante CFDi 4.0

    Impuestos / Impuestos
    baseImpuesto Nuevo atributo para la versión 4.0 para registrar el monto de la base del impuesto.

    Ir a documentación de base impuesto

    Timbrado CFDi 4.0

    A continuación encontrarás la documentación completa de todos los elementos que componen la petición de generación y timbrado de un comprobante fiscal digital (CFDi versión 4.0).

    Requisitos:

    Si ya consumes nuestro API para timbrar CFDi 3.3, consulta nuestra guía de cambios 3.3 -> 4.0 para identificar más rápido los cambios necesarios.

    Información General 4.0

    Este servicio (RESTful API), permite generar y timbrar un comprobante fiscal digital en el esquema CFDi 4.0. Algunos de los elementos son opcionales y permiten una mayor personalización del CFDi versión 4.0.

    Generar CFDi - Request:

    {
        "CFDi": {
            "versionCFDi": "4.0",
            "modo": "debug",
            "versionEF": "6.5",
            "serie": "FA",
            "folioInterno": "1",
            "fechaEmision": "2022-02-01 11:22:01",
            "subTotal": "1500.00",
            "descuentos": "50.00",
            "total": "1587.00",
            "tipoMoneda": "MXN",
            "nombreDisenio": "Diseño Compacto",
            "rfc": "AAA010101AAA",
            "facAtrAdquirente": "012345678",
            "exportacion": "01",
            ...
    
    

    API Endpoint
    POST https://api.enlacefiscal.com/v6/generarCfdi

    CFDi Encabezado del Comprobante


    versionCFDi Versión del CFDi a timbrar en el SAT

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Requerido 3.3
    4.0
     4.0


    modo Es la modalidad del API en la que se va a generar el comprobante fiscal digital, siendo las opciones posibles: debug o produccion.

    Tipo de Dato Ocurrencia Valores Posibles Valor Predeterminado Ejemplo
    enum Requerido produccion
    debug
    produccion debug


    versionEF Versión del API de Enlace Fiscal

    Tipo de Dato Ocurrencia Valor Requerido Ejemplo
    enum Requerido 6.5 6.5


    serie Es la serie de folios que se asignará al comprobante fiscal digital para poder identificarlo de una manera sencilla. Se utiliza para control interno.

    Tipo de Dato Ocurrencia Ejemplo
    string Requerido FA


    folioInterno Se utiliza para identificar el comprobante fiscal digital generado, es para control interno.

    El folio interno junto con la serie asignada se utilizan como método de control para evitar timbrar un mismo comprobante más de una vez. Si por error se llega a enviar la petición de timbrado de un mismo folio y serie en varias ocasiones, nuestro API no la timbra otra vez, simplemente se envía la información del timbrado original.

    Tipo de Dato Ocurrencia Ejemplo
    string Requerido 1


    fechaEmision Fecha de emisión del comprobante fiscal digital, debe corresponder con la hora local donde se expide el comprobante. El tiempo máximo que se tiene entre la fecha de emisión y la petición de timbrado es de 72 horas por disposición oficial.

    Tipo de Dato Ocurrencia Formato Ejemplo
    datetime Requerido Y-m-d H:i:s 2022-02-01 11:22:01


    subTotal Es la suma de los importes antes de descuentos e impuestos, no se permiten valores negativos.

    Tipo de Dato Ocurrencia Ejemplo
    float Requerido 1500.00


    descuentos Es el importe total de los descuentos aplicables antes de impuestos, no permite valores negativos.

    Tipo de Dato Ocurrencia Ejemplo
    float Condicional 50.00


    total Es la suma del subtotal, menos los descuentos aplicables, más las contribuciones recibidas, menos los impuestos retenidos (federales y/o locales). No se permiten valores negativos.

    Tipo de Dato Ocurrencia Ejemplo
    float Requerido 1587.00


    tipoMoneda Es la clave de la moneda utilizada conforme al catálogo publicado por el SAT.

    Tipo de Dato Ocurrencia Opciones Valor Predeterminado Ejemplo
    enum Opcional Se muestran en el catálogo de monedas, se utiliza la Clave MXN MXN


    tipoCambio Tipo de cambio conforme a la moneda utilizada. Es requerido cuando la moneda es distinta a Peso Mexicano (MXN) y a la clave (XXX).

    Tipo de Dato Ocurrencia Ejemplo
    float Condicional 18.21


    nombreDisenio Nombre del diseño que se utilizará para generar el PDF del comprobante fiscal.

    Tipo de Dato Ocurrencia  Valor Predeterminado Ejemplo
    string Opcional El diseño predeterminado de la cuenta Diseño Compacto


    rfc Registro Federal de Contribuyentes correspondiente al emisor del comprobante fiscal digital. No debe contener guiones ni espacios.

    El RFC que se utilice deberá estar en la lista de RFC inscritos no cancelados en el SAT (l_rfc).

    Tipo de Dato Ocurrencia Longitud Ejemplo
    string Requerido 12 caracteres - Persona Moral
    13 caracteres - Persona Física
    AAA010101AAA


    facAtrAdquirente Campo condicional para registrar el número de operación proporcionado por el SAT, el cual consta de 10 dígitos, cuando se trate de un comprobante a través del adquirente de los productos o servicios siempre que la respuesta del servicio sea en sentido positivo, conforme a la Resolución Miscelánea Fiscal vigente.

    Tipo de Dato Ocurrencia Ejemplo
    string Condicional 0123456789


    exportacion Campo requerido para registrar la clave con la que se identifica si el comprobante ampara una operación de exportación, las distintas claves vigentes se encuentran incluidas en el catálogo c_Exportacion del SAT

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Requerido Se muestra en el catálogo de Exportación, se puede utilizar Clave o Clave Texto  03


    Datos de Pago 4.0

    En esta sección se incluye la información sobre el pago del comprobante fiscal digital emitido. Esta sección es requerida en la petición a excepción de que la serie sea de tipo Comprobante de traslado.

    Datos de Pago [requerido] :

    {
        "CFDi": {
            ...,
            "DatosDePago": {
                "metodoDePago": "PUE", 
                "formaDePago": "03",
                "condicionesDePago": "45 días",
                "fechaVencimiento": "2022-02-23",
                "referenciaBancaria": "3444232132"
            },
            ...,
    

    metodoDePago Elemento para especificar la Clave que corresponda al método de pago utilizado.

    Tipo de Dato Ocurrencia Opciones Valor Predeterminado Ejemplo
    enum Requerido Consultar el catálogo de métodos de pago, se utiliza la Clave PUE PUE


    formaDePago Dato para expresar la Clave o Clave Texto que corresponda a la forma de pago utilizada para el pago de los bienes, servicios o la forma en que se recibe el donativo.

    Tipo de Dato Ocurrencia Opciones Ejemplo
    enum Requerido Las opciones se muestran en el catálogo de forma de pago, se puede utilizar Clave o Clave Texto 03


    condicionesDePago Se pueden registrar las condiciones comerciales aplicables para el pago del comprobante fiscal, cuando existan éstas y cuando el tipo de comprobante sea Ingreso o Egreso.

    Tipo de Dato Ocurrencia Ejemplo
    string Opcional 3 meses


    fechaVencimiento De manera opcional se puede registrar la fecha en la que se vence el pago de un comprobante para un control interno.

    Tipo de Dato Ocurrencia Ejemplo
    date Opcional 2021-12-31


    referenciaBancaria Dato opcional para incorporar al menos los cuatro últimos dígitos del número de cuenta con la que se realizó el pago.

    Tipo de Dato Ocurrencia Ejemplo
    string Opcional 3444232132


    Información Global 4.0

    En este nodo se puede expresar la información relacionada con el comprobante global de operaciones con el público en general.

    Información Global [condicional] :

    {
        "CFDi": {
            ...,
            "InformacionGlobal": {
                "periodicidad": "04",
                "meses": "01",
                "anio": "2022"
            },
            ...,
    

    InformacionGlobal Sección condicional para indicar la información relacionada con el comprobante global de operaciones con el público en general.

    periodicidad Campo requerido para registrar el período al que corresponde la información del comprobante global, las distintas claves vigentes se encuentran incluidas en el catálogo c_Periodicidad del SAT.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Requerido Se muestra en el catálogo de Peridicidad, se utiliza la Clave  02


    meses Campo requerido para registrar la clave del mes o los meses al que corresponde la información de las operaciones celebradas con el público en general, las distintas claves vigentes se encuentran incluidas en el catálogo c_Meses del SAT.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Requerido Se muestra en el catálogo de Meses, se utiliza la Clave  08


    anio Campo requerido para registrar el año al que corresponde la información del comprobante global.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido 2022

    Comprobantes Relacionados 4.0

    En esta sección se incluirá la información de los comprobantes fiscales relacionados con el que se está generando.

    Comprobantes Relacionados [condicional]:

    {
        "CFDi": {
            ...,
            "ComprobantesRelacionados": [{
                "tipoRelacion": "nota_credito",
                "Comprobantes": [
                        "eeca15af-e9b1-4a45-9861-8d51c4fa8219",
                        "FA-250"
                ]
            }, {
                "tipoRelacion": "02",
                "Comprobantes": [
                        "eefv15af-e9b1-4r45-7577-8d51c4fa6535"
                ]
            }],
            ...,
    
    


    ComprobantesRelacionados Sección opcional para indicar la información de los distintos comprobantes fiscales relacionados.

    tipoRelacion Tipo de relación que existe entre el comprobante que se está generando y los generados previamente.

    Para obtener más información acerca del tipo de relación que lleva este documento favor de entrar en la sección de catálogo de tipos relación.

    Tipo de Dato Ocurrencia Opciones Ejemplo
    enum Requerido Se muestran en el catálogo de tipos relación, se puede utilizar Clave o Clave Texto nota_credito


    Comprobantes Es un arreglo con la información de los comprobantes relacionados.

    Tipo Ocurrencia Opciones Ejemplo
    string  Requerido  UUID o Serie-Folio eeca15af-e9b1-4a45-9861-8d51c4fa8219
    FA-230

    Receptor 4.0

    Esta sección contiene los datos correspondientes al receptor del comprobante fiscal.

    Receptor [requerido]

    {
        "CFDi": {
            ...,
            "Receptor": {
                "rfc": "AAA010101AAA",
                "nombre": "EMPRESA DEMO",
                "residenciaFiscal": "USA",
                "numeroRegistroIdTributario": "121585958",
                "regimenFiscal": "601",
                "usoCfdi": "adquisicion_mercancias",
                "IdentificadorCliente": {
                    "nombreCampo": "Número de Matrícula",
                    "valorCampo": "A12332"
                },
                "DomicilioFiscal": {
                    "calle": "Rayo",
                    "noExterior": "2835",
                    "noInterior": "1-A",
                    "colonia": "Jardines del norte",
                    "localidad": "Guadalajara",
                    "municipio": "Guadalajara",
                    "estado": "Jalisco",
                    "pais": "México",
                    "cp": "44580"
                }
            },
           ...,
    


    rfc Registro Federal de Contribuyentes correspondiente al receptor del comprobante, debe ir sin guiones ni espacios.

    Tipo de Dato Ocurrencia Longitud Ejemplo
    string Requerido 12 caracteres - Persona Moral
    13 caracteres - Persona Física
    AAA010101AAA


    nombre Campo requerido, es el nombre fiscal del receptor (cliente) y se debe registrar en MAYÚSCULAS de la siguiente manera:

    Debe registrarse tal y como se encuentra en la Cédula de Identificación Fiscal y Constancia de Situación Fiscal, respetando números, espacios y signos de puntuación.

    Tipo de Dato Ocurrencia Longitud Tipo de Persona Ejemplo
    string Requerido Longitud Mínima: 1 Caracter
    Longitud Máxima: 255 Caracteres
    Física RAFAELI CAMPOSORIO RUÍZO
    string Requerido Longitud Mínima: 1 Caracter
    Longitud Máxima: 255 Caracteres
    Moral EMPRESA DEMO


    residenciaFiscal Es el país de residencia fiscal del receptor (cliente) del comprobante, éste dato es requerido si se incluye el Complemento de Comercio Exterior o si se agrega en Número de Registro de Identidad Tributario.

    Tipo de Dato Ocurrencia Opciones Ejemplo
    enum Condicional Se encuentran en el catálogo de países, se utiliza la Clave USA


    numeroRegistroIdTributario Es el número de registro de identidad fiscal del receptor cuando sea residente en el extranjero. Es requerido cuando se incluya el Complemento de Comercio Exterior.

    Tipo de Dato Ocurrencia Longitud Ejemplo
    int Condicional Longitud Mínima: 1 Caracter
    Longitud Máxima: 40 Caracteres
    121585958


    regimenFiscal Campo requerido para registrar la clave vigente del régimen fiscal del contribuyente receptor, las distintas claves vigentes se encuentran incluidas en el catálogo c_RegimenFiscal del SAT.

    Tipo de Dato Ocurrencia Opciones  Ejemplo
    string Requerido Se encuentran en el catálogo de Régimen Fiscal, se utiliza la Clave  626


    usoCfdi Es la clave o descripción del uso que dará a esta factura el receptor del CFDi.

    Tipo de Dato Ocurrencia Opciones  Ejemplo
    enum Requerido Se encuentran en el catálogo de UsoCFDI, se puede utilizar Clave o Clave Texto  adquisicion_mercancias


    Receptor / IdentificadorCliente [opcional]

    {
        "CFDi": {
        ...
    
            ...
            "Receptor": {
                ...
    
                "IdentificadorCliente": {
                    "nombreCampo": "Número de Matrícula",
                    "valorCampo": "A12332"
                },
    
                ...
    
            },
           ...
    
    

    IdentificadorCliente

    Es un arreglo opcional para agregar un identificador personalizado del receptor. La información del identificador únicamente aparece en la versión PDF del comprobante fiscal en la sección de datos del receptor.


    nombreCampo Elemento que especifica el nombre del identificador que se usará.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido  Número de Matrícula


    valorCampo Es el valor del identificador del receptor.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido  A12332


    Receptor / DomicilioFiscal [requerido]

    {
        "CFDi": {
        ...
    
            ...
            "Receptor": {
                ...
                "IdentificadorCliente": {
                    ...
                },
                "DomicilioFiscal": {
                    "calle": "Rayo",
                    "noExterior": "2835",
                    "noInterior": "1-A",
                    "colonia": "Jardines del norte",
                    "localidad": "Guadalajara",
                    "municipio": "Guadalajara",
                    "estado": "Jalisco",
                    "pais": "México",
                    "cp": "44580"
                }
            },
           ...
    
    
    

    DomicilioFiscal Sección requerida para agregar la dirección del receptor del comprobante. Ésta información únicamente aparece en la versión PDF del comprobante fiscal.


    calle Elemento que indica el nombre de la vialidad del domicilio fiscal del receptor.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  Rayo


    noExterior Elemento que contiene el valor del número exterior del domicilio fiscal del receptor.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  2835


    noInterior Elemento que contiene el valor del número interior del domicilio fiscal del receptor.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  1-A


    colonia Elemento que contiene el nombre de la colonia o asentamiento del domicilio fiscal del receptor.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  Jardines del norte


    localidad Elemento que contiene el nombre de la localidad (poblado o ciudad) del domicilio fiscal del receptor.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  Guadalajara


    municipio Elemento que contiene el nombre del municipio o delegación (en el caso de la Ciudad de México) del domicilio fiscal del receptor.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  Guadalajara


    estado Elemento que indica el estado (o equivalente en caso de extranjeros) del domicilio fiscal del receptor.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  Jalisco


    pais Elemento que indica el país del domicilio fiscal del receptor.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  México


    cp Elemento que indica el código postal (o equivalente en caso de extranjeros) del domicilio fiscal del receptor.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido  44580

    Partidas del Comprobante 4.0

    Bloque requerido que agrupa a todas las partidas del Comprobante Fiscal Digital (CFDi 4.0)

    Partidas [requerido]

    {
        "CFDi": {
            ...,
            "Partidas": [
                {
                    "cantidad": "10",
                    "claveUnidad": "E48",
                    "unidad": "Unidad de servicio",
                    "claveProdServ": "80101500",
                    "noIdentificacion": "421412321212321",
                    "descripcion": "Servicios de consultoría de negocios y administración corporativa",
                    "valorUnitario": "100.00",
                    "importe": "1000.00",
                    "descuento": "50.00",
                    "objetoDeImpuesto": "01",
                    "Impuestos": [
                        {
                            "tipo": "traslado",
                            "claveImpuesto": "IVA",
                            "tipoFactor": "tasa",
                            "tasaOCuota": "0.16",
                            "baseImpuesto": "950.00",
                            "importe": "152.00"
                        },
                        {
                            "tipo": "retencion",
                            "claveImpuesto": "ISR",
                            "tipoFactor": "tasa",
                            "tasaOCuota": "0.10",
                            "baseImpuesto": "950.00",
                            "importe": "95.00"
                        }
                    ],
                     "ACuentaTerceros": {
                        "rfc": "FIMA420127R44",
                        "nombre": "Marton Aleejandro Sanzi Fierror",
                        "regimenFiscal": "601",
                        "codigoPostal": "44580"
                    },
                    "CuentaPredial": {"numero": [
                        "49199",
                        "49199"
                    ]},
                    "InformacionAduanera": {"numeroPedimento": [
                        "15  48  3009  0001234",
                        "15  48  3009  0001234"
                    ]},
                },
                {
                    "cantidad": "1",
                    "claveUnidad": "C62",
                    "unidad": "Uno",
                    "claveProdServ": "84101700",
                    "noIdentificacion": "4214123212123212",
                    "descripcion": "Manejo de deuda",
                    "valorUnitario": "500.00",
                    "importe": "500.00",
                    "objetoDeImpuesto": "01",
                    "Impuestos": [{
                        "tipo": "traslado",
                        "claveImpuesto": "IVA",
                        "tipoFactor": "tasa",
                        "tasaOCuota": "0.16",
                        "baseImpuesto": "500.00",
                        "importe": "80.00"
                    }],
                     "ACuentaTerceros": {
                        "rfc": "FIMA420127R44",
                        "nombre": "Marton Aleejandro Sanzi Fierror",
                        "regimenFiscal": "601",
                        "codigoPostal": "44580"
                    },
                    "CuentaPredial": {"numero": [
                        "49199",
                        "49199"
                    ]},
                    "InformacionAduanera": {"numeroPedimento": [
                        "15  48  3009  0001234",
                        "15  48  3009  0001234"
                    ]},
                }
            ],
            ...,
    

    Partidas


    cantidad Es el número de articulos o servicios de la partida, puede tener hasta seis números decimales.

    Tipo de Dato Ocurrencia  Ejemplo
    float Requerido  10


    claveUnidad Es la clave de unidad de medida estandarizada conforme el cátalogo c_ClaveUnidad del SAT. La unidad debe corresponder con la descripción de la partida.

    Tipo de Dato Ocurrencia Opciones  Ejemplo
    enum Requerido Se especifican en el catálogo de unidades del SAT (c_ClaveUnidad)  E48


    unidad Campo para indicar la unidad de medida propia de la operación del emisor. La unidad debe corresponder con el producto o servicio de la partida.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  Unidad de servicio


    claveProdServ Clave que permite clasificar el producto o servicio que se indica en la partida. Se debe utilizar una de las claves del catálogo c_ClaveProdServ publicado por el SAT.

    Te recomendamos utilizar la herramienta de cfdi.ninja para encontrar fácilmente la clave del producto o servicio en el catálogo del SAT _ClaveProdServ.

    Tipo de Dato Ocurrencia  Ejemplo
    enum Requerido  80101500


    noIdentificacion Es el código o clave de identificación de los bienes o servicios de la partida. Este dato también se conoce como "SKU".

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  421412321212321


    descripcion Es la descripción del bien o servicio de la partida. En este campo se puede incluír cualquier tipo de información o texto que detalle de lo que se trata la partida.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido  Servicios de consultoría de negocios y administración corporativa


    valorUnitario Es el valor o precio unitario de los bienes o servicios de la partida.

    Tipo de Dato Ocurrencia Rango de valores  Ejemplo
    float Requerido Mínimo: 0.01
    Máximo: 9,223,372,036,854  
    100.00


    importe Es el importe total de los bienes o servicios descritos en la partida.

    Tipo de Dato Ocurrencia Rango de valores  Ejemplo
    float Requerido Mínimo: 0.01
    Máximo: 9,223,372,036,854  
    1000.00


    objetoDeImpuesto Campo requerido para registrar la clave correspondiente para indicar si la operación comercial es objeto o no de impuesto, las distintas claves vigentes se encuentran incluidas en el catálogo c_ObjetoImp del SAT.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Requerido Se muestra en el cátalogo Objeto de Impuestos, se utiliza la Clave  03


    descuento Es el importe de los descuentos aplicables a cada partida.

    Tipo de Dato Ocurrencia Rango de valores  Ejemplo
    float Opcional Mínimo: 0.01
    Máximo: 9,223,372,036,854  
    50.00


    Partidas / Impuestos [condicional]

    {
        "CFDi": {
        ...
    
            ...
            "Partidas": [
                {
                    ...
                    "Impuestos": [
                        {
                            "tipo": "traslado",
                            "claveImpuesto": "IVA",
                            "tipoFactor": "tasa",
                            "tasaOCuota": "0.16",
                            "baseImpuesto": "950.00",
                            "importe": "152.00"
                        },
                    ],
                    ...
    
    
    

    Partidas / Impuestos

    Esta sección condicional contiene la información detallada de los impuestos federales retenidos y trasladados de la partida. Es requerido indicar los impuestos que aplican conforme al servicio o producto que se describe en la partida.


    tipo Es el tipo de impuesto conforme a los disponibles en el catálogo c_Impuesto del SAT.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Requerido retencion
    traslado
     traslado


    claveImpuesto Es la clave de impuesto de la partida conforme al catálogo c_Impuesto del SAT.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Requerido Se muestra en el cátalogo de Impuestos, se puede utilizar la Clave o Clave Texto  IVA


    tipoFactor Es el tipo de factor que se aplica a la base del impuesto de la partida.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Requerido tasa
    cuota
    exento
     tasa


    tasaOCuota Es el valor de la tasa o cuota que aplica para la partida. Éste campo es requerido cuando el campo tipoFactor sea tasa o cuota.

    Tipo de Dato Ocurrencia Ejemplo
    float Condicional  0.16


    baseImpuesto Es el valor base para el cálculo del impuesto de la partida.

    Tipo de Dato Ocurrencia Ejemplo
    float Requerido  500.00


    importe Es el importe del impuesto que aplica a la partida.

    Tipo de Dato Ocurrencia Ejemplo
    float Condicional  80.00


    Partidas / ACuentaTerceros [opcional]

    {
        "CFDi": {
        ...
    
            ...
            "Partidas": [
                {
                    ...
    
                    "ACuentaTerceros": {
                        "rfc": "FIMA420127R44",
                        "nombre": "Marton Aleejandro Sanzi Fierror",
                        "regimenFiscal": "601",
                        "cp": "44580"
                    },
                },
                ...
            ],
            ...
    

    Partidas / ACuentaTerceros Esta sección es opcional y se puede expresar información del contribuyente Tercero, a cuenta del que se realiza la operación. Conforme a la regla 2.7.1.3 de la Resolución Miscelánea Fiscal vigente.


    rfc Campo requerido para registrar la Clave del Registro Federal de Contribuyentes del contribuyente Tercero, a cuenta del que se realiza la operación.

    Tipo de Dato Ocurrencia   Ejemplo
    string Requerido FIMA420127R44


    nombre Campo requerido para registrar el nombre, denominación o razón social del contribuyente Tercero correspondiente con el RFC, a cuenta del que se realiza la operación.

    Tipo de Dato Ocurrencia   Ejemplo
    string Requerido Marton Aleejandro Sanzi Fierror


    regimenFiscal Campo requerido para registrar la clave del régimen del contribuyente Tercero, a cuenta del que se realiza la operación, las distintas claves vigentes se encuentran incluidas en el catálogo c_RegimenFiscal del SAT.

    Tipo de Dato Ocurrencia Opciones  Ejemplo
    string Requerido Se encuentran en el catálogo de Régimen Fiscal, se utiliza la Clave  606


    cp Campo requerido para registrar el código postal del domicilio fiscal del Tercero, a cuenta del que se realiza la operación.

    Tipo de Dato Ocurrencia   Ejemplo
    string Requerido 01002


    Partidas / CuentaPredial [opcional]

    {
        "CFDi": {
        ...
    
            ...
            "Partidas": [
                {
                    ...
    
                    "CuentaPredial": {"numero": [
                        "49199",
                        "49199"
                    ]},
                },
                ...
            ],
            ...
    

    Partidas / CuentaPredial Esta sección opcional se puede expresar el número de cuenta predial con el que fue registrado el inmueble en el sistema catastral de la entidad federativa de que trate, o bien para incorporar los datos de identificación del certificado de participación inmobiliaria no amortizable

    numero Es el número de cuenta predial con el que fue registrado el inmueble en el sistema catastral de la entidad federativa de que se trate o bien se pueden indicar los datos de identificación del certificado de participación inmobiliaria no amortizable.

    Tipo de Dato Ocurrencia Longitud  Ejemplo
    string Requerido  Se pueden registrar de 1 a 150 dígitos alfanuméricos  15956011002



    Partidas / InformacionAduanera [opcional]

    {
        "CFDi": {
        ...
    
            ...
            "Partidas": [
                {
                    ...
    
                    "InformacionAduanera": {"numeroPedimento": [
                    "15  48  3009  0001234",
                    "15  48  3009  0001234"
                ]}
                },
                ...
            ],
            ...
    

    Partidas / InformacionAduanera

    Esta sección contiene la información aduanera aplicable cuando se trate de ventas de primera mano de mercancías importadas o se trate de operaciones de comercio exterior de bienes o servicios.

    Es condicional porque solo se debe incluir si el producto que se está comercializando es de importación y no se incluye el Complemento de Comercio Exterior.


    numeroPedimento Es el número de pedimiento correspondiente a la importación del bien, en este campo se podrán agregar multiples número de pedimento.

    Las reglas de formación de éste dato (iniciando por la izquierda) son las siguientes:

    Últimos dos dígitos del año de validación seguidos por dos espacios, 2 dígitos de la aduana de despacho seguidos por dos espacios, 4 dígitos del número de la patente seguidos por dos espacios, 1 dígito que corresponde al último dígito del año en curso, salvo que se trate de un pedimento consolidado, iniciado en el año inmediato anterior o del pedimento original de una rectificación, seguido de 6 dígitos de la numeración progresiva por aduana.

    Tipo de Dato Ocurrencia   Ejemplo
    int Requerido 15  48  3009  0001234


    Partidas / Partes [opcional]

    {
        "CFDi": {
            ...
    
            "Partidas": [
                {
    
    
                    ...
    
                    "Partes": [
                        {
                            "cantidad": "10",
                            "claveProdServ": "27111731",
                            "unidad": "Pieza",
                            "noIdentificacion": "R-DSA2332",
                            "descripcion": "Desarmador",
                            "valorUnitario": "100.00",
                            "importe": "1000.00"
                        },
                        {
                            "cantidad": "5",
                            "claveProdServ": "27111750",
                            "unidad": "Pieza",
                            "noIdentificacion": "R-DSC2345",
                            "descripcion": "Pinzas",
                            "valorUnitario": "50.00",
                            "importe": "250.00",
                            "InformacionAduanera": {"numeroPedimento": [
                                "15  48  3009  0001234",
                                "15  48  3009  0001234"
                            ]},
                        }
                    ]
                }
            ],
            ...
    
    

    Partidas / Partes

    En esta sección opcional se pueden expresar las partes o componentes que integrarán la totalidad del concepto expresado en la partida del CFDi.


    cantidad Es el número de artículos o servicios correspondiente a la parte.

    Tipo de Dato Ocurrencia   Ejemplo
    float Requerido 10


    claveProdServ Es la clave del producto o servicio correspondiente a la parte. Se deben de utilizar las claves incluidas en el cátalogo C_ClaveProdServ publicado por el SAT.

    Te recomendamos utilizar la herramienta de cfdi.ninja para encontrar fácilmente la clave del producto o servicio en el catálogo del SAT _ClaveProdServ.

    Tipo de Dato Ocurrencia   Ejemplo
    enum Requerido 50401800


    unidad Es la unidad de medida del bien o servicio propia de la operación del emisor aplicada a la parte.

    Tipo de Dato Ocurrencia   Ejemplo
    string Opcional Pieza


    noIdentificacion Se puede registrar el número de serie, número de parte o identificador del producto o servicio descrita en la parte.

    Tipo de Dato Ocurrencia   Ejemplo
    string Opcional R-DSA2332


    descripcion Es la descripción del bien o servicio correspondiente a la parte.

    Tipo de Dato Ocurrencia   Ejemplo
    string Requerido Desarmador


    valorUnitario Es el valor o precio unitario del bien o servicio que corresponde a la parte, debe de ser mayor a cero.

    Tipo de Dato Ocurrencia   Ejemplo
    float Requerido 100.00


    importe Es el importe total de los bienes o servicios correspondientes a la parte. Debe ser igual a la multiplicación de la cantidad por el valor unitario.

    Tipo de Dato Ocurrencia   Ejemplo
    float Requerido 1000.00


    Partidas / Partes / InformacionAduanera [opcional]

    {
        "CFDi": {
            ...
    
            "Partidas": [
                {
    
                    ...
    
                    "Partes": [
                        {
                            ...
                            "InformacionAduanera": {"numeroPedimento": [
                                "15  48  3009  0001234",
                                "15  48  3009  0001234"
                            ]},
                        }
                    ]
                }
            ],
            ...
    
    

    Partidas / Partes / InformacionAduanera

    Esta sección de la parte, contiene la información aduanera aplicable cuando se trate de ventas de primera mano de mercancías importadas o se trate de operaciones de comercio exterior de bienes o servicios.

    Es condicional porque solo se debe incluir si la parte que se está comercializando es de importación y no se incluye el Complemento de Comercio Exterior.


    numeroPedimento Es el número de pedimiento correspondiente a la importación del bien, , en este campo se podrán agregar multiples numero de pedimento.

    Las reglas de formación de éste dato (iniciando por la izquierda) son las siguientes:

    Últimos dos dígitos del año de validación seguidos por dos espacios, 2 dígitos de la aduana de despacho seguidos por dos espacios, 4 dígitos del número de la patente seguidos por dos espacios, 1 dígito que corresponde al último dígito del año en curso, salvo que se trate de un pedimento consolidado, iniciado en el año inmediato anterior o del pedimento original de una rectificación, seguido de 6 dígitos de la numeración progresiva por aduana.

    Tipo de Dato Ocurrencia   Ejemplo
    string Requerido 15  48  3009  0001234


    Impuestos del Comprobante 4.0

    Impuestos [condicional]

    {
        "CFDi": {
            ...,
            "Impuestos": {
                "Totales": {
                    "retenciones": "95.00",
                    "traslados": "232.00"
                },
                "Impuestos": [
                    {
                        "tipo": "traslado",
                        "claveImpuesto": "IVA",
                        "tipoFactor": "tasa",
                        "tasaOCuota": "0.16",
                        "baseImpuesto": "1450.00",
                        "importe": "232.00"
                    },
                    {
                        "tipo": "retencion",
                        "claveImpuesto": "ISR",
                        "tipoFactor": "tasa",
                        "tasaOCuota": "0.10",
                        "baseImpuesto": "950.00",
                        "importe": "95.00"
                    }
                ]
            },
            ...,
    
    

    Impuestos / Totales

    Esta sección contiene la información relacionada con los impuestos federales retenidos y trasladados del CFDi. Es requerido incluirla siempre que los productos y/o servicios del comprobante tengan impuestos, que en la práctica es la mayoría de las veces.


    Totales / retenciones Es el total de los impuestos de retenciones federales. Se debe incluir solo si el comprobante incluye impuestos de retención. En caso contrario, no es necesario incluir el campo.

    Tipo de Dato Ocurrencia  Ejemplo
    float Condicional  95.00


    Totales / traslados Es el total de los impuestos de trasladados federales. Se debe incluir solo si el comprobante incluye impuestos de traslado. En caso contrario, no es necesario incluir el campo.

    Tipo de Dato Ocurrencia  Ejemplo
    float Condicional  232.00


    Impuestos / Impuestos

    Este nodo es requerido cuando al menos una de las partidas es objeto de impuestos.


    tipo Es el tipo de impuesto conforme a los disponibles en el catálogo c_Impuesto del SAT.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Condicional retencion
    traslado
     traslado


    claveImpuesto Es la clave de impuesto del comprobante conforme al catálogo c_Impuesto del SAT.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Requerido Se muestra en el cátalogo de Impuestos, se puede utilizar Clave o Clave Texto  IVA


    tipoFactor Es el tipo de factor que se aplica a la base del impuesto del comprobante.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Requerido tasa
    cuota
    exento
     tasa


    tasaOCuota Es el valor de la tasa o cuota que aplica para la partida. Éste campo es requerido cuando el campo tipoFactor sea tasa o cuota.

    Tipo de Dato Ocurrencia Ejemplo
    float Condicional  0.16


    baseImpuesto Campo Requerido para registrar el monto de la base del impuesto trasladado, agrupado por impuesto, tipoFactor y tasaOCuota, el cual debe tener hasta la cantidad de decimales que soporte la moneda.

    Tipo de Dato Ocurrencia Ejemplo
    float Requerido  15000.00


    importe Es el importe del impuesto que aplica a la partida.

    Tipo de Dato Ocurrencia Ejemplo
    float Condicional  232.00

    Bloques de Información Adicional 4.0

    Esta sección opcional permite agregar a la versión PDF del comprobante bloques de información no fiscal. Dado que se trata de información no fiscal los campos pueden contener cualquier texto libre siempre y cuando no cause confusión ni contradiga la información fiscal que contiene el resto del comprobante.

    Bloques de Información Adicional [opcional]

    {
        "CFDi": {
            ...,
            "BloquesInfoAdicional": {
                "BloqueSuperior": {
                    "titulo": "Información",
                    "texto": "Condiciones: Contado Vencimiento: 17/12/2016"
                },
                "BloqueInferior": {
                    "titulo": "Observaciones",
                    "TextoRenglones": [
                        "Folio del contrato: C1008008. Factura que ampara el pago de la(s)",
                        "transaccion(es): Pago Transacción 7/48"
                    ]
                }
            },
            ...,
    
    


    BloquesInfoAdicional / BloqueSuperior

    Nodo que contiene la información del bloque superior de información adicional (no fiscal) que aparecerá por encima de las partidas del comprobante en la versión PDF.


    BloquesInfoAdicional / BloqueInferior

    Nodo que contiene la información del bloque inferior de información adicional (no fiscal) que aparecerá por debajo de los totales del comprobante en la versión PDF.


    titulo Es el campo que contiene el título del bloque superior o inferior de información adicional.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido  Información


    texto Elemento que contiene el texto que se incluirá en el cuerpo del bloque de información ya sea superior o inferior. En caso de que sea un texto largo, este tendrá saltos de línea naturales al final de cada renglón.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  Condiciones: Contado Vencimiento: 17/12/2016


    TextoRenglones

    Arreglo que contiene los renglones individuales que aparecerán en el cuerpo del bloque de información adicional ya sea superior o inferior. Se recomienda utilizar éste en caso de que se requiera un control más exacto del texto y saltos de línea en el bloque de información. Es necesario dividir cada uno de los renglones con una coma.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  "Folio del contrato: C1008008. Factura que ampara el pago de la(s)",
    "transaccion(es): Pago Transacción 7/48"

    Enviar CFDi 4.0

    Esta sección opcional contiene la información necesaria para enviar los comprobantes por correo electrónico a los receptores (clientes). Los correos adoptan el diseño del comprobante (indicado en el nodo nombreDiseno) e incluyen el logotipo en caso de que el diseño cuente con uno.

    Enviar CFDi [opcional]

    {
        "CFDi": {
            ...,
            "EnviarCFDI": {
                "Correos": [
                    "facturas@enlacefiscal.com",
                    "cuentasxpagar@enlacefiscal.com"
                ],
                "mensajeCorreo": "Mensaje personalizado que se incluirá en el cuerpo del correo a enviar."
            },
            ...,
    }
    

    Correos Arreglo para especificar la dirección o direcciones de correo electrónico a la cual se enviará la liga para descargar los archivos PDF y XML del comprobante.

    Tipo de Dato Ocurrencia  Ejemplo
    array Requerido  cuentasxpagar@enlacefiscal.com


    mensajeCorreo Elemento para agregar un mensaje opcional que puede incluir el correo electrónico enviado para la descarga del comprobante.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  Mensaje personalizado que se incluirá en el cuerpo del correo a enviar


    tipo Elemento para indicar el tipo de receptor del correo.

    Tipo de Dato Ocurrencia Opciones Valor Predeterminado Ejemplo
    enum Opcional persona
    sistema
    persona persona

    Campos Personalizados 4.0

    Cuando se desea incluir información adicional (no fiscal) a un comprobante, se pueden utilizar los campos personalizados. Estos son campos de información más cortos en comparación con los Bloques de Información Adicional, se puede incluir información como: Número de Vendedor, Número de Pedido, Vía de Embarque, Ruta, etc.

    Campos Personalizados [opcional]

    {
        "CFDi": {
            ...,
            "Personalizados": [
                {
                    "nombreCampo": "Número de Pedido",
                    "valor": "345673"
                },
                {
                    "nombreCampo": "Vendedor",
                    "valor": "Juan Pérez"
                }
            ],
            ...,
    

    nombreCampo Es el campo que contiene el título del campo corto, debe tener un máximo de 50 caracteres.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido  Número de Pedido


    valor Es el campo que contiene el dato del campo personalizado, debe tener un máximo de 100 caracteres.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido  Juan Pérez

    Pagaré 4.0

    De manera opcional se puede incluir la información de un Pagaré en el comprobante. El texto que se utiliza está estandarizado, solo es necesario indicar la fecha de vencimiento y la tasa de interés moratorio que se aplicará en caso de incumplimiento.

    Pagaré [opcional]

    {
        "CFDi": {
            ...,
            "Pagare": {
                "fecha": "2022-02-17",
                "tasaInteresMoratorio": "5.58"
            }
        }
    }
    

    fecha Es la fecha de vencimiento del pagaré.

    Tipo de Dato Ocurrencia Formato  Ejemplo
    date Requerido Y-m-d  2017-04-01


    tasaInteresMoratorio Es la tasa de interés moratorio que se cobraría en caso de que el pago se realice después de la fecha de vencimiento.

    Tipo de Dato Ocurrencia  Ejemplo
    float Requerido  5.58

    Ejemplo Básico 4.0

    Ejemplo con el mínimo de campos que puede tener una petición para el timbrado de CFDi.

    Ejemplo Básico - Request:

    {
      "CFDi": {
        "modo":"debug",
        "versionCFDi": "4.0",
        "versionEF": "6.5",
        "serie": "FA",
        "folioInterno": "1",
        "fechaEmision": "2022-02-01 11:22:01",
        "subTotal": "20.00",
        "total": "23.20",
        "rfc": "AAA010101AAA",
        "exportacion": "01",
        "DatosDePago": {
          "metodoDePago": "PUE",
          "formaDePago": "03"
        },
        "Receptor": {
          "rfc": "BBB010101BB1",
          "nombre": "EMPRESA DEMO",
          "regimenFiscal": "601",
          "usoCfdi": "adquisicion_mercancias",
          "DomicilioFiscal": {          
            "cp": "44580"
          }
        },
        "Partidas": [
          {
            "cantidad": "1",
            "claveUnidad": "KGM",
            "claveProdServ": "42171606",
            "descripcion": "1 Kg de arroz",
            "valorUnitario": "20.00",
            "importe": "20.00",
            "objetoDeImpuesto": "si",
            "Impuestos": [
              {
                "tipo": "traslado",
                "claveImpuesto": "IVA",
                "tipoFactor": "tasa",
                "tasaOCuota": "0.16",
                "baseImpuesto": "20.00",
                "importe": "3.20"
              }
            ]
          }
        ],
        "Impuestos": {
          "Totales": {
            "traslados": "3.20"
          },
          "Impuestos": [
            {
              "tipo": "traslado",
              "claveImpuesto": "IVA",
              "tipoFactor": "tasa",
              "tasaOCuota": "0.16",
              "baseImpuesto": "20.00",
              "importe": "3.20"
            }
          ]
        }
      }
    }
    

    Ejemplo Básico - Response:

    {
      "AckEnlaceFiscal": {
        "numeroReferencia": "123",
        "estatusDocumento": "aceptado",
        "fechaMensaje": "2017-07-20 11:22:02",
        "version": "1.0",
        "folioInterno": "1",
        "folioFiscalUUID": "4E80053F-74B9-4004-B7B6-09B30781B4F6",
        "serie": "FA",
        "noSerieCertificado": "20001000000200001111",
        "noSerieCertificadoSAT": "20001000000100001111",
        "selloCFDi": "...",
        "selloSAT": "...",
        "cadenaTFD": "...",
        "fechaGeneracionCFDi": "2017-03-27 17:03:09",
        "fechaTFD": "2017-03-27T18:55:05",
        "estadoCFDi": "vigente",
        "descargaArchivoQR": "https://descarga.enlacefiscal.com/QR/?i=QUFBMDEwMTAxQUFBLS0yMDE3XzE4XzRldsTNmLTc0YjktNDAwNC1iN2I2LTA5YjMwNzgxYjRmNi0tMS0tMTg=&b=0",
        "descargaArchivoPDF": "https://descarga.enlacefiscal.com/PDF/?i=YjMwNzgxYjRmNi0tMS0tMTg=&b=0",
        "xmlCFDi": "...",
        "descargaXmlCFDi": "https://descarga.enlacefiscal.com/CFDI/?i=QUFBMDEwMTAxQUFBLS0yMDE3XzE4XzRlODAwNTNmLTc0dssjktNDAwNC1iN2I2LTA5YjMwNzgxYjRmNi0tMS0tMTg=&b=0"
      }
    }
    

    Ejemplo Completo 4.0

    Ejemplo con la mayoría de campos que puede tener una petición.

    Ejemplo Completo Timbrado - Request:

    {
       "CFDi": {
            "modo": "debug",
            "versionCFDi": "4.0",
            "versionEF": "6.5",
            "serie": "FA",
            "folioInterno": "1",
            "fechaEmision": "2022-02-01 11:22:01",
            "subTotal": "1500.00",
            "descuentos": "50.00",
            "total": "1587.00",
            "tipoMoneda": "MXN",
            "nombreDisenio": "Diseño predeterminado",
            "rfc": "AAA010101AAA",
            "exportacion": "01",
            "DatosDePago": {
                "metodoDePago": "PUE",
                "formaDePago": "03",
                "condicionesDePago": "45 días",
                "fechaVencimiento": "2022-02-23",
                "referenciaBancaria": "3444232132"
            },
            "ComprobantesRelacionados": [
            {
                "tipoRelacion": "nota_credito",
                "Comprobantes": [
                    "eeca15af-e9b1-4a45-9861-8d51c4fa8219",
                    "FA-250"
                ]
            },
            {
                "tipoRelacion": "sustitucion",
                "Comprobantes": [
                    "aaca15af-e9b1-4a45-9861-8d51c4fa8219",
                    "FA-251"
                ]
            }
            ],
            "Receptor": {
                "rfc": "AAA010101AAA",
                "nombre": "EMPRESA DEMO",
                "regimenFiscal": "601",
                "usoCfdi": "adquisicion_mercancias",
                "IdentificadorCliente": {
                    "nombreCampo": "Número de Matrícula",
                    "valorCampo": "A12332"
                },
                "DomicilioFiscal": {
                    "calle": "Rayo",
                    "noExterior": "2835",
                    "noInterior": "1-A",
                    "colonia": "Jardines del norte",
                    "localidad": "Guadalajara",
                    "municipio": "Guadalajara",
                    "estado": "Jalisco",
                    "pais": "México",
                    "cp": "44580"
                }
            },
            "Partidas": [
                {
                    "cantidad": "10",
                    "claveUnidad": "E48",
                    "unidad": "Unidad de servicio",
                    "claveProdServ": "80101500",
                    "noIdentificacion": "421412321212321",
                    "descripcion": "Servicios de consultoría de negocios y administración corporativa",
                    "valorUnitario": "100.00",
                    "importe": "1000.00",
                    "descuento": "50.00",
                    "objetoDeImpuesto": "02",
                    "Impuestos": [
                        {
                            "tipo": "traslado",
                            "claveImpuesto": "IVA",
                            "tipoFactor": "tasa",
                            "tasaOCuota": "0.16",
                            "baseImpuesto": "950.00",
                            "importe": "152.00"
                        },
                        {
                            "tipo": "retencion",
                            "claveImpuesto": "ISR",
                            "tipoFactor": "tasa",
                            "tasaOCuota": "0.10",
                            "baseImpuesto": "950.00",
                            "importe": "95.00"
                        }
                    ],
                    "ACuentaTerceros": {
                        "rfc": "AAA010101AAA",
                        "nombre": "Empresa Demo, S.A. de C.V.",
                        "regimenFiscal": "601",
                        "cp": "44580"
                    },
                    "InformacionAduanera": {"numeroPedimento": [
                        "15  48  3009  0001234",
                        "15  48  3009  0001234"
                    ]},
                    "Partes": [
                        {
                            "cantidad": "10",
                            "claveProdServ": "27111731",
                            "unidad": "Pieza",
                            "noIdentificacion": "R-DSA2332",
                            "descripcion": "Desarmador",
                            "valorUnitario": "100.00",
                            "importe": "1000.00"
                        },
                        {
                            "cantidad": "5",
                            "claveProdServ": "27111750",
                            "unidad": "Pieza",
                            "noIdentificacion": "R-DSC2345",
                            "descripcion": "Pinzas",
                            "valorUnitario": "50.00",
                            "importe": "250.00",
                            "InformacionAduanera": {"numeroPedimento": [
                                "15  48  3009  0001234",
                                "15  48  3009  0001234"
                            ]}
                        }
                    ]
                },
                {
                    "cantidad": "1",
                    "claveUnidad": "E48",
                    "unidad": "Servicio",
                    "claveProdServ": "84101700",
                    "descripcion": "Renta",
                    "valorUnitario": "500.00",
                    "importe": "500.00",
                    "objetoDeImpuesto": "02",
                    "Impuestos": [{
                        "tipo": "traslado",
                        "claveImpuesto": "IVA",
                        "tipoFactor": "tasa",
                        "tasaOCuota": "0.16",
                        "baseImpuesto": "500.00",
                        "importe": "80.00"
                    }],
                    "CuentaPredial": {"numero": [
                        "49199",
                        "48188"
                    ]}
                }
            ],
            "Impuestos": {
                "Totales": {
                    "retenciones": "95.00",
                    "traslados": "232.00"
                },
                "Impuestos": [
                    {
                        "tipo": "traslado",
                        "claveImpuesto": "IVA",
                        "tipoFactor": "tasa",
                        "tasaOCuota": "0.16",
                        "baseImpuesto": "1450.00",
                        "importe": "232.00"
                    },
                    {
                        "tipo": "retencion",
                        "claveImpuesto": "ISR",
                        "tipoFactor": "tasa",
                        "tasaOCuota": "0.10",
                        "baseImpuesto": "950.00",
                        "importe": "95.00"
                    }
                ]
            },
            "BloquesInfoAdicional": {
                "BloqueSuperior": {
                    "titulo": "Información",
                    "texto": "Condiciones: Contado Vencimiento: 17/12/2016"
                },
                "BloqueInferior": {
                    "titulo": "Observaciones",
                    "TextoRenglones": [
                        "Folio del contrato: C1008008. Factura que ampara el pago de la(s)",
                        "transaccion(es): Pago Transacción 7/48"
                    ]
                }
            },
            "EnviarCFDI": {
                "Correos": [
                    "facturas@enlacefiscal.com",
                    "cuentasxpagar@enlacefiscal.com"
                ],
                "mensajeCorreo": "Mensaje personalizado que se incluirá en el cuerpo del correo a enviar."
            },
            "Personalizados": [
                {
                    "nombreCampo": "Número de Pedido",
                    "valor": "345673"
                },
                {
                    "nombreCampo": "Vendedor",
                    "valor": "Juan Pérez"
                }
            ],
            "Pagare": {
                "fecha": "2017-04-01",
                "tasaInteresMoratorio": "5.58"
            }
        }
    }  
    

    Ejemplo Completo Timbrado - Response:

    {
      "AckEnlaceFiscal": {
        "numeroReferencia": "123",
        "estatusDocumento": "aceptado",
        "fechaMensaje": "2017-07-20 11:22:02",
        "version": "1.0",
        "folioInterno": "1",
        "folioFiscalUUID": "4E80053F-74B9-4004-B7B6-09B30781B4F6",
        "serie": "FA",
        "noSerieCertificado": "20001000000200001111",
        "noSerieCertificadoSAT": "20001000000100001111",
        "selloCFDi": "...",
        "selloSAT": "...",
        "cadenaTFD": "...",
        "fechaGeneracionCFDi": "2017-03-27 17:03:09",
        "fechaTFD": "2017-03-27T18:55:05",
        "estadoCFDi": "vigente",
        "descargaArchivoQR": "https://descarga.enlacefiscal.com/QR/?i=QUFBMDEwMTAxQUFBLS0yMDE3XzE4XzRldsTNmLTc0YjktNDAwNC1iN2I2LTA5YjMwNzgxYjRmNi0tMS0tMTg=&b=0",
        "descargaArchivoPDF": "https://descarga.enlacefiscal.com/PDF/?i=YjMwNzgxYjRmNi0tMS0tMTg=&b=0",
        "xmlCFDi": "...",
        "descargaXmlCFDi": "https://descarga.enlacefiscal.com/CFDI/?i=QUFBMDEwMTAxQUFBLS0yMDE3XzE4XzRlODAwNTNmLTc0dssjktNDAwNC1iN2I2LTA5YjMwNzgxYjRmNi0tMS0tMTg=&b=0"
      }
    }
    

    Peticiones ejemplo 4.0

    Catálogos SAT CFDi 4.0

    En esta sección podrás encontrar los nuevos Catálogos del SAT de la versión 4.0 necesarios para poder realizar peticiones al API de Enlace Fiscal.

    Forma De Pago 4.0

    En éste catálogo se describen las opciones que se pueden utilizar para la etiqueta de formaDePago, en la petición se puede incluir el campo de Claveo Clave Texto.

    La opción de Clave Texto es más sencilla ya que indica de manera más clara la opción del catálogo. En caso de utilizar ésta opción, el API de Enlace Fiscal lo traduce de manera automática a la clave del catálogo del SAT para cumplir con las reglas del Anexo 20 de la Resolución Miscelánea Fiscal.

    Catálogo de Forma de Pago (c_FormaPago)

    Clave Tipo Clave Texto
    01 Efectivo efectivo
    02 Cheque nominativo cheque
    03 Transferencia electrónica de fondos transferencia
    04 Tarjeta de crédito tarjeta_credito
    05 Monedero electrónico monedero
    06 Dinero electrónico dinero_electronico
    08 Vales de despensa vales
    12 Dación en pago dacion
    13 Pago por subrogación pago_subrogacion
    14 Pago por consignación pago_consignacion
    15 Condonación condonacion
    17 Compensación compensacion
    23 Novación novacion
    24 Confusión confusion
    25 Remisión de deuda remision
    26 Prescripción o caducidad prescripcion
    27 A satisfacción del acreedor satisfaccion_acreedor
    28 Tarjeta de débito tarjeta_debito
    29 Tarjeta de servicios tarjeta_servicio
    30 Aplicación de anticipos aplicacion_anticipos
    99 Por definir otro

    Impuestos 4.0

    En éste catálogo se describen las opciones que se pueden utilizar para la etiqueta de claveImpuesto, en la petición se puede incluir el campo de Claveo Clave Texto.

    La opción de Clave Texto es más sencilla ya que indica de manera más clara la opción del catálogo. En caso de utilizar ésta opción, el API de Enlace Fiscal lo traduce de manera automática a la clave del catálogo del SAT para cumplir con las reglas del Anexo 20 de la Resolución Miscelánea Fiscal.

    Catálogo de Impuestos (c_Impuesto)

    Clave Descripción Retencion Traslado Clave Texto
    001 Impuesto Sobre la Renta Si No ISR
    002 Impuesto al Valor Agregado Si Si IVA
    003 Impuesto Especial sobre Producción y Servicios Si Si IEPS

    Método de Pago 4.0

    En éste catálogo se describen las opciones que se pueden utilizar para la etiqueta de metodoDePago.

    Catálogo de Método de Pago (c_MetodoPago)

    Clave Descripción
    PUE Pago en una sola exhibición
    PPD Pago en parcialidades o diferido

    Países 4.0

    En éste catálogo se describen las opciones de países que se pueden utilizar para la etiqueta de pais.

    Países más utilizados

    Clave País
    DEU Alemania
    ARG Argentina
    BRA Brasil
    CAN Canadá
    CHL Chile
    USA Estados Unidos (los)
    MEX México
    ITA Italia
    JPN Japón

    Cátalogo de Países (c_Pais)

    Clave País
    AFG Afganistán
    ALA Islas Åland
    ALB Albania
    DEU Alemania
    AND Andorra
    AGO Angola
    AIA Anguila
    ATA Antártida
    ATG Antigua y Barbuda
    SAU Arabia Saudita
    DZA Argelia
    ARG Argentina
    ARM Armenia
    ABW Aruba
    AUS Australia
    AUT Austria
    AZE Azerbaiyán
    BHS Bahamas (las)
    BGD Bangladés
    BRB Barbados
    BHR Baréin
    BEL Bélgica
    BLZ Belice
    BEN Benín
    BMU Bermudas
    BLR Bielorrusia
    MMR Myanmar
    BOL Bolivia, Estado Plurinacional de
    BIH Bosnia y Herzegovina
    BWA Botsuana
    BRA Brasil
    BRN Brunéi Darussalam
    BGR Bulgaria
    BFA Burkina Faso
    BDI Burundi
    BTN Bután
    CPV Cabo Verde
    KHM Camboya
    CMR Camerún
    CAN Canadá
    QAT Catar
    BES Bonaire, San Eustaquio y Saba
    TCD Chad
    CHL Chile
    CHN China
    CYP Chipre
    COL Colombia
    COM Comoras
    PRK Corea (la República Democrática Popular de)
    KOR Corea (la República de)
    CIV Côte d'Ivoire
    CRI Costa Rica
    HRV Croacia
    CUB Cuba
    CUW Curaçao
    DNK Dinamarca
    DMA Dominica
    ECU Ecuador
    EGY Egipto
    SLV El Salvador
    ARE Emiratos Árabes Unidos (Los)
    ERI Eritrea
    SVK Eslovaquia
    SVN Eslovenia
    ESP España
    USA Estados Unidos (los)
    EST Estonia
    ETH Etiopía
    PHL Filipinas (las)
    FIN Finlandia
    FJI Fiyi
    FRA Francia
    GAB Gabón
    GMB Gambia (La)
    GEO Georgia
    GHA Ghana
    GIB Gibraltar
    GRD Granada
    GRC Grecia
    GRL Groenlandia
    GLP Guadalupe
    GUM Guam
    GTM Guatemala
    GUF Guayana Francesa
    GGY Guernsey
    GIN Guinea
    GNB Guinea-Bisáu
    GNQ Guinea Ecuatorial
    GUY Guyana
    HTI Haití
    HND Honduras
    HKG Hong Kong
    HUN Hungría
    IND India
    IDN Indonesia
    IRQ Irak
    IRN Irán (la República Islámica de)
    IRL Irlanda
    BVT Isla Bouvet
    IMN Isla de Man
    CXR Isla de Navidad
    NFK Isla Norfolk
    ISL Islandia
    CYM Islas Caimán (las)
    CCK Islas Cocos (Keeling)
    COK Islas Cook (las)
    FRO Islas Feroe (las)
    SGS Georgia del sur y las islas sandwich del sur
    HMD Isla Heard e Islas McDonald
    FLK Islas Malvinas [Falkland] (las)
    MNP Islas Marianas del Norte (las)
    MHL Islas Marshall (las)
    PCN Pitcairn
    SLB Islas Salomón (las)
    TCA Islas Turcas y Caicos (las)
    UMI Islas de Ultramar Menores de Estados Unidos (las)
    VGB Islas Vírgenes (Británicas)
    VIR Islas Vírgenes (EE.UU.)
    ISR Israel
    ITA Italia
    JAM Jamaica
    JPN Japón
    JEY Jersey
    JOR Jordania
    KAZ Kazajistán
    KEN Kenia
    KGZ Kirguistán
    KIR Kiribati
    KWT Kuwait
    LAO Lao, (la) República Democrática Popular
    LSO Lesoto
    LVA Letonia
    LBN Líbano
    LBR Liberia
    LBY Libia
    LIE Liechtenstein
    LTU Lituania
    LUX Luxemburgo
    MAC Macao
    MDG Madagascar
    MYS Malasia
    MWI Malaui
    MDV Maldivas
    MLI Malí
    MLT Malta
    MAR Marruecos
    MTQ Martinica
    MUS Mauricio
    MRT Mauritania
    MYT Mayotte
    MEX México
    FSM Micronesia (los Estados Federados de)
    MDA Moldavia (la República de)
    MCO Mónaco
    MNG Mongolia
    MNE Montenegro
    MSR Montserrat
    MOZ Mozambique
    NAM Namibia
    NRU Nauru
    NPL Nepal
    NIC Nicaragua
    NER Níger (el)
    NGA Nigeria
    NIU Niue
    NOR Noruega
    NCL Nueva Caledonia
    NZL Nueva Zelanda
    OMN Omán
    NLD Países Bajos (los)
    PAK Pakistán
    PLW Palaos
    PSE Palestina, Estado de
    PAN Panamá
    PNG Papúa Nueva Guinea
    PRY Paraguay
    PER Perú
    PYF Polinesia Francesa
    POL Polonia
    PRT Portugal
    PRI Puerto Rico
    GBR Reino Unido (el)
    CAF República Centroafricana (la)
    CZE República Checa (la)
    MKD Macedonia (la antigua República Yugoslava de)
    COG Congo
    COD Congo (la República Democrática del)
    DOM República Dominicana (la)
    REU Reunión
    RWA Ruanda
    ROU Rumania
    RUS Rusia, (la) Federación de
    ESH Sahara Occidental
    WSM Samoa
    ASM Samoa Americana
    BLM San Bartolomé
    KNA San Cristóbal y Nieves
    SMR San Marino
    MAF San Martín (parte francesa)
    SPM San Pedro y Miquelón
    VCT San Vicente y las Granadinas
    SHN Santa Helena, Ascensión y Tristán de Acuña
    LCA Santa Lucía
    STP Santo Tomé y Príncipe
    SEN Senegal
    SRB Serbia
    SYC Seychelles
    SLE Sierra leona
    SGP Singapur
    SXM Sint Maarten (parte holandesa)
    SYR Siria, (la) República Árabe
    SOM Somalia
    LKA Sri Lanka
    SWZ Suazilandia
    ZAF Sudáfrica
    SDN Sudán (el)
    SSD Sudán del Sur
    SWE Suecia
    CHE Suiza
    SUR Surinam
    SJM Svalbard y Jan Mayen
    THA Tailandia
    TWN Taiwán (Provincia de China)
    TZA Tanzania, República Unida de
    TJK Tayikistán
    IOT Territorio Británico del Océano Índico (el)
    ATF Territorios Australes Franceses (los)
    TLS Timor-Leste
    TGO Togo
    TKL Tokelau
    TON Tonga
    TTO Trinidad y Tobago
    TUN Túnez
    TKM Turkmenistán
    TUR Turquía
    TUV Tuvalu
    UKR Ucrania
    UGA Uganda
    URY Uruguay
    UZB Uzbekistán
    VUT Vanuatu
    VAT Santa Sede[Estado de la Ciudad del Vaticano] (la)
    VEN Venezuela, República Bolivariana de
    VNM Viet Nam
    WLF Wallis y Futuna
    YEM Yemen
    DJI Yibuti
    ZMB Zambia
    ZWE Zimbabue
    ZZZ Países no declarados

    Tipo de Cadena de Pago 4.0

    Catálogo que describe las opciones de tipo de cadena de pago que se pueden utilizar para la etiqueta tipoCadPago. Ésta etiqueta se utiliza en el Recibo Electrónico de Pago.

    Catálogo Tipo de Cadena de Pago (c_TipoCadenaPago)

    Clave Descripción
    01 SPEI

    Tipo de Monedas 4.0

    En éste catálogo se describen las opciones de moneda que se pueden utilizar para la etiqueta de tipoMoneda.

    La columna Número de decimales indica el número máximo de decimales que soporta cierta moneda. En el caso de que se tenga un importe con más decimales de los permitidos por la moneda, se tiene que hacer un redondeo.

    La columna Porcentaje de variación indica el rango de variación permitido en el tipo de cambio para no tener que solicitar un código de confirmación para poder emitir un comprobante.

    Monedas más utilizadas

    Clave Descripción Número de Decimales Porcentaje de Variación
    MXN Peso Mexicano 2 500%
    USD Dolar americano 2 500%
    CAD Dolar Canadiense 2 500%
    EUR Euro 2 500%

    Catálogo de Monedas (c_Moneda)

    Clave Descripción Número de Decimales Porcentaje de Variación
    AED Dirham de EAU 2 500%
    AFN Afghani 2 500%
    ALL Lek 2 500%
    AMD Dram armenio 2 500%
    ANG Florín antillano neerlandés 2 500%
    AOA Kwanza 2 500%
    ARS Peso Argentino 2 500%
    AUD Dólar Australiano 2 500%
    AWG Aruba Florin 2 500%
    AZN Azerbaijanian Manat 2 500%
    BAM Convertibles marca 2 500%
    BBD Dólar de Barbados 2 500%
    BDT Taka 2 500%
    BGN Lev búlgaro 2 500%
    BHD Dinar de Bahrein 3 500%
    BIF Burundi Franc 0 500%
    BMD Dólar de Bermudas 2 500%
    BND Dólar de Brunei 2 500%
    BOB Boliviano 2 500%
    BOV Mvdol 2 500%
    BRL Real brasileño 2 500%
    BSD Dólar de las Bahamas 2 500%
    BTN Ngultrum 2 500%
    BWP Pula 2 500%
    BYR Rublo bielorruso 0 500%
    BZD Dólar de Belice 2 500%
    CAD Dolar Canadiense 2 500%
    CDF Franco congoleño 2 500%
    CHE WIR Euro 2 500%
    CHF Franco Suizo 2 500%
    CHW Franc WIR 2 500%
    CLF Unidad de Fomento 4 500%
    CLP Peso chileno 0 500%
    CNY Yuan Renminbi 2 500%
    COP Peso Colombiano 2 500%
    COU Unidad de Valor real 2 500%
    CRC Colón costarricense 2 500%
    CUC Peso Convertible 2 500%
    CUP Peso Cubano 2 500%
    CVE Cabo Verde Escudo 2 500%
    CZK Corona checa 2 500%
    DJF Franco de Djibouti 0 500%
    DKK Corona danesa 2 500%
    DOP Peso Dominicano 2 500%
    DZD Dinar argelino 2 500%
    EGP Libra egipcia 2 500%
    ERN Nakfa 2 500%
    ETB Birr etíope 2 500%
    EUR Euro 2 500%
    FJD Dólar de Fiji 2 500%
    FKP Libra malvinense 2 500%
    GBP Libra Esterlina 2 500%
    GEL Lari 2 500%
    GHS Cedi de Ghana 2 500%
    GIP Libra de Gibraltar 2 500%
    GMD Dalasi 2 500%
    GNF Franco guineano 0 500%
    GTQ Quetzal 2 500%
    GYD Dólar guyanés 2 500%
    HKD Dolar De Hong Kong 2 500%
    HNL Lempira 2 500%
    HRK Kuna 2 500%
    HTG Gourde 2 500%
    HUF Florín 2 500%
    IDR Rupia 2 500%
    ILS Nuevo Shekel Israelí 2 500%
    INR Rupia india 2 500%
    IQD Dinar iraquí 3 500%
    IRR Rial iraní 2 500%
    ISK Corona islandesa 0 500%
    JMD Dólar Jamaiquino 2 500%
    JOD Dinar jordano 3 500%
    JPY Yen 0 500%
    KES Chelín keniano 2 500%
    KGS Som 2 500%
    KHR Riel 2 500%
    KMF Franco Comoro 0 500%
    KPW Corea del Norte ganó 2 500%
    KRW Won 0 500%
    KWD Dinar kuwaití 3 500%
    KYD Dólar de las Islas Caimán 2 500%
    KZT Tenge 2 500%
    LAK Kip 2 500%
    LBP Libra libanesa 2 500%
    LKR Rupia de Sri Lanka 2 500%
    LRD Dólar liberiano 2 500%
    LSL Loti 2 500%
    LYD Dinar libio 3 500%
    MAD Dirham marroquí 2 500%
    MDL Leu moldavo 2 500%
    MGA Ariary malgache 2 500%
    MKD Denar 2 500%
    MMK Kyat 2 500%
    MNT Tugrik 2 500%
    MOP Pataca 2 500%
    MRO Ouguiya 2 500%
    MUR Rupia de Mauricio 2 500%
    MVR Rupia 2 500%
    MWK Kwacha 2 500%
    MXN Peso Mexicano 2 500%
    MXV México Unidad de Inversión (UDI) 2 500%
    MYR Ringgit malayo 2 500%
    MZN Mozambique Metical 2 500%
    NAD Dólar de Namibia 2 500%
    NGN Naira 2 500%
    NIO Córdoba Oro 2 500%
    NOK Corona noruega 2 500%
    NPR Rupia nepalí 2 500%
    NZD Dólar de Nueva Zelanda 2 500%
    OMR Rial omaní 3 500%
    PAB Balboa 2 500%
    PEN Nuevo Sol 2 500%
    PGK Kina 2 500%
    PHP Peso filipino 2 500%
    PKR Rupia de Pakistán 2 500%
    PLN Zloty 2 500%
    PYG Guaraní 0 500%
    QAR Qatar Rial 2 500%
    RON Leu rumano 2 500%
    RSD Dinar serbio 2 500%
    RUB Rublo ruso 2 500%
    RWF Franco ruandés 0 500%
    SAR Riyal saudí 2 500%
    SBD Dólar de las Islas Salomón 2 500%
    SCR Rupia de Seychelles 2 500%
    SDG Libra sudanesa 2 500%
    SEK Corona sueca 2 500%
    SGD Dolar De Singapur 2 500%
    SHP Libra de Santa Helena 2 500%
    SLL Leona 2 500%
    SOS Chelín somalí 2 500%
    SRD Dólar de Suriname 2 500%
    SSP Libra sudanesa Sur 2 500%
    STD Dobra 2 500%
    SVC Colon El Salvador 2 500%
    SYP Libra Siria 2 500%
    SZL Lilangeni 2 500%
    THB Baht 2 500%
    TJS Somoni 2 500%
    TMT Turkmenistán nuevo manat 2 500%
    TND Dinar tunecino 3 500%
    TOP Pa'anga 2 500%
    TRY Lira turca 2 500%
    TTD Dólar de Trinidad y Tobago 2 500%
    TWD Nuevo dólar de Taiwán 2 500%
    TZS Shilling tanzano 2 500%
    UAH Hryvnia 2 500%
    UGX Shilling de Uganda 0 500%
    USD Dolar americano 2 500%
    USN Dólar estadounidense (día siguiente) 2 500%
    UYI Peso Uruguay en Unidades Indexadas (URUIURUI) 0 500%
    UYU Peso Uruguayo 2 500%
    UZS Uzbekistán Sum 2 500%
    VEF Bolívar 2 500%
    VND Dong 0 500%
    VUV Vatu 0 500%
    WST Tala 2 500%
    XAF Franco CFA BEAC 0 500%
    XAG Plata 0 500%
    XAU Oro 0 500%
    XBA Unidad de Mercados de Bonos Unidad Europea Composite (EURCO) 0 500%
    XBB Unidad Monetaria de Bonos de Mercados Unidad Europea (UEM-6) 0 500%
    XBC Mercados de Bonos Unidad Europea unidad de cuenta a 9 (UCE-9) 0 500%
    XBD Mercados de Bonos Unidad Europea unidad de cuenta a 17 (UCE-17) 0 500%
    XCD Dólar del Caribe Oriental 2 500%
    XDR DEG (Derechos Especiales de Giro) 0 500%
    XOF Franco CFA BCEAO 0 500%
    XPD Paladio 0 500%
    XPF Franco CFP 0 500%
    XPT Platino 0 500%
    XSU Sucre 0 500%
    XTS Códigos reservados específicamente para propósitos de prueba 0 500%
    XUA Unidad ADB de Cuenta 0 500%
    XXX Los códigos asignados para las transacciones en que intervenga ninguna moneda 0 500%
    YER Rial yemení 2 500%
    ZAR Rand 2 500%
    ZMW Kwacha zambiano 2 500%
    ZWL Zimbabwe Dólar 2 500%

    Tipo de Relación 4.0

    En éste catálogo se describen las opciones que se pueden utilizar para la etiqueta de tipoRelacion, en la petición se puede incluir el campo de Claveo Clave Texto.

    La opción de Clave Texto es más sencilla ya que indica de manera más clara la opción del catálogo. En caso de utilizar ésta opción, el API de Enlace Fiscal lo traduce de manera automática a la clave del catálogo del SAT para cumplir con las reglas del Anexo 20 de la Resolución Miscelánea Fiscal.

    Catálogo de Tipo de Relación (c_TipoRelacion)

    Clave Tipo Clave Texto
    01 Nota de crédito de los documentos relacionados nota_credito
    02 Nota de débito de los documentos relacionados nota_debito
    03 Devolución de mercancía sobre facturas o traslados previos devolucion
    04 Sustitución de los CFDI previos sustitucion
    05 Traslados de mercancías facturados previamente traslado_mercancias
    06 Factura generada por los traslados previos factura_traslados_previos
    07 CFDI por aplicación de anticipo cfdi_aplicacion_anticipo

    Uso CFDi 4.0

    En éste catálogo se describen las opciones que se pueden utilizar para la etiqueta de usoCfdi, en la petición se puede incluir el campo de Claveo Clave Texto.

    La opción de Clave Texto es más sencilla ya que indica de manera más clara la opción del catálogo. En caso de utilizar ésta opción, el API de Enlace Fiscal lo traduce de manera automática a la clave del catálogo del SAT para cumplir con las reglas del Anexo 20 de la Resolución Miscelánea Fiscal.

    Catálogo Uso de CFDi (c_UsoCFDI)

    Clave Nombre Clave Texto Persona Física Persona Moral
    G01 Adquisición de mercancías. adquisicion_mercancias Si Si
    G02 Devoluciones, descuentos o bonificaciones. devolucion_desc_bonif Si Si
    G03 Gastos en general. gastos Si Si
    I01 Construcciones. construcciones Si Si
    I02 Mobiliario y equipo de oficina por inversiones. mobilario Si Si
    I03 Equipo de transporte. equipo_transporte Si Si
    I04 Equipo de computo y accesorios. equipo_computo Si Si
    I05 Dados, troqueles, moldes, matrices y herramental. herramientas Si Si
    I06 Comunicaciones telefónicas. comunicaciones_telefonicas Si Si
    I07 Comunicaciones satelitales. comunicaciones_satelitales Si Si
    I08 Otra maquinaria y equipo. otra_maquinaria Si Si
    D01 Honorarios médicos, dentales y gastos hospitalarios. gastos_medicos Si No
    D02 Gastos médicos por incapacidad o discapacidad. gastos_medicos_incapacidad Si No
    D03 Gastos funerales. gastos_funerales Si No
    D04 Donativos. donativos Si No
    D05 Intereses reales efectivamente pagados por créditos hipotecarios (casa habitación). intereses_hipotecarios Si No
    D06 Aportaciones voluntarias al SAR. aportaciones_sar Si No
    D07 Primas por seguros de gastos médicos. primas_seguro_gastos_medicos Si No
    D08 Gastos de transportación escolar obligatoria. gastos_transportacion_escolar Si No
    D09 Depósitos en cuentas para el ahorro, primas que tengan como base planes de pensiones. depositos_ahorro Si No
    D10 Pagos por servicios educativos (colegiaturas). colegiaturas Si No
    S01 Sin efectos fiscales. sin_efectos_fiscales Si Si
    CP01 Pagos pagos Si Si
    CN01 Nómina nomina Si No

    Relación del Uso de CFDi (c_UsoCFDI) y los Regímenes Fiscales (c_RegimenFiscal) del receptor.

    Combinaciones aceptadas por el SAT del uso de CFDi con los Regímenes Fiscales del receptor.

    Clave Regímenes Fiscales
    G01 601, 603, 606, 612, 620, 621, 622, 623, 624, 625, 626
    G02 601, 603, 606, 612, 620, 621, 622, 623, 624, 625, 626
    G03 601, 603, 606, 612, 620, 621, 622, 623, 624, 625, 626
    I01 601, 603, 606, 612, 620, 621, 622, 623, 624, 625, 626
    I02 601, 603, 606, 612, 620, 621, 622, 623, 624, 625, 626
    I03 601, 603, 606, 612, 620, 621, 622, 623, 624, 625, 626
    I04 601, 603, 606, 612, 620, 621, 622, 623, 624, 625, 626
    I05 601, 603, 606, 612, 620, 621, 622, 623, 624, 625, 626
    I06 601, 603, 606, 612, 620, 621, 622, 623, 624, 625, 626
    I07 601, 603, 606, 612, 620, 621, 622, 623, 624, 625, 626
    I08 601, 603, 606, 612, 620, 621, 622, 623, 624, 625, 626
    D01 605, 606, 608, 611, 612, 614, 607, 615, 625
    D02 605, 606, 608, 611, 612, 614, 607, 615, 625
    D03 605, 606, 608, 611, 612, 614, 607, 615, 625
    D04 605, 606, 608, 611, 612, 614, 607, 615, 625
    D05 605, 606, 608, 611, 612, 614, 607, 615, 625
    D06 605, 606, 608, 611, 612, 614, 607, 615, 625
    D07 605, 606, 608, 611, 612, 614, 607, 615, 625
    D08 605, 606, 608, 611, 612, 614, 607, 615, 625
    D09 605, 606, 608, 611, 612, 614, 607, 615, 625
    D10 605, 606, 608, 611, 612, 614, 607, 615, 625
    S01 601, 603, 605, 606, 608, 610, 611, 612, 614, 616, 620, 621, 622, 623, 624, 607, 615, 625, 626
    CP01 601, 603, 605, 606, 608, 610, 611, 612, 614, 616, 620, 621, 622, 623, 624, 607, 615, 625, 626
    CN01 605

    Regimen Fiscal

    En este catálogo se describen las abreviaturas que se pueden utilizar la etiqueta de regimenFiscal, en la petición se puede incluir el campo de Clave.

    Catálogo de Regímenes Fiscales (c_RegimenFiscal)

    Clave Tipo Persona Física Persona Moral
    601 General de Ley Personas Morales No
    603 Personas Morales con Fines no Lucrativos No
    605 Sueldos y Salarios e Ingresos Asimilados a Salarios No
    606 Arrendamiento No
    607 Régimen de Enajenación o Adquisición de Bienes No
    608 Demás ingresos No
    610 Residentes en el Extranjero sin Establecimiento Permanente en México
    611 Ingresos por Dividendos (socios y accionistas) No
    612 Personas Físicas con Actividades Empresariales y Profesionales No
    614 Ingresos por intereses No
    615 Régimen de los ingresos por obtención de premios No
    616 Sin obligaciones fiscales No
    620 Sociedades Cooperativas de Producción que optan por diferir sus ingresos No
    621 Incorporación Fiscal No
    622 Actividades Agrícolas, Ganaderas, Silvícolas y Pesqueras No
    623 Opcional para Grupos de Sociedades No
    624 Coordinados No
    625 Régimen de las Actividades Empresariales con ingresos a través de Plataformas Tecnológicas No
    626 Régimen Simplificado de Confianza

    Objeto de Impuestos

    En este catálogo se describen las abreviaturas que se pueden utilizar para identificar los distintos de tipos de objeto de impuestos de los cuales se puede tener un documento relacionado. En la petición se puede incluir el campo de Claveo Clave Texto.

    Catálogo de Objetos de Impuestos (c_ObjetoImp)

    Clave Tipo Clave Texto
    01 No objeto de impuesto no
    02 Sí objeto de impuesto si
    03 Sí objeto del impuesto y no obligado al desglose sin_desglose
    04 Sí objeto del impuesto y no causa impuesto sin_causa
    05 Sí objeto del impuesto, IVA crédito PODEBI iva_podebi

    Exportación

    En este catálogo se describen las abreviaturas que se pueden utilizar para la etiqueta de exportacion, en la petición se puede incluir el campo de Claveo Clave Texto.

    Catálogo de Exportación (c_Exportacion)

    Clave Descripción Clave Texto
    01 No aplica na
    02 Definitiva con clave A1 definitiva_A1
    03 Temporal temporal
    04 Definitiva con clave distinta a A1 o cuando no existe enajenación en términos del CFF definitiva_no_enajenacion

    Periodicidad

    En este catálogo se describen las abreviaturas que se pueden utilizar para la etiqueta de periodicidad ,en la petición se puede incluir el campo de Clave.

    Catálogo de Periodicidad (c_Periodicidad)

    Clave Descripción
    01 Diario
    02 Semanal
    03 Quincenal
    04 Mensual
    05 Bimestral

    Meses

    En este catálogo se describen las abreviaturas que se pueden utilizar para la etiqueta de meses, en la petición se puede incluir el campo de Clave.

    Catálogo de Meses (c_Meses)

    Clave Descripción
    01 Enero
    02 Febrero
    03 Marzo
    04 Abril
    05 Mayo
    06 Junio
    07 Julio
    08 Agosto
    09 Septiembre
    10 Octubre
    11 Noviembre
    12 Diciembre
    13 Enero-Febrero
    14 Marzo-Abril
    15 Mayo-Junio
    16 Julio-Agosto
    17 Septiembre-Octubre
    18 Noviembre-Diciembre

    Motivos de Cancelación 4.0

    En este catálogo se describen las opciones que se pueden utilizar para la etiqueta de motivo en la petición de cancelación.

    Catálogo de Motivos de Cancelación

    Clave Tipo Descripción
    01 Comprobante emitido con errores con relación Cuando se cancela un CFDi para corregir errores en los datos y se lo sustituye por un nuevo CFDi.
    02 Comprobante emitido con errores sin relación Cuando se cancela un CFDi que contiene errores en los datos pero no se requiere relacionar con otro CFDi.
    03 No se llevó a cabo la operación Cuando se cancela un CFDi porque la operación no se concretó.
    04 Operación nominativa relacionada con una factura global Cuando se cancela un CFDi global al público en general porque un cliente solicita el CFDi nominativo de una operación incluida en el CFDi global.

    Tipos de CFDi 4.0

    En este catálogo se describen las abreviaturas que se pueden utilizar para identificar los distintos de tipos de cfdi de los cuales se puede tener una serie.

    Catálogo de Tipos de CFDi

    Clave Tipo
    FA Factura
    NC Nota de Crédito
    RH Recibo de Honorarios
    RA Recibo de Arrendamiento
    DO Recibo de Donativo
    CI Comprobante de Ingreso
    CA Nota de Cargo
    CP Comprobante de Traslado
    RP Recibo Electrónico de Pago
    AN Comprobante de Anticipo

    Regimen Aduanero

    En este catálogo se describen las claves y en la petición se debe incluir el campo de Clave.

    Catálogo de Régimen Aduanero (c_RegimenAduanero)

    Clave Descripción ImpoExpo
    IMD Definitivo de importación. Entrada
    EXD Definitivo de exportación. Salida
    ITR Temporales de importación para retomar al extranjero en el mismo estado. Entrada
    ITE Temporales de importación para elaboración, transformación o reparación para empresas con programa IMMEX. Entrada
    ETR Temporales de exportación para retornar al país en el mismo estado. Salida
    ETE Temporales de exportación para elaboración, transformación o reparación. Salida
    DFI Depósito Fiscal. Salida,Entrada
    RFE Elaboración, transformación o reparación en recinto fiscalizado. Salida,Entrada
    RFS Recinto fiscalizado estratégico. Salida,Entrada
    TRA Tránsitos. Salida,Entrada

    Sector COFEPRIS

    En este catálogo se describen las claves y en la petición se debe incluir el campo de Clave.

    Catálogo de Sector COFEPRIS (c_SectorCOFEPRIS)

    Clave Descripción
    01 Medicamento
    02 Precursores y químicos de uso dual
    03 Psicotrópicos y estupefacientes
    04 Sustancias tóxicas
    05 Plaguicidas y fertilizantes

    Forma Farmacéutica

    En este catálogo se describen las claves y en la petición se debe incluir el campo de Clave.

    Catálogo de Forma Farmacéutica (c_FormaFarmaceutica)

    Clave Descripción
    01 Tableta
    02 Capsulas
    03 Comprimidos
    04 Grageas
    05 Suspensión
    06 Solución
    07 Emulsión
    08 Jarabe
    09 Inyectable
    10 Crema
    11 Ungüento
    12 Aerosol
    13 Gas medicinal
    14 Gel
    15 Implante
    16 Óvulo
    17 Parche
    18 Pasta
    19 Polvo
    20 Supositorio

    Condiciones especiales del Transporte

    En este catálogo se describen las claves y en la petición se debe incluir el campo de Clave.

    Catálogo de Condiciones especiales del Transporte (c_CondicionesEspeciales)

    Clave Descripción
    01 Congelados
    02 Refrigerados
    03 Temperatura controlada
    04 Temperatura ambiente

    Exportación

    En este catálogo se describen las claves y en la petición se debe incluir el campo de Clave.

    Catálogo de Exportación (c_TipoMateria)

    Clave Descripción
    01 No aplica
    01 Materia prima
    02 Materia procesada
    03 Materia terminada(producto terminado)
    04 Materia para la industria manufacturera
    05 Otra

    Documentos Aduaneros

    En este catálogo se describen las claves y en la petición se debe incluir el campo de Clave.

    Catálogo de Documentos Aduaneros (c_DocumentoAduanero)

    Clave Descripción
    01 Pedimento
    02 Autorización de importación temporal
    03 Autorización de importación temporal de embarcaciones
    04 Autorización de importación temporal de mercancías, destinadas al mantenimiento y reparación de las mercancías importadas temporalmente
    05 Autorización para la importación de vehículos especialmente construidos o transformados, equipados con dispositivos o aparatos diversos para cumplir con contrato derivado de licitación pública
    06 Aviso de exportación temporal
    07 Aviso de traslado de mercancías de empresas con Programa IMMEX, RFE u Operador Económico Autorizado
    08 Aviso para el traslado de autopartes ubicadas en la franja o región fronteriza a la industria terminal automotriz o manufacturera de vehículos de autotransporte en el resto del territorio nacional
    09 Constancia de importación temporal, retorno o transferencia de contenedores
    10 Constancia de transferencia de mercancías
    11 Autorización de donación de mercancías al Fisco Federal que se encuentren en el extranjero
    12 Cuaderno ATA
    13 Listas de intercambio
    14 Permiso de Importación Temporal
    15 Permiso de importación temporal de casa rodante
    16 Permiso de importación temporal de embarcaciones
    17 Solicitud de donación de mercancías en casos de emergencias o desastres naturales
    18 Aviso de consolidado
    19 Aviso de cruce de mercancias
    20 Otro

    Parte Transporte

    En este catálogo se describen las claves y en la petición se debe incluir el campo de Clave.

    Catálogo de partes del transporte rentadas o prestadas. (c_ParteTransporte)

    Clave Descripción
    PT01 Camión unitario
    PT02 Camión
    PT03 Tractocamión
    PT04 Remolque
    PT05 Semirremolque
    PT06 Vehículo ligero de carga
    PT07 Grúa
    PT08 Aeronave
    PT09 Barco o buque
    PT10 Carro o vagón
    PT11 Contenedor
    PT12 Locomotora

    Registro ISTMO

    En este catálogo se describen las claves y en la petición se debe incluir el campo de Clave.

    Catálogo Registro ISTMO. (c_RegistroISTMO)

    Clave Descripción
    01 Coatzacoalcos I
    02 Coatzacoalcos II
    03 Texistepec
    04 San Juan Evangelista
    05 Salina Cruz
    06 San Blas Atempa

    Comprobante Global 4.0

    El CFDi global en donde consten las operaciones celebradas con el público en general, deberá emitirse dentro de las 24 horas siguientes al cierre de las operaciones realizadas de manera diaria, semanal, mensual o bimestral, según el periodo que se determine en el comprobante.

    CG - Información General

    Generar CFDi - Request:

    {
        "CFDi": {
            "versionCFDi": "4.0",
            "modo": "debug",
            "versionEF": "6.5",
            "serie": "APIGL",
            "folioInterno": "1",
            "fechaEmision": "2022-02-01 11:22:01",
            "subTotal": "1500.00",
            "descuentos": "50.00",
            "total": "1587.00",
            "tipoMoneda": "MXN",
            "nombreDisenio": "Diseño Compacto",
            "rfc": "AAA010101AAA",
            "exportacion": "01",
            ...
    
    

    CFDi Encabezado del Comprobante


    versionCFDi Versión del CFDi a timbrar en el SAT

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Requerido 4.0  4.0


    modo Es la modalidad del API en la que se va a generar el comprobante fiscal digital, siendo las opciones posibles: debug o produccion.

    Tipo de Dato Ocurrencia Valores Posibles Valor Predeterminado Ejemplo
    enum Requerido produccion
    debug
    produccion debug


    versionEF Versión del API de Enlace Fiscal

    Tipo de Dato Ocurrencia Valor Requerido Ejemplo
    enum Requerido 6.5 6.5


    serie Es la serie de folios que se asignará al comprobante fiscal digital para poder identificarlo de una manera sencilla. Se utiliza para control interno.

    Tipo de Dato Ocurrencia Ejemplo
    string Requerido GL


    folioInterno Se utiliza para identificar el comprobante fiscal digital generado, es para control interno.

    El folio interno junto con la serie asignada se utilizan como método de control para evitar timbrar un mismo comprobante más de una vez. Si por error se llega a enviar la petición de timbrado de un mismo folio y serie en varias ocasiones, nuestro API no la timbra otra vez, simplemente se envía la información del timbrado original.

    Tipo de Dato Ocurrencia Ejemplo
    string Requerido 1


    fechaEmision Fecha de emisión del comprobante fiscal digital, debe corresponder con la hora local donde se expide el comprobante. El tiempo máximo que se tiene entre la fecha de emisión y la petición de timbrado es de 72 horas por disposición oficial.

    Tipo de Dato Ocurrencia Formato Ejemplo
    datetime Requerido Y-m-d H:i:s 2022-02-01 11:22:01


    subTotal Es la suma de los importes antes de descuentos e impuestos, no se permiten valores negativos.

    Tipo de Dato Ocurrencia Ejemplo
    float Requerido 1500.00


    descuentos Es el importe total de los descuentos aplicables antes de impuestos, no permite valores negativos.

    Tipo de Dato Ocurrencia Ejemplo
    float Condicional 50.00


    total Es la suma del subtotal, menos los descuentos aplicables, más las contribuciones recibidas, menos los impuestos retenidos (federales y/o locales). No se permiten valores negativos.

    Tipo de Dato Ocurrencia Ejemplo
    float Requerido 1587.00


    tipoMoneda Es la clave de la moneda utilizada conforme al catálogo publicado por el SAT.

    Tipo de Dato Ocurrencia Opciones Valor Predeterminado Ejemplo
    enum Opcional Se muestran en el catálogo de monedas, se utiliza la Clave MXN MXN


    tipoCambio Tipo de cambio conforme a la moneda utilizada. Es requerido cuando la moneda es distinta a Peso Mexicano (MXN) y a la clave (XXX).

    Tipo de Dato Ocurrencia Ejemplo
    float Condicional 18.21


    nombreDisenio Nombre del diseño que se utilizará para generar el PDF del comprobante fiscal.

    Tipo de Dato Ocurrencia  Valor Predeterminado Ejemplo
    string Opcional El diseño predeterminado de la cuenta Diseño Compacto


    rfc Registro Federal de Contribuyentes correspondiente al emisor del comprobante fiscal digital. No debe contener guiones ni espacios.

    El RFC que se utilice deberá estar en la lista de RFC inscritos no cancelados en el SAT (l_rfc).

    Tipo de Dato Ocurrencia Longitud Ejemplo
    string Requerido 12 caracteres - Persona Moral
    13 caracteres - Persona Física
    AAA010101AAA


    exportacion Campo requerido para registrar la clave con la que se identifica si el comprobante ampara una operación de exportación, las distintas claves vigentes se encuentran incluidas en el catálogo c_Exportacion del SAT

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Requerido Se muestra en el catálogo de Exportación, se puede utilizar Clave o Clave Texto  03


    CG - Datos de Pago

    En esta sección se incluye la información sobre el pago del comprobante fiscal digital emitido. Esta sección es requerida en la petición.

    Datos de Pago [requerido] :

    {
        "CFDi": {
            ...,
            "DatosDePago": {
                "metodoDePago": "PUE", 
                "formaDePago": "03"
            },
            ...,
    

    metodoDePago Elemento para especificar la Clave que corresponda al método de pago utilizado.

    Tipo de Dato Ocurrencia Opciones Valor Predeterminado Ejemplo
    enum Requerido Consultar el catálogo de métodos de pago, se utiliza la Clave PUE PUE


    formaDePago Dato para expresar la Clave o Clave Texto que corresponda a la forma de pago utilizada para el pago de los bienes, servicios o la forma en que se recibe el donativo.

    Tipo de Dato Ocurrencia Opciones Ejemplo
    enum Condicional Las opciones se muestran en el catálogo de forma de pago, se puede utilizar Clave o Clave Texto 03


    CG - Información Global

    En este nodo se puede expresar la información relacionada con el comprobante global de operaciones con el público en general.

    Información Global [condicional] :

    {
        "CFDi": {
            ...,
            "InformacionGlobal": {
                "periodicidad": "04",
                "meses": "01",
                "anio": "2022"
            },
            ...
    

    InformacionGlobal Sección condicional para indicar la información relacionada con el comprobante global de operaciones con el público en general.

    periodicidad Campo requerido para registrar el período al que corresponde la información del comprobante global, las distintas claves vigentes se encuentran incluidas en el catálogo c_Periodicidad del SAT.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Requerido Se muestra en el catálogo de Peridicidad, se utiliza la Clave  02


    meses Campo requerido para registrar la clave del mes o los meses al que corresponde la información de las operaciones celebradas con el público en general, las distintas claves vigentes se encuentran incluidas en el catálogo c_Meses del SAT.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Requerido Se muestra en el catálogo de Meses, se utiliza la Clave  08


    anio Campo requerido para registrar el año al que corresponde la información del comprobante global.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido 2022

    CG - Comprobantes Relacionados

    En esta sección se incluirá la información de los comprobantes fiscales relacionados con el que se está generando.

    Comprobantes Relacionados [condicional]:

    {
        "CFDi": {
            ...,
            "ComprobantesRelacionados": [{
                "tipoRelacion": "nota_credito",
                "Comprobantes": [
                        "eeca15af-e9b1-4a45-9861-8d51c4fa8219",
                        "FA-250"
                ]
            }, {
                "tipoRelacion": "02",
                "Comprobantes": [
                        "eefv15af-e9b1-4r45-7577-8d51c4fa6535"
                ]
            }],
            ...,
    
    


    ComprobantesRelacionados Sección opcional para indicar la información de los distintos comprobantes fiscales relacionados.

    tipoRelacion Tipo de relación que existe entre el comprobante que se está generando y los generados previamente.

    Para obtener más información acerca del tipo de relación que lleva este documento favor de entrar en la sección de catálogo de tipos relación.

    Tipo de Dato Ocurrencia Opciones Ejemplo
    enum Requerido Se muestran en el catálogo de tipos relación, se puede utilizar Clave o Clave Texto nota_credito


    Comprobantes Es un arreglo con la información de los comprobantes relacionados.

    Tipo Ocurrencia Opciones Ejemplo
    string  Requerido  UUID o Serie-Folio eeca15af-e9b1-4a45-9861-8d51c4fa8219
    FA-230

    CG - Receptor

    Esta sección contiene los datos correspondientes al receptor del comprobante fiscal.

    Receptor [requerido]

    {
        "CFDi": {
            ...,
            "Receptor": {
                "rfc": "XAXX010101000",
                "nombre": "PUBLICO EN GENERAL",
                "regimenFiscal": "616",
                "usoCfdi": "S01",
                "DomicilioFiscal": {
                    "cp": "45116"
                }
            },
            ...,
    


    rfc Registro Federal de Contribuyentes correspondiente al receptor del comprobante, debe ir sin guiones ni espacios.

    Tipo de Dato Ocurrencia Longitud Ejemplo
    string Requerido 13 caracteres - Persona Física “XAXX010101000”


    nombre Campo requerido, es el nombre fiscal del receptor (cliente) y se debe registrar en MAYÚSCULAS de la siguiente manera:


    regimenFiscal Campo requerido para registrar la clave vigente del régimen fiscal del contribuyente receptor, las distintas claves vigentes se encuentran incluidas en el catálogo c_RegimenFiscal del SAT.

    Tipo de Dato Ocurrencia Opciones  Ejemplo
    string Requerido Se encuentran en el catálogo de Régimen Fiscal, se utiliza la Clave  616


    usoCfdi Es la clave o descripción del uso que dará a esta factura el receptor del CFDi.

    Tipo de Dato Ocurrencia Opciones  Ejemplo
    enum Requerido Se encuentran en el catálogo de UsoCFDI, se puede utilizar Clave o Clave Texto  S01


    Receptor / DomicilioFiscal [opcional]

    {
        "CFDi": {
        ...
    
            ...
            "Receptor": {
                ...
                "DomicilioFiscal": {
                    "cp": "44580"
                }
            },
           ...
    
    

    DomicilioFiscal Sección opcional para agregar la dirección del receptor del comprobante. Ésta información únicamente aparece en la versión PDF del comprobante fiscal.


    cp Elemento que indica el código postal del domicilio fiscal del receptor.

    CG - Partidas

    Bloque requerido que agrupa a todas las partidas del Comprobante Fiscal Digital (CFDi 4.0)

    Partidas [requerido]

    {
        "CFDi": {
            ...,
            "Partidas": [
                {
                    "cantidad": "10",
                    "claveUnidad": "E48",
                    "claveProdServ": "01010101",
                    "noIdentificacion": "421412321212321",
                    "descripcion": "Venta",
                    "valorUnitario": "100.00",
                    "importe": "1000.00",
                    "descuento": "50.00",
                    "objetoDeImpuesto": "01",
                    "Impuestos": [
                        {
                            "tipo": "traslado",
                            "claveImpuesto": "IVA",
                            "tipoFactor": "tasa",
                            "tasaOCuota": "0.16",
                            "baseImpuesto": "950.00",
                            "importe": "152.00"
                        }
                    ]
                },
                {
                    "cantidad": "1",
                    "claveUnidad": "C62",
                    "claveProdServ": "01010101",
                    "noIdentificacion": "4214123212123212",
                    "descripcion": "Venta",
                    "valorUnitario": "500.00",
                    "importe": "500.00",
                    "objetoDeImpuesto": "01",
                    "Impuestos": [{
                        "tipo": "traslado",
                        "claveImpuesto": "IVA",
                        "tipoFactor": "tasa",
                        "tasaOCuota": "0.16",
                        "baseImpuesto": "500.00",
                        "importe": "80.00"
                    }]
                }
            ],
            ...,
    

    Partidas


    cantidad Es el número de articulos o servicios de la partida.

    Tipo de Dato Ocurrencia  Ejemplo
    float Requerido  1


    claveUnidad Es la clave de unidad de medida estandarizada conforme el cátalogo c_ClaveUnidad del SAT.

    Tipo de Dato Ocurrencia Opciones  Ejemplo
    enum Requerido Se especifican en el catálogo de unidades del SAT (c_ClaveUnidad)  ACT


    claveProdServ Clave que permite clasificar el producto o servicio que se indica en la partida.

    Tipo de Dato Ocurrencia  Ejemplo
    enum Requerido  01010101


    noIdentificacion Es el número de folio o de operación de los comprobantes con el público en general.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido 421412321212321


    descripcion Es la descripción del bien o servicio de la partida.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido  Venta


    valorUnitario Es el valor o precio unitario de los bienes o servicios de la partida.

    Tipo de Dato Ocurrencia Rango de valores  Ejemplo
    float Requerido Mínimo: 0.01
    Máximo: 9,223,372,036,854  
    100.00


    importe Es el importe total de los bienes o servicios descritos en la partida.

    Tipo de Dato Ocurrencia Rango de valores  Ejemplo
    float Requerido Mínimo: 0.01
    Máximo: 9,223,372,036,854  
    1000.00


    objetoDeImpuesto Campo requerido para registrar la clave correspondiente para indicar si la operación comercial es objeto o no de impuesto, las distintas claves vigentes se encuentran incluidas en el catálogo c_ObjetoImp del SAT.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Requerido Se muestra en el cátalogo Objeto de Impuestos, se utiliza la Clave  03


    descuento Es el importe de los descuentos aplicables a cada partida.

    Tipo de Dato Ocurrencia Rango de valores  Ejemplo
    float Opcional Mínimo: 0.01
    Máximo: 9,223,372,036,854  
    50.00


    Partidas / Impuestos [condicional]

    {
        "CFDi": {
        ...
    
            ...
            "Partidas": [
                {
                    ...
                    "Impuestos": [
                        {
                            "tipo": "traslado",
                            "claveImpuesto": "IVA",
                            "tipoFactor": "tasa",
                            "tasaOCuota": "0.16",
                            "baseImpuesto": "950.00",
                            "importe": "152.00"
                        },
                    ],
                    ...
    
    
    

    Partidas / Impuestos

    Esta sección condicional contiene la información detallada de los impuestos federales retenidos y trasladados de la partida. Es requerido indicar los impuestos que aplican conforme al servicio o producto que se describe en la partida.


    tipo Es el tipo de impuesto conforme a los disponibles en el catálogo c_Impuesto del SAT.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Requerido traslado  traslado


    claveImpuesto Es la clave de impuesto de la partida conforme al catálogo c_Impuesto del SAT.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Requerido Se muestra en el cátalogo de Impuestos, se puede utilizar la Clave o Clave Texto  IVA


    tipoFactor Es el tipo de factor que se aplica a la base del impuesto de la partida.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Requerido tasa
    cuota
    exento
     tasa


    tasaOCuota Es el valor de la tasa o cuota que aplica para la partida. Éste campo es requerido cuando el campo tipoFactor sea tasa o cuota.

    Tipo de Dato Ocurrencia Ejemplo
    float Condicional  0.16


    baseImpuesto Es el valor base para el cálculo del impuesto de la partida.

    Tipo de Dato Ocurrencia Ejemplo
    float Requerido  500.00


    importe Es el importe del impuesto que aplica a la partida.

    Tipo de Dato Ocurrencia Ejemplo
    float Condicional  80.00


    CG - Impuestos

    Impuestos [condicional]

    {
        "CFDi": {
            ...,
            "Impuestos": {
                "Totales": {
                    "traslados": "232.00"
                },
                "Impuestos": [
                    {
                        "tipo": "traslado",
                        "claveImpuesto": "IVA",
                        "tipoFactor": "tasa",
                        "tasaOCuota": "0.16",
                        "baseImpuesto": "1450.00",
                        "importe": "232.00"
                    }
                ]
            },
            ...,
    
    

    Impuestos / Totales

    Esta sección contiene la información relacionada con los impuestos federales retenidos y trasladados del CFDi. Es requerido incluirla siempre que los productos y/o servicios del comprobante tengan impuestos, que en la práctica es la mayoría de las veces.


    Totales / retenciones Es el total de los impuestos de retenciones federales.


    Totales / traslados Es el total de los impuestos de trasladados federales. Se debe incluir solo si el comprobante incluye impuestos de traslado. En caso contrario, no es necesario incluir el campo.

    Tipo de Dato Ocurrencia  Ejemplo
    float Condicional  232.00


    Impuestos / Impuestos

    Este nodo es requerido cuando al menos una de las partidas es objeto de impuestos.


    tipo Es el tipo de impuesto conforme a los disponibles en el catálogo c_Impuesto del SAT.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Condicional traslado  traslado


    claveImpuesto Es la clave de impuesto del comprobante conforme al catálogo c_Impuesto del SAT.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Requerido Se muestra en el cátalogo de Impuestos, se puede utilizar Clave o Clave Texto  IVA


    tipoFactor Es el tipo de factor que se aplica a la base del impuesto del comprobante.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Requerido tasa
    cuota
    exento
     tasa


    tasaOCuota Es el valor de la tasa o cuota que aplica para la partida. Éste campo es requerido cuando el campo tipoFactor sea tasa o cuota.

    Tipo de Dato Ocurrencia Ejemplo
    float Condicional  0.16


    baseImpuesto Campo Requerido para registrar el monto de la base del impuesto trasladado, agrupado por impuesto, tipoFactor y tasaOCuota, el cual debe tener hasta la cantidad de decimales que soporte la moneda.

    Tipo de Dato Ocurrencia Ejemplo
    float Requerido  15000.00


    importe Es el importe del impuesto que aplica a la partida.

    Tipo de Dato Ocurrencia Ejemplo
    float Condicional  232.00

    Ejemplo Básico Comprobante Global

    Ejemplo con el mínimo de campos que puede tener una petición.

    Ejemplo Básico - Request:

    {
      "CFDi": {
        "versionCFDi": "4.0",
        "modo": "debug",
        "versionEF": "6.5",
        "serie": "APIGL",
        "folioInterno": 1,
        "fechaEmision": "2022-11-01 09:00:00",
        "subTotal": "100.00",
        "total": "116.00",
        "tipoMoneda": "MXN",
        "nombreDisenio": "Diseño predeterminado",
        "rfc": "CACX7605101P8",
        "exportacion": "01",
        "DatosDePago": {
            "metodoDePago": "PUE",
            "formaDePago": "03"
        },
        "InformacionGlobal": {
            "periodicidad": "04",
            "meses": "01",
            "anio": "2022"
        },
        "Receptor": {
            "rfc": "XAXX010101000",
            "nombre": "PUBLICO EN GENERAL",
            "regimenFiscal": "616",
            "usoCfdi": "S01",
            "DomicilioFiscal": {
                "cp": "45116"
            }
        },
        "Partidas": [{
            "cantidad": "1",
            "claveUnidad": "ACT",
            "claveProdServ": "01010101",
            "noIdentificacion": "150",
            "descripcion": "Venta",
            "valorUnitario": "100.00",
            "importe": "100.00",
            "objetoDeImpuesto": "02",
            "Impuestos": [{
                "tipo": "traslado",
                "claveImpuesto": "IVA",
                "tipoFactor": "tasa",
                "tasaOCuota": "0.16",
                "baseImpuesto": "100.00",
                "importe": "16.00"
            }]
        }],
        "Impuestos": {
            "Totales": {"traslados": "16.00"},
            "Impuestos": [{
                "tipo": "traslado",
                "claveImpuesto": "IVA",
                "tipoFactor": "tasa",
                "tasaOCuota": "0.16",
                "importe": "16.00",
                "baseImpuesto": "100.00"
            }]
        }
      }
    }
    

    Ejemplo Básico - Response:

    {
        "AckEnlaceFiscal": {
            "numeroReferencia": 5,
            "estatusDocumento": "aceptado",
            "fechaMensaje": "2022-11-04 17:02:34",
            "version": "1.0",
            "folioInterno": 3,
            "folioFiscalUUID": "c360c4e0-5c94-11ed-ad13-6f6496f775bd",
            "serie": "APIGL",
            "noSerieCertificado": "30001000000400002447",
            "noSerieCertificadoSAT": "12345678901234567890",
            "selloCFDi": "...",
            "selloSAT": "...",
            "cadenaTFD": "...|",
            "fechaGeneracionCFDi": "2022-11-04 09:00:00",
            "fechaTFD": "2022-11-04T17:02:32",
            "estadoCFDi": "vigente",
            "archivoQR": "...",
            "descargaArchivoQR": "https://descarga.enlacefiscal.com/v6/qr/?i=SUlBMDQwODA1RFo0LS1JSUEwNDA4MDVEWjQtMjAyMjExMDQtQVBJR0wzLnBuZy0tMTQtLTI=&b=1",
            "descargaArchivoPDF": "https://descarga.enlacefiscal.com/v6/pdf/?i=V1hwTk1rMUhUVEJhVkVGMFRsZE5OVTVETUhoTlYxWnJURmRHYTAxVVRYUk9iVmt5VGtSck1scHFZek5PVjBwckxTMU5WRkU5TFMxTlp6MDlMUzFUVld4Q1RVUlJkMDlFUVRGU1JtOHdURlJKZDAxcVNYaE5WRUV3VEZWR1VWTlZaRTFOZVRWM1drZFpQUzB0VGtNMGR3PT0=&b=1",
            "xmlCFDi": "...",
            "descargaXmlCFDi": "https://descarga.enlacefiscal.com/v6/cfdi/?i=SUlBMDQwODA1RFo0LS1JSUEwNDA4MDVEWjQtMjAyMjExMDQtQVBJR0wzLnhtbC0tMTQtLTItLTQuMA==&b=1"
        }
    }
    

    Ejemplo Completo Comprobante Global

    Ejemplo con la mayoría de campos que puede tener una petición.

    Ejemplo Completo Timbrado - Request:

    {
        "CFDi": {
            "modo": "debug",
            "versionCFDi": "4.0",
            "versionEF": "6.5",
            "serie": "APIGL",
            "folioInterno": "1",
            "fechaEmision": "2022-11-04 11:22:01",
            "subTotal": "1500.00",
            "descuentos": "50.00",
            "total": "1587.00",
            "tipoMoneda": "MXN",
            "nombreDisenio": "Diseño predeterminado",
            "rfc": "IIA040805DZ4",
            "exportacion": "01",
            "DatosDePago": {
                "metodoDePago": "PUE",
                "formaDePago": "03",
                "condicionesDePago": "45 días",
                "fechaVencimiento": "2022-02-23",
                "referenciaBancaria": "3444232132"
            },
            "InformacionGlobal": {
                "periodicidad": "04",
                "meses": "01",
                "anio": "2022"
            },
            "ComprobantesRelacionados": [
                {
                    "tipoRelacion": "nota_credito",
                    "Comprobantes": [
                        "eeca15af-e9b1-4a45-9861-8d51c4fa8219",
                        "FA-250"
                    ]
                },
                {
                    "tipoRelacion": "sustitucion",
                    "Comprobantes": [
                        "aaca15af-e9b1-4a45-9861-8d51c4fa8219",
                        "FA-251"
                    ]
                }
            ],
            "Receptor": {
                "rfc": "XAXX010101000",
                "nombre": "PUBLICO EN GENERAL",
                "regimenFiscal": "616",
                "usoCfdi": "S01",
                "DomicilioFiscal": {
                    "cp": "45116"
                }
            },
            "Partidas": [
                {
                    "cantidad": "10",
                    "claveUnidad": "ACT",
                    "claveProdServ": "01010101",
                    "noIdentificacion": "421412321212321",
                    "descripcion": "Venta",
                    "valorUnitario": "100.00",
                    "importe": "1000.00",
                    "descuento": "50.00",
                    "objetoDeImpuesto": "02",
                    "Impuestos": [
                        {
                            "tipo": "traslado",
                            "claveImpuesto": "IVA",
                            "tipoFactor": "tasa",
                            "tasaOCuota": "0.16",
                            "baseImpuesto": "950.00",
                            "importe": "152.00"
                        }
                    ],
                    "Partes": [
                        {
                            "cantidad": "10",
                            "claveProdServ": "27111731",
                            "unidad": "Pieza",
                            "noIdentificacion": "R-DSA2332",
                            "descripcion": "Desarmador",
                            "valorUnitario": "100.00",
                            "importe": "1000.00"
                        },
                        {
                            "cantidad": "5",
                            "claveProdServ": "27111750",
                            "unidad": "Pieza",
                            "noIdentificacion": "R-DSC2345",
                            "descripcion": "Pinzas",
                            "valorUnitario": "50.00",
                            "importe": "250.00"
                        }
                    ]
                },
                {
                    "cantidad": "1",
                    "claveUnidad": "E48",
                    "unidad": "Servicio",
                    "claveProdServ": "84101700",
                    "descripcion": "Renta",
                    "valorUnitario": "500.00",
                    "importe": "500.00",
                    "objetoDeImpuesto": "02",
                    "Impuestos": [{
                        "tipo": "traslado",
                        "claveImpuesto": "IVA",
                        "tipoFactor": "tasa",
                        "tasaOCuota": "0.16",
                        "baseImpuesto": "500.00",
                        "importe": "80.00"
                    }]
                }
            ],
            "Impuestos": {
                "Totales": {
                    "traslados": "232.00"
                },
                "Impuestos": [
                    {
                        "tipo": "traslado",
                        "claveImpuesto": "IVA",
                        "tipoFactor": "tasa",
                        "tasaOCuota": "0.16",
                        "baseImpuesto": "1450.00",
                        "importe": "232.00"
                    }
                ]
            },
            "BloquesInfoAdicional": {
                "BloqueSuperior": {
                    "titulo": "Información",
                    "texto": "Condiciones: Contado Vencimiento: 17/12/2016"
                },
                "BloqueInferior": {
                    "titulo": "Observaciones",
                    "TextoRenglones": [
                        "Folio del contrato: C1008008. Factura que ampara el pago de la(s)",
                        "transaccion(es): Pago Transacción 7/48"
                    ]
                }
            },
            "EnviarCFDI": {
                "Correos": [
                    "facturas@enlacefiscal.com",
                    "cuentasxpagar@enlacefiscal.com"
                ],
                "mensajeCorreo": "Mensaje personalizado que se incluirá en el cuerpo del correo a enviar."
            },
            "Personalizados": [
                {
                    "nombreCampo": "Número de Pedido",
                    "valor": "345673"
                },
                {
                    "nombreCampo": "Vendedor",
                    "valor": "Juan Pérez"
                }
            ],
            "Pagare": {
                "fecha": "2017-04-01",
                "tasaInteresMoratorio": "5.58"
            }
        }
    }
    

    Ejemplo Completo Timbrado - Response:

    {
        "AckEnlaceFiscal": {
            "numeroReferencia": 2,
            "estatusDocumento": "aceptado",
            "fechaMensaje": "2022-11-04 16:48:29",
            "version": "1.0",
            "folioInterno": 1,
            "folioFiscalUUID": "cbcb3230-5c92-11ed-bedd-796c8ae14221",
            "serie": "APIGL",
            "noSerieCertificado": "30001000000400002447",
            "noSerieCertificadoSAT": "12345678901234567890",
            "selloCFDi": "...",
            "selloSAT": "...",
            "cadenaTFD": "...",
            "fechaGeneracionCFDi": "2022-11-04 09:00:00",
            "fechaTFD": "2022-11-04T16:48:27",
            "estadoCFDi": "vigente",
            "archivoQR": "...",
            "descargaArchivoQR": "https://descarga.enlacefiscal.com/v6/qr/?i=SUlBMDQwODA1RFo0LS1JSUEwNDA4MDVEWjQtMjAyMjExMDQtQVBJR0wxLnBuZy0tMTQtLTE=&b=1",
            "descargaArchivoPDF": "https://descarga.enlacefiscal.com/v6/pdf/?i=V1RKS2FsbHFUWGxOZWtGMFRsZE5OVTFwTUhoTlYxWnJURmRLYkZwSFVYUk9lbXN5V1hwb2FGcFVSVEJOYWtsNExTMU5WRkU5TFMxTlVUMDlMUzFUVld4Q1RVUlJkMDlFUVRGU1JtOHdURlJKZDAxcVNYaE5WRUV3VEZWR1VWTlZaRTFOVXpWM1drZFpQUzB0VGtNMGR3PT0=&b=1",
            "xmlCFDi": "...",
            "descargaXmlCFDi": "https://descarga.enlacefiscal.com/v6/cfdi/?i=SUlBMDQwODA1RFo0LS1JSUEwNDA4MDVEWjQtMjAyMjExMDQtQVBJR0wxLnhtbC0tMTQtLTEtLTQuMA==&b=1"
        }
    }
    

    Cambios de REP 1.0 a 2.0

    A continuación encontrarás la nueva documentación de cambios de REP 1.0 a 2.0

    Información General CFDi 4.0 - REP 2.0

    Esta sección es un nuevo nodo requerido dentro del json REP 2.0

    versionCFDi El valor de este campo se cambia de 3.3 a 4.0.

    Ir a documentación de version CFDi


    versionEF El valor de este campo se cambia de 6.0 a 6.5.

    Ir a documentación de version EF


    A Cuenta Terceros REP 2.0

    Esta sección es un nuevo nodo opcional dentro del json REP 2.0

    rfc Nuevo atributo para la versión 4.0 y debe contener un RFC valido dentro del LCO.

    Ir a documentación de rfc


    nombre Nuevo atributo para la versión 4.0, este atributo deber ser diferente al valor registrado en los campos RFC de los nodos Emisor y Receptor.

    Ir a documentación de nombre


    regimenFiscal Nuevo atributo para la versión 4.0 y debe contener un valor del catálogo c_RegimenFiscal del SAT.

    Ir a documentación de regimen fiscal


    cp Nuevo atributo para la versión 4.0 y debe pertenecer al nombre asociado al RFC registrado en el atributo rfc de este nodo.

    Ir a documentación de cp

    Totales REP 2.0

    Esta sección es un nuevo nodo requerido dentro del json REP 2.0

    retencionesIVA Nuevo atributo para la versión 2.0.

    Ir a documentación de Retenciones IVA


    retencionesISR Nuevo atributo para la versión 2.0.

    Ir a la documentación de Retenciones ISR


    retencionesIEPS Nuevo atributo para la versión 2.0.

    Ir a la documentación de Retenciones IEPS


    trasladosBaseIVA16 Nuevo atributo para la versión 2.0.

    Ir a la documentación de Traslados Base IVA 8


    trasladosImpuestoIVA16 Nuevo atributo para la versión 2.0.

    Ir a la documentación de Traslados Impuesto IVA 16


    trasladosBaseIVA8 Nuevo atributo para la versión 2.0.

    Ir a la documentación de Traslados Base IVA 8


    trasladosImpuestoIVA8 Nuevo atributo para la versión 2.0.

    Ir a la documentación de Traslados Impuesto IVA 8


    trasladosBaseIVA0 Nuevo atributo para la versión 2.0.

    Ir a la documentación de Traslados Base IVA 0


    trasladosImpuestoIVA0 Nuevo atributo para la versión 2.0.

    Ir a la documentación de Traslados Impuesto IVA 0


    trasladosBaseIVAExento Nuevo atributo para la versión 2.0.

    Ir a la documentación de Traslados Base IVA Exento


    montoTotalPagos Nuevo atributo para la versión 2.0.

    Ir a la documentación de Monto Total Pagos


    Pago REP 2.0

    tipoMoneda Si el atributo tipoMoneda es MXN, se debe registrar el valor "1" en el atributo tipoCambio.

    Ir a la documentación de Tipo Moneda


    Pago / Impuestos

    Esta sección es un nodo condicional para registrar el resumen de los impuestos aplicables conforme al monto del pago recibido, dentro del json REP 2.0

    Ir a documentación de Impuestos

    totalImpuestosRetenidos El valor de este campo deja de existir para la versión 2.0. Pasa a ser parte del nuevo nodo de Totales.


    totalImpuestosTrasladados El valor de este campo deja de existir para la versión 2.0. Pasa a ser parte del nuevo nodo de Totales.


    Documento Relacionado REP 2.0

    Esta sección es un nodo condicional que pasa a ser requerido dentro del json REP 2.0

    tipoCambio El valor de este campo deja de existir para la versión 2.0.


    metodoDePago El valor de este campo deja de existir para la versión 2.0.


    equivalencia El valor de este campo sustituye a TipoCambioDR para la versión 2.0.

    Ir a documentación de Equivalencia


    numParcialidad El valor de este campo pasa de ser condicional a ser requerido para la versión 2.0.

    Ir a documentación de Número de Parcialidad


    saldoAnterior El valor de este campo pasa de ser condicional a ser requerido para la versión 2.0.

    Ir a documentación de Saldo Anterior


    importePagado El valor de este campo pasa de ser condicional a ser requerido para la versión 2.0.

    Ir a documentación de Importe Pagado


    impoSaldoInsoluto El valor de este campo pasa de ser condicional a ser requerido para la versión 2.0.

    Ir a documentación de Impuesto Saldo Insoluto


    objetoDeImpuesto Nuevo atributo para la versión 2.0.

    Ir a documentación de Objeto de Impuesto


    Documento Relacionado / Impuestos

    Esta sección es un nodo condicional para registrar los impuestos aplicables conforme al monto del pago recibido, dentro del json REP 2.0

    Ir a documentación de Impuestos


    tipo Es el tipo de impuesto local que se desea utilizar.

    Ir a documentación de Tipo


    claveImpuesto Es la clave de impuesto del comprobante conforme al catálogo c_Impuesto del SAT.

    Ir a documentación de Clave Impuesto


    tipoFactor Es el tipo de factor que se aplica a la base del impuesto del comprobante.

    Ir a documentación de Tipo Factor


    tasaOCuota Es el valor de la tasa o cuota que aplica para la partida. Éste campo es requerido cuando el campo tipoFactor sea tasa o cuota.

    Ir a documentación de Tasa o Cuota


    importe Es el importe del impuesto que aplica a la partida.

    Ir a documentación de Importe


    baseImpuesto Se debe registrar el valor para el cálculo del impuesto/retencion conforme al monto del pago, aplicable al documento relacionado, la determinación de la base se realiza de acuerdo con las disposiciones fiscales vigentes. No se permiten valores negativos.

    Ir a documentación de Base Impuesto

    Recibo Electrónico de Pago 2.0

    El Recibo Electrónico de Pago o Comprobante con Complemento para Recepción de Pagos es un documento que sirve para especificar el detalle de un pago recibido, se debe emitir cuando se presente alguno de los siguientes escenarios:

    Según las reglas que especifica el SAT, el Recibo Electrónico de Pago se deberá emitir a más tardar el décimo día natural del mes siguiente al que corresponda el pago recibido.

    Se emitirá un Recibo Electrónico de Pago por pago recibido. Por ejemplo: Si recibes un pago por $10,000.00 pesos, se emite un Recibo Electrónico de Pago por el monto total ($10,000) y se especifica el o los comprobantes CFDi a los que se aplicará el pago en la sección de documentos relacionados, puede ser uno o varios.

    API Endpoint 2.0
    POST https://api.enlacefiscal.com/v6/generarReciboElectronicoPago

    Encabezado del Comprobante 2.0

    Generar Recibo Electrónico de Pago - Request:

    {
        "CFDi": {
            "versionCFDi": "4.0",
            "modo": "debug",
            "versionEF": "6.5",
            "serie": "RE",
            "folioInterno": "11",
            "fechaEmision": "2022-01-31 00:00:01",
            "nombreDisenio": "Diseño predeterminado",
            "rfc": "AAA010101AAA",
            ...
    

    CFDi

    versionCFDi Versión del CFDi a timbrar en el SAT

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Requerido 4.0  4.0


    modo Es la modalidad del API en la que se va a generar el comprobante fiscal digital, siendo las opciones posibles: debug o produccion.

    Tipo de Dato Ocurrencia Valores Posibles Valor Predeterminado Ejemplo
    enum Opcional produccion
    debug
    produccion debug


    versionEF Versión del API de Enlace Fiscal

    Tipo de Dato Ocurrencia Valor Requerido Ejemplo
    enum Requerido 6.5 6.5


    serie Es la serie de folios que se asignará al comprobante fiscal digital para poder identificarlo de una manera sencilla. Se utiliza para control interno.

    Tipo de Dato Ocurrencia Ejemplo
    string Requerido RE


    folioInterno Se utiliza para identificar el comprobante fiscal digital generado, es para control interno.

    El folio interno junto con la serie asignada se utilizan como método de control para evitar timbrar un mismo comprobante más de una vez. Si por error se llega a enviar la petición de timbrado de un mismo folio y serie en varias ocasiones, nuestro API no la timbra otra vez, simplemente se envía la información del timbrado original.

    Tipo de Dato Ocurrencia Ejemplo
    string Requerido 1


    fechaEmision Fecha de emisión del comprobante fiscal digital, debe corresponder con la hora local donde se expide el comprobante. El tiempo máximo que se tiene entre la fecha de emisión y la petición de timbrado es de 72 horas por disposición oficial.

    Tipo de Dato Ocurrencia Formato Ejemplo
    datetime Requerido Y-m-d H:i:s 2022-01-31 11:22:01


    nombreDisenio Nombre del diseño que se utilizará para generar el PDF del comprobante fiscal.

    Tipo de Dato Ocurrencia  Valor Predeterminado Ejemplo
    string Opcional El diseño predeterminado de la cuenta Diseño Compacto


    rfc Registro Federal de Contribuyentes correspondiente al emisor del comprobante fiscal digital. No debe contener guiones ni espacios.

    El RFC que se utilice deberá estar en la lista de RFC inscritos no cancelados en el SAT (l_rfc).

    Tipo de Dato Ocurrencia Longitud Ejemplo
    string Requerido 12 caracteres - Persona Moral
    13 caracteres - Persona Física
    AAA010101AAA

    Comprobantes Relacionados Recibo Electrónico Pago 2.0

    En el caso de que se haya tenido que cancelar un Recibo Electrónico Pago por un error en la información, en ésta sección se incluirá la información del comprobante fiscal que se está sustituyendo.

    Comprobantes Relacionados Recibo Electrónico Pago [condicional]:

    {
        "CFDi": {
            ...,
            "ComprobantesRelacionados": [{
                "tipoRelacion": "sustitucion",
                "Comprobantes": [
                        "eeca15af-e9b1-4a45-9861-8d51c4fa8219"
                    ]
            }]
            ...,
    
    


    tipoRelacion Tipo de relación que existe entre el comprobante que se está generando y los generados previamente.

    Tipo de Dato Ocurrencia Opciones Ejemplo
    enum Requerido Se encuentran en el catálogo de tipo de relación del SAT se puede utilizar Clave o Clave Texto sustitucion


    Comprobantes Es un arreglo con la información de los comprobantes relacionados.

    Tipo Ocurrencia Opciones Ejemplo
    string  Requerido  UUID o Serie-Folio eeca15af-e9b1-4a45-9861-8d51c4fa8219
    FA-230

    A Cuenta Terceros Recibo Electrónico Pago 2.0

    Esta sección es opcional y se puede expresar información del contribuyente Tercero, a cuenta del que se realiza la operación. Conforme a la regla 2.7.1.3 de la Resolución Miscelánea Fiscal vigente.

    A Cuenta Terceros Recibo Electrónico Pago [opcional]:

    {
      "CFDi": {
            ...,
            "ACuentaTerceros": {
            "rfc": "FIMA420127R44",
            "nombre": "Marton Aleejandro Sanzi Fierror",
            "regimenFiscal": "601",
            "cp": "44580"
          },
         ...,
    

    rfc Campo requerido para registrar la Clave del Registro Federal de Contribuyentes del contribuyente Tercero, a cuenta del que se realiza la operación.

    Tipo de Dato Ocurrencia   Ejemplo
    string Requerido FIMA420127R44


    nombre Campo requerido para registrar el nombre, denominación o razón social del contribuyente Tercero correspondiente con el RFC, a cuenta del que se realiza la operación.

    Tipo de Dato Ocurrencia   Ejemplo
    string Requerido Marton Aleejandro Sanzi Fierror


    regimenFiscal Campo requerido para registrar la clave del régimen del contribuyente Tercero, a cuenta del que se realiza la operación, las distintas claves vigentes se encuentran incluidas en el catálogo c_RegimenFiscal del SAT.

    Tipo de Dato Ocurrencia Opciones  Ejemplo
    string Requerido Se encuentran en el catálogo de Régimen Fiscal, se utiliza la Clave  606


    cp Campo requerido para registrar el código postal del domicilio fiscal del Tercero, a cuenta del que se realiza la operación.

    Tipo de Dato Ocurrencia   Ejemplo
    string Requerido 01002


    Receptor Recibo Electrónico Pago 2.0

    Esta sección contiene los datos correspondientes al receptor del comprobante fiscal.

    Receptor [requerido]

    {
        "CFDi": {
            ...,
            "Receptor": {
                "rfc": "AAA010101AAA",
                "nombre": "EMPRESA DEMO",
                "residenciaFiscal": "USA",
                "numeroRegistroIdTributario": "121585958",
                "regimenFiscal": "601",
                "usoCfdi": "CP01",
                "IdentificadorCliente": {
                    "nombreCampo": "Número de Matrícula",
                    "valorCampo": "A12332"
                },
                "DomicilioFiscal": {
                    "calle": "Rayo",
                    "noExterior": "2835",
                    "noInterior": "1-A",
                    "colonia": "Jardines del norte",
                    "localidad": "Guadalajara",
                    "municipio": "Guadalajara",
                    "estado": "Jalisco",
                    "pais": "México",
                    "cp": "44580"
                }
            },
           ..., 
    
    


    rfc Registro Federal de Contribuyentes correspondiente al receptor del comprobante, debe ir sin guiones ni espacios.

    El RFC que se utilice deberá estar en la lista de RFC inscritos no cancelados en el SAT (l_rfc).

    Tipo de Dato Ocurrencia Longitud Ejemplo
    string Requerido 12 caracteres - Persona Moral
    13 caracteres - Persona Física
    BBB010101BB1


    nombre Es el nombre fiscal del receptor (cliente) del comprobante.

    Tipo de Dato Ocurrencia Longitud Ejemplo
    string Requerido Longitud Mínima: 1 Caracter
    Longitud Máxima: 255 Caracteres
    Empresa Demo, S.A. de C.V.


    residenciaFiscal Es el país de residencia fiscal del receptor (cliente) del comprobante, éste dato es requerido si se incluye una clave de RFC genérica extranjera.

    Tipo de Dato Ocurrencia Opciones Ejemplo
    enum Condicional Se encuentran en el catálogo de países del SAT USA


    numeroRegistroIdTributario Es el número de registro de identidad fiscal del receptor cuando sea residente en el extranjero. Es requerido cuando se incluya el campo de residenciaFiscal.

    Tipo de Dato Ocurrencia Longitud Ejemplo
    int Condicional Longitud Mínima: 1 Caracter
    Longitud Máxima: 40 Caracteres
    121585958


    usoCfdi Es la clave o descripción del uso que dará a este comprobante el receptor del CFDi. Para emisión de Recibo Electrónico de Pago el valor requerido será "CP01".

    Tipo de Dato Ocurrencia Valor Requerido  Ejemplo
    enum Requerido CP01 ó pagos  pagos


    Receptor / IdentificadorCliente [opcional]

    {
        "CFDi": {
        ...
    
            ...
            "Receptor": {
                ...
    
                "IdentificadorCliente": {
                    "nombreCampo": "Número de Matrícula",
                    "valorCampo": "A12332"
                },
    
                ...
    
            },
           ...
    
    

    IdentificadorCliente

    Es un arreglo opcional para agregar un identificador personalizado del receptor. La información del identificador únicamente aparece en la versión PDF del comprobante fiscal en la sección de datos del receptor.


    nombreCampo Elemento que especifica el nombre del identificador que se usará.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido  Número de Matrícula


    valorCampo Es el valor del identificador del receptor.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido  A12332


    Receptor / DomicilioFiscal [opcional]

    {
        "CFDi": {
        ...
    
            ...
            "Receptor": {
                ...
                "IdentificadorCliente": {
                    ...
                },
                "DomicilioFiscal": {
                    "calle": "Rayo",
                    "noExterior": "2835",
                    "noInterior": "1-A",
                    "colonia": "Jardines del norte",
                    "localidad": "Guadalajara",
                    "municipio": "Guadalajara",
                    "estado": "Jalisco",
                    "pais": "México",
                    "cp": "44580"
                }
            },
           ...
    
    
    

    DomicilioFiscal

    Bloque opcional para agregar la dirección del receptor del comprobante. Ésta información únicamente aparece en la versión PDF del comprobante fiscal.


    calle Elemento que indica el nombre de la vialidad del domicilio fiscal del receptor.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  Rayo


    noExterior Elemento que contiene el valor del número exterior del domicilio fiscal del receptor.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  2835


    noInterior Elemento que contiene el valor del número interior del domicilio fiscal del receptor.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  1-A


    colonia Elemento que contiene el nombre de la colonia o asentamiento del domicilio fiscal del receptor.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  Jardines del norte


    localidad Elemento que contiene el nombre de la localidad (poblado o ciudad) del domicilio fiscal del receptor.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  Guadalajara


    municipio Elemento que contiene el nombre del municipio o delegación (en el caso de la Ciudad de México) del domicilio fiscal del receptor.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  Guadalajara


    estado Elemento que indica el estado (o equivalente en caso de extranjeros) del domicilio fiscal del receptor.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  Jalisco


    pais Elemento que indica el país del domicilio fiscal del receptor.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  México


    cp Elemento que indica el código postal (o equivalente en caso de extranjeros) del domicilio fiscal del receptor.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido  44580

    Complemento para Recepción de Pagos 2.0

    En ésta sección se indica la información detallada del pago que se está recibiendo, la cual será incluida en el Complemento para Recepción de Pagos de su CFDi.

    ComplementoPago [requerido]

    {
        "CFDi": {
          ...,
            "ComplementoPago": [
              {
                  ...
              },
              ...
            ],
           ...,
    
    


    ComplementoPago

    Complemento para el Comprobante Fiscal Digital por Internet (CFDI) para expresar la información sobre la recepción de pagos.

    El emisor del CFDI con complemento para recepción de pagos debe ser quien recibe el pago, en el caso de pago en parcialidades o diferido, conforme a las disposiciones fiscales vigentes.

    Totales

    En ésta sección se indica la información detallada del pago que se está recibiendo, la cual será incluida en el Complemento para Recepción de Pagos de su CFDi.

    Complemento Pago [requerido]

    {
        "CFDi": {
            ...,
            "ComplementoPago": [
            {
              "Totales": {
                  "retencionesIVA": "0.00",
                  "retencionesISR": "0.00",
                  "retencionesIEPS": "0.00",
                  "trasladosBaseIVA16": "0.00",
                  "trasladosImpuestoIVA16": "0.00",
                  "trasladosBaseIVA8": "0.00",
                  "trasladosImpuestoIVA8": "0.00",
                  "trasladosBaseIVA0": "0.00",
                  "trasladosImpuestoIVA0": "0.00",
                  "trasladosBaseIVAExento": "0.00",
                  "montoTotalPagos": "0.00"
              },
              ...,
    
    

    Totales

    Nodo requerido para especificar el monto total de los pagos y el total de los impuestos del complemento, deben ser expresados en MXN independiente de la moneda del pago y de los documentos relacionados, por lo que si el valor del atributo tipoMoneda del pago es diferente a MXN para obtener los montos de los totales de deberá multiplicar por el valor del atributo tipoCambio enviado en el pago.


    retencionesIVA Se puede registrar el total de los impuestos retenidos de IVA que se desprenden de los pagos. No se permiten valores negativos.

    Tipo de Dato Ocurrencia Ejemplo
    float Condicional 160.00


    retencionesISR Se puede registrar el total de los impuestos retenidos de ISR que se desprenden de los pagos. No se permiten valores negativos.

    Tipo de Dato Ocurrencia Ejemplo
    float Condicional 100.00


    retencionesIEPS Se puede registrar el total de los impuestos retenidos de IEPS que se desprenden de los pagos. No se permiten valores negativos.

    Tipo de Dato Ocurrencia Ejemplo
    float Condicional 160.00


    trasladosBaseIVA16 Se puede registrar el total de la base de IVA trasladado a la tasa del 16% que se desprende de los pagos. No se permiten valores negativos.

    Tipo de Dato Ocurrencia Ejemplo
    float Condicional 1000.00


    trasladosImpuestoIVA16 Se puede registrar el total de los impuestos de IVA trasladado a la tasa del 16% que se desprende de los pagos. No se permiten valores negativos.

    Tipo de Dato Ocurrencia Ejemplo
    float Condicional 160.00


    trasladosBaseIVA8 Se puede registrar el total de la base de IVA trasladado a la tasa del 8% que se desprende de los pagos. No se permiten valores negativos.

    Tipo de Dato Ocurrencia Ejemplo
    float Condicional 1000.00


    trasladosImpuestoIVA8 Se puede registrar el total de los impuestos de IVA trasladado a la tasa del 8% que se desprende de los pagos. No se permiten valores negativos.

    Tipo de Dato Ocurrencia Ejemplo
    float Condicional 80.00

    trasladosBaseIVA0 Se puede registrar el total de la base de IVA trasladado a la tasa del 0% que se desprende de los pagos. No se permiten valores negativos.

    Tipo de Dato Ocurrencia Ejemplo
    float Condicional 1000.00


    trasladosImpuestoIVA0 Se puede registrar el total de los impuestos de IVA trasladado a la tasa del 0% que se desprende de los pagos. No se permiten valores negativos.

    Tipo de Dato Ocurrencia Ejemplo
    float Condicional 0.00


    trasladosBaseIVAExento Se puede registrar el total de la base de IVA trasladado exento que se desprende de los pagos. No se permiten valores negativos.

    Tipo de Dato Ocurrencia Ejemplo
    float Condicional 1000.00

    montoTotalPagos Se debe registrar el total de los pagos que se desprenden de los nodos Pago. No se permiten valores negativos.

    Tipo de Dato Ocurrencia Ejemplo
    float Condicional 15000.00

    Pago

    En ésta sección se indica la información detallada del o los pagos que se está recibiendo, la cual será incluida en el Complemento para Recepción de Pagos de su CFDi.

    Complemento Pago [requerido]

    {
        "CFDi": {
            ...,
            "ComplementoPago": [{
                ...,
                "Pago": [{
                    "fechaPago": "2022-01-31 00:00:01",
                    "formaDePago": "03",
                    "tipoMoneda": "USD",
                    "tipoCambio": "18.50",
                    "monto": "1000.00",
                    "numeroOperacion": "0000051",
                    "rfcCtaOrden": "XEXX010101000",
                    "nombreBancoOrdExt": "city bank",
                    "ctaOrdenante": "123456789101112131",
                    "rfcEmisorCtaBen": "BMN930209927",
                    "ctaBeneficiario": "123456789101114558",
                    "tipoCadPago": "01",
                    "certPago": "...",
                    "cadenaPago": "...",
                    "selloPago": "...",
                    ...,
    
    

    Pago

    En éste bloque de información se detalla la información del pago que se está recibiendo.

    fechaPago Elemento que permite especificar la fecha y hora en la que se recibe el pago. En caso de no contar con la hora se debe registrar 12:00:00.

    Por ejemplo, el 15 de Noviembre de 2017 se recibió un pago pero el Recibo Electrónico de Pago se emite hasta el 10 de Diciembre de 2017. El campo de fechaEmision deberá tener la fecha en la que se emite el comprobante y el campo de fechaPago tendrá la fecha en al que efectivamente se realizó el pago:

    fechaEmision: 2017-12-10 11:21:03
    fechaPago: 2017-11-15 12:00:00


    Tipo de Dato Ocurrencia Formato  Ejemplo
    datetime Requerido Y-m-d H:i:s  2022-01-31 00:00:01


    formaDePago Dato para expresar la Clave o Clave Texto que corresponda a la forma de pago utilizada para el pago de los bienes o servicios.

    Tipo de Dato Ocurrencia Opciones Ejemplo
    enum Requerido Las opciones se muestran en el catálogo de forma de pago del SAT 03


    tipoMoneda Es la clave de la moneda utilizada conforme al catálogo publicado por el SAT.

    Tipo de Dato Ocurrencia Opciones Valor Predeterminado Ejemplo
    enum Opcional Se muestran en el catálogo de monedas MXN MXN


    tipoCambio Tipo de cambio conforme a la moneda utilizada a la fecha en la que se recibió el pago. Es requerido cuando la moneda es distinta a Peso Mexicano (MXN).

    Tipo de Dato Ocurrencia Ejemplo
    float Condicional 21.23


    monto Es el importe del pago que se está recibiendo. El valor debe ser mayor a cero y mayor o igual a la suma de los importes pagados de los documentos relacionados.

    Tipo de Dato Ocurrencia Ejemplo
    float Requerido 1000.00


    numeroOperacion Es el número de cheque, número de autorización, número de referencia, clave de rastreo en caso de ser SPEI, línea de captura o algún número de referencia o identificación que permita identificar la operación correspondiente al pago efectuado.

    Tipo de Dato Ocurrencia Longitud Ejemplo
    string Opcional Longitud mínima: 1 Caracter
    Longitud máxima: 100 Caracteres
    0000051


    rfcCtaOrden Es un dato opcional para registrar la clave del RFC de la entidad emisora de la cuenta origen, es decir la operadora, banco, institución financiera, emisor de monedero electrónico, entre otros. En caso de ser residente en el extranjero, se debe registrar la clave genérica XEXX010101000.

    Por ejemplo, si la cuenta desde la que se realizó el pago está en el banco: BBVA Bancomer S.A., el RFC a indicar en éste campo sería: BBA830831LJ2

    El RFC que se utilice deberá estar en la lista de RFC inscritos no cancelados en el SAT (l_rfc).

    Nota: La clave genérica XEXX010101000 no se encuentra en la lista (l_rfc) del SAT ya que es una clave especial y no pertenece a un contribuyente real.

    Tipo de Dato Ocurrencia Longitud Ejemplo
    string Opcional 12 caracteres - Persona Moral
    13 caracteres - Persona Física
    XEXX010101000


    nombreBancoOrdExt Campo condicional para indicar el nombre del banco ordenante. Solo es requerido en el caso que el banco emisor sea extranjero y se indique el RFC XEXX010101000 en el campo de rfcCtaOrden.

    Tipo de Dato Ocurrencia Longitud Ejemplo
    string Condicional Longitud mínima: 1 Caracter
    Longitud máxima: 300 Caracteres
    city bank


    ctaOrdenante Campo opcional para indicar el número de cuenta con la que se realizó el pago.

    Tipo de Dato Ocurrencia Longitud Ejemplo
    string Opcional Longitud mínima: 10 Caracteres
    Longitud máxima: 50 Caracteres
    123456789101112131


    rfcEmisorCtaBen Es un dato opcional para registrar la clave del RFC de la entidad operadora de la cuenta destino, es decir la operadora, banco, institución financiera, emisor de monedero electrónico, entre otros.

    Por ejemplo, si la cuenta donde se recibirá el pago está en el banco: Banco Mercantil del Norte, S.A. (Banorte), el RFC a indicar en éste campo sería: BMN930209927.

    El RFC que se utilice deberá estar en la lista de RFC inscritos no cancelados en el SAT (l_rfc).

    Tipo de Dato Ocurrencia Longitud Ejemplo
    string Opcional 12 caracteres - Persona Moral
    13 caracteres - Persona Física
    BMN930209927


    ctaBeneficiario Campo opcional para indicar el número de cuenta donde se recibió el pago.

    Tipo de Dato Ocurrencia Longitud Ejemplo
    string Opcional Longitud mínima: 10 Caracteres
    Longitud máxima: 50 Caracteres
    123456789101114558


    tipoCadPago Campo opcional para indicar el tipo de cadena de pago que genera la entidad receptora del pago.

    Tipo de Dato Ocurrencia Opciones Ejemplo
    enum Opcional Las opciones se muestran en el catálogo de tipo cadena de pago del SAT 01


    certPago Campo condicional para indicar el certificado que corresponde al pago, se debe incluir como una cadena de texto en formato base 64.

    Tipo de Dato Ocurrencia Ejemplo
    string Condicional mEQNUQ7x1RB2nZdNZp3npijE3gEB1Y3JDiKjINMMjPa/RE+MvUqBDyhaFae2v3


    cadenaPago Campo condicional para indicar la cadena original del comprobante de pago generado por la entidad emisora de la cuenta beneficiaria.

    Tipo de Dato Ocurrencia Ejemplo
    string Condicional ||Pago|Banco|300.00||


    selloPago Campo condicional para indicar el sello digital que se asocie con el pago. La entidad financiera receptora del pago genera ésta información y se debe indicar en la petición como cadena de texto en formato base 64.

    Tipo de Dato Ocurrencia Ejemplo
    string Condicional ZQF8p0EnIkoa+Ty4llSRHgj1OLayIYi7y+VSwLOkcJwHxHbxUYp4Su

    Documentos Relacionados 2.0

    En ésta sección se indican los documentos relacionados con los pagos de la operación inicial.

    Por ejemplo, si recibo un pago por $10,000 pesos para saldar la deuda de las facturas FA-45 por $7,000 pesos y FA-70 por $3,000 pesos. En ésta sección se indicará el detalle de los comprobantes FA-45 y FA-70 y los saldos involucrados.

    Documentos Relacionados [requerido]

    {
        "CFDi": {
            ...,
            "ComplementoPago": [{
                "Pago": [{
                    ...,
                    "DocumentosRelacionados": [{
                        "idDocumento": "431044D8-6CA5-FACE-EB18-4558ad859874",
                        "serie": "FA",
                        "folioInterno": "41",
                        "tipoMoneda": "USD",
                        "equivalencia": "18.50",
                        "metodoDePago": "PPD",
                        "numParcialidad": "2",
                        "saldoAnterior": "900.00",
                        "importePagado": "100.00",
                        "impoSaldoInsoluto": "800.00",
                        "objetoDeImpuesto": "sin_desgloce",
                        ...,
    
    


    Pago / DocumentosRelacionados

    Es el nodo que agrupa los documentos relacionados del comprobante que se está emitiendo. Se debe de indicar un registro por comprobante fiscal relacionado y se debe de indicar al menos un comprobante.


    idDocumento Es el folio fiscal del comprobante que se está relacionando.

    Tipo de Dato Ocurrencia Longitud Ejemplo
    string Requerido Longitud mínima: 16 Caracteres
    Longitud máxima: 36 Caracteres
    431044D8-6CA5-FACE-ER18-4558kl859874


    serie Es la serie de folios que se asignó al comprobante que se está relacionando.

    Tipo de Dato Ocurrencia Longitud Ejemplo
    string Opcional Longitud mínima: 1 Caracter
    Longitud máxima: 25 Caracteres
    FA


    folioInterno Es el folio interno que se asignó al comprobante que se está relacionando.

    Tipo de Dato Ocurrencia Longitud Ejemplo
    string Opcional Longitud mínima: 1 Caracter
    Longitud máxima: 40 Caracteres
    41


    tipoMoneda Es la clave de la moneda utilizada en el comprobante que se está relacionando conforme al catálogo publicado por el SAT.

    Tipo de Dato Ocurrencia Opciones Valor Predeterminado Ejemplo
    enum Opcional Se muestran en el catálogo de monedas MXN MXN


    equivalencia Es el tipo de cambio correspondiente a la moneda registrada en el documento relacionado. Es requerido cuando la moneda del documento relacionado es distinta a la moneda del Recibo Electrónico de Pago.

    Se debe registrar el número de unidades de la moneda señalada en el documento relacionado que equivalen a una unidad de la moneda del pago.

    Por ejemplo, en el documento relacionado en el campo tipoMoneda se registra en USD (Dolar americano) y en el campo monto el pago se realiza por 100 EUR (Euros), por lo tanto en este campo se debe registrar 1.114700 USD/EUR y en el campo importePagado se debe registrar 111.47 USD, dato que se obtiene de la siguiente manera:

    100 EUR * 1.114700 USD/EUR = 111.47 USD. DocumentosRelacionados/equivalencia= 1.114700

    Tipo de Dato Ocurrencia Ejemplo
    float Condicional 21.23


    numParcialidad Es el número de parcialidad que corresponde al pago.

    Tipo de Dato Ocurrencia Valor Predeterminado Ejemplo
    int Opcional (Si no se envía se asume que es la parcialidad 1) 1 1


    saldoAnterior Es el monto del saldo insoluto de la parcialidad anterior. En otras palabras, es el saldo que se debía justo antes de realizar el pago que refleja el comprobante que se está emitiendo. En el caso de que sea la primera parcialidad, éste campo debe contener el importe total del documento relacionado.

    En el caso de que se reciba el pago diferido, se debe registrar el monto total de la operación del documento relacionado.

    Ejemplo 1: Se realizó una compra de una televisión por $20,000.00 pesos y se pagará en 5 parcialidades. Si se emite el comprobante de la primera parcialidad el monto de éste campo debe de ser $20,000.00.

    Ejemplo 2: Se compra un refrigerador por $15,000.00 y se pagará en 3 mensualidades de $5,000.00 pesos. El Recibo Electrónico de Pago que se emita por la segunda parcialidad deberá tener un saldoAnterior de $10,000.00.

    Tipo de Dato Ocurrencia Ejemplo
    float Requerido 900.00


    importePagado Es el importe pagado que corresponde al documento relacionado.

    Ejemplo: Se realiza un pago de $10,000.00 que se abonará a las facturas FA-5 y FA-9. A la factura FA-5 se le abonan $7,000.00 pesos y a la factura FA-9 se le abonan $3,000.00 pesos.

    El valor del campo importePagado del documento relacionado de la factura FA-5 será de $7,000.00 y el campo importePagado del documento relacionado de la factura FA-9 será de $3,000.00

    Tipo de Dato Ocurrencia Ejemplo
    float Condicional 100.00


    impoSaldoInsoluto Es la diferencia entre el importe del saldo anterior y el monto pagado.

    Tipo de Dato Ocurrencia Ejemplo
    float Requerido 100.00


    objetoDeImpuesto Se sebe registrar la clave correspondiente para indicar si el pago del documento relacionado es objeto o no de impuesto, las distintas claves vigentes se encuentran incluidas en el catálogo c_ObjetoImp del SAT

    Tipo de Dato Ocurrencia Ejemplo
    enum Requerido Se muestra en el cátalogo Objeto de Impuestos del SAT. Se utiliza la Clave o Clave Texto

    Impuestos Documento Relacionado

    En este nodo condicional se pueden expresar los impuestos aplicables proporcionalmente al monto del pago recibido, expresados a la moneda del documento relacionado.

    Si se registra información en este nodo, debe existir al menos una de las dos secciones siguientes: TrasladosDR o RetencionesDR.

    ImpuestosDR [condicional]

    {    
        "CFDi": {
            ...,
            "ComplementoPago": [{
                "Pago": [{
                    ...,
                    "DocumentosRelacionados": [{
                        ...,
                        "Impuestos": [
                            {
                                "tipo": "traslado",
                                "claveImpuesto": "IVA",
                                "tipoFactor": "tasa",
                                "tasaOCuota": "0.16",
                                "importe": "232.00",
                                "baseImpuesto": "500.00"
                            },
                            {
                                "tipo": "retencion",
                                "claveImpuesto": "ISR",
                                "tipoFactor": "tasa",
                                "tasaOCuota": "0.10",
                                "importe": "95.00",
                                "baseImpuesto": "300.00"
                            }
                        ],
                      ...
    

    Pago / Documentos Relacionados / Impuestos

    En este nodo se pueden expresar los impuestos retenidos aplicables conforme al monto del pago recibido


    tipo Es el tipo de impuesto local que se desea utilizar.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Condicional retencion
    traslado
     traslado


    claveImpuesto Es la clave de impuesto del comprobante conforme al catálogo c_Impuesto del SAT.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Requerido Se muestra en el cátalogo de Impuestos del SAT. Se puede utilizar la Clave o Clave Texto  IVA


    tipoFactor Es el tipo de factor que se aplica a la base del impuesto del comprobante.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Requerido tasa
    cuota
    exento
     tasa


    tasaOCuota Es el valor de la tasa o cuota que aplica para la partida. Éste campo es requerido cuando el campo tipoFactor sea tasa o cuota.

    Tipo de Dato Ocurrencia Ejemplo
    float Condicional  0.16


    importe Es el importe del impuesto que aplica a la partida.

    Tipo de Dato Ocurrencia Ejemplo
    float Condicional  232.00


    baseImpuesto Se debe registrar el valor para el cálculo del impuesto/retencion conforme al monto del pago, aplicable al documento relacionado, la determinación de la base se realiza de acuerdo con las disposiciones fiscales vigentes. No se permiten valores negativos.

    Tipo de Dato Ocurrencia Ejemplo
    float Requerido  300.00


    Impuestos Pagos

    En este nodo se puede expresar el resumen de los impuestos aplicables conforme al monto del pago recibido, expresados a la moneda de pago.

    Si se registra información en este nodo, debe existir al menos una de las dos secciones siguientes: TrasladosP o RetencionesP.

    ImpuestosP [condicional]

    {    
        "CFDi": {
            ...,
            "ComplementoPago": [{
                "Pago": [{
                    ...,
                    "Impuestos": [
                        {
                            "tipo": "traslado",
                            "claveImpuesto": "IVA",
                            "tipoFactor": "tasa",
                            "tasaOCuota": "0.16",
                            "importe": "232.00",
                            "baseImpuesto": "500.00"
                        },
                        {
                            "tipo": "retencion",
                            "claveImpuesto": "ISR",
                            "importe": "95.00"
                        }
                    ],
                    ...
    

    Pago / Impuestos

    En este nodo se pueden expresar los impuestos retenidos aplicables conforme al monto del pago recibido


    tipo Es el tipo de impuesto local que se desea utilizar.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Requerido retencion
    traslado
     traslado


    claveImpuesto Es la clave de impuesto del comprobante conforme al catálogo c_Impuesto del SAT.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Requerido Se muestra en el cátalogo de Impuestos del SAT. Se puede utilizar la Clave o Clave Texto  IVA


    tipoFactor Es el tipo de factor que se aplica a la base del impuesto del comprobante.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Condicional tasa
    cuota
    exento
     tasa


    tasaOCuota Es el valor de la tasa o cuota que aplica para la partida. Éste campo es requerido cuando el campo tipoFactor sea tasa o cuota.

    Tipo de Dato Ocurrencia Ejemplo
    float Condicional  0.16


    importe Es el importe del impuesto que aplica a la partida.

    Tipo de Dato Ocurrencia Ejemplo
    float Condicional  232.00


    baseImpuesto Se debe registrar el valor para el cálculo del impuesto/retencion conforme al monto del pago, aplicable al documento relacionado, la determinación de la base se realiza de acuerdo con las disposiciones fiscales vigentes. No se permiten valores negativos.

    Tipo de Dato Ocurrencia Ejemplo
    float Condicional  300.00

    Bloques de Información Adicional Recibo Electrónico Pago 2.0

    Ésta sección opcional permite agregar a la versión PDF del comprobante bloques de información no fiscal. Dado que se trata de información no fiscal los campos pueden contener cualquier texto libre siempre y cuando no cause confusión ni contradiga la información fiscal que contiene el resto del comprobante.

    Bloques de Información Adicional [opcional]

    {
        "CFDi": {
            ...,
            "BloquesInfoAdicional": {
                "BloqueSuperior": {
                    "titulo": "Información",
                    "texto": "Condiciones: Contado Vencimiento: 31-01-2022"
                },
                "BloqueInferior": {
                    "titulo": "Observaciones",
                    "TextoRenglones": [
                        "Folio del contrato: C1008008. Factura que ampara el pago de la(s)",
                        "transaccion(es): Pago Transacción 7/48"
                    ]
                }
            },
            ...
    
    


    BloquesInfoAdicional / BloqueSuperior

    Nodo que contiene la información del bloque superior de información adicional (no fiscal) que aparecerá por encima de las partidas del comprobante en la versión PDF.


    BloquesInfoAdicional / BloqueInferior

    Nodo que contiene la información del bloque inferior de información adicional (no fiscal) que aparecerá por debajo de los totales del comprobante en la versión PDF.


    titulo Es el campo que contiene el título del bloque superior o inferior de información adicional.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido  Información


    texto Elemento que contiene el texto que se incluirá en el cuerpo del bloque de información ya sea superior o inferior. En caso de que sea un texto largo, este tendrá saltos de línea naturales al final de cada renglón.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  Condiciones: Contado Vencimiento: 31-01-2022


    TextoRenglones

    Arreglo que contiene los renglones individuales que aparecerán en el cuerpo del bloque de información adicional ya sea superior o inferior. Se recomienda utilizar éste en caso de que se requiera un control más exacto del texto y saltos de línea en el bloque de información. Es necesario dividir cada uno de los renglones con una coma.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  "Folio del contrato: C1008008. Factura que ampara el pago de la(s)",
    "transaccion(es): Pago Transacción 7/48"

    Enviar CFDi Recibo Electrónico Pago 2.0

    Esta sección opcional contiene la información necesaria para enviar los comprobantes por correo electrónico a los receptores (clientes). Los correos adoptan el diseño del comprobante (indicado en el nodo nombreDiseno) e incluyen el logotipo en caso de que el diseño cuente con uno.

    Enviar CFDi [opcional]

    {
        "CFDi": {
            ...,
            "EnviarCFDI": {
                "Correos": [
                    "facturas@ef.com",
                    "cuentasxpagar@ef.com"
                ],
                "mensajeCorreo": "Mensaje personalizado que se incluirá en el cuerpo del correo a enviar."
            }
            ...
    }
    

    Correos Arreglo para especificar la dirección o direcciones de correo electrónico a la cual se enviará la liga para descargar los archivos PDF y XML del comprobante.

    Tipo de Dato Ocurrencia  Ejemplo
    array Requerido  cuentasxpagar@ef.com


    mensajeCorreo Elemento para agregar un mensaje opcional que puede incluir el correo electrónico enviado para la descarga del comprobante.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  Mensaje personalizado que se incluirá en el cuerpo del correo a enviar


    tipo Elemento para indicar el tipo de receptor del correo.

    Tipo de Dato Ocurrencia Opciones Valor Predeterminado Ejemplo
    enum Opcional persona
    sistema
    persona persona

    Campos Personalizados Recibo Electrónico Pago 2.0

    Cuando se desea incluir información adicional (no fiscal) a un comprobante, se pueden utilizar los campos personalizados. Estos son campos de información más cortos en comparación con los Bloques de Información Adicional, se puede incluir información como: Número de Vendedor, Número de Pedido, Vía de Embarque, Ruta, etc.

    Campos Personalizados [opcional]

    {
        "CFDi": {
            ...,
            "Personalizados": [
                {
                    "nombreCampo": "Número de Pedido",
                    "valor": "345673"
                },
                {
                    "nombreCampo": "Vendedor",
                    "valor": "Juan Pérez"
                }
            ]
        }
    }
    
    
    

    nombreCampo Es el campo que contiene el título del campo corto, debe tener un máximo de 50 caracteres.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido  Número de Pedido


    valor Es el campo que contiene el dato del campo personalizado, debe tener un máximo de 100 caracteres.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido  Juan Pérez

    Ejemplo Básico Recibo Electrónico Pago 2.0

    Ejemplo con el mínimo de campos que puede tener una petición.

    Ejemplo Básico Timbrado Recibo Electrónico Pago - Request:

    {
       "CFDi":{
          "versionCFDi":"4.0",
          "modo":"debug",
          "versionEF":"6.5",
          "serie":"APIREP",
          "folioInterno":"5",
          "fechaEmision":"2022-04-12 00:00:01",
          "nombreDisenio":"Diseño predeterminado",
          "rfc":"AAA010101AAA",
          "ComprobantesRelacionados":[
             {
                "tipoRelacion":"sustitucion",
                "Comprobantes":[
                   "eeca15af-e9b1-4a45-9861-8d51c4fa8219"
                ]
             }
          ],
          "Receptor":{
             "rfc":"XEXX010101000",
             "nombre":"EMPRESA DEMO",
             "regimenFiscal":"616",
             "usoCfdi":"pagos",
             "DomicilioFiscal":{
                "cp":"44580"
             }
          },
          "ComplementoPago":[
             {
                "Totales":{
                   "trasladosBaseIVA16":"100.00",
                   "trasladosImpuestoIVA16":"16.00",
                   "montoTotalPagos":"116.00"
                },
                "Pago":[
                   {
                      "fechaPago":"2022-04-11 00:00:01",
                      "formaDePago":"03",
                      "tipoMoneda":"MXN",
                      "tipoCambio":"1",
                      "monto":"116.00",
                      "numeroOperacion":"0000051",
                      "rfcCtaOrden":"BBA830831LJ2",
                      "ctaOrdenante":"123456789101112131",
                      "rfcEmisorCtaBen":"BMN930209927",
                      "ctaBeneficiario":"123456789101114558",
                      "DocumentosRelacionados":[
                         {
                            "idDocumento":"431044D8-6CA5-FACE-EB18-4558ad859874",
                            "serie":"FA",
                            "folioInterno":"41",
                            "tipoMoneda":"MXN",
                            "equivalencia":"1",
                            "numParcialidad":"1",
                            "saldoAnterior":"1000.00",
                            "importePagado":"116.00",
                            "impoSaldoInsoluto":"884.00",
                            "objetoDeImpuesto":"02",
                            "Impuestos":[
                               {
                                  "tipo":"traslado",
                                  "claveImpuesto":"IVA",
                                  "tipoFactor":"tasa",
                                  "tasaOCuota":"0.16",
                                  "importe":"16.00",
                                  "baseImpuesto":"100.00"
                               }
                            ]
                         }
                      ],
                      "Impuestos":[
                         {
                            "tipo":"traslado",
                            "claveImpuesto":"IVA",
                            "tipoFactor":"tasa",
                            "tasaOCuota":"0.16",
                            "importe":"16.00",
                            "baseImpuesto":"100.00"
                         }
                      ]
                   }
                ]
             }
          ]
       }
    }
    

    Ejemplo Básico Timbrado Recibo Electrónico Pago - Response:

    {
        "AckEnlaceFiscal": {
            "numeroReferencia": 547,
            "estatusDocumento": "aceptado",
            "fechaMensaje": "2022-01-31 00:00:02",
            "version": "1.0",
            "folioInterno": "17",
            "folioFiscalUUID": "eb84bd56-a5a0-4c06-a907-44ec8af87ea3",
            "serie": "APIREP",
            "noSerieCertificado": "20001000000200001428",
            "noSerieCertificadoSAT": "20001000000200001428",
            "selloCFDi": "nPv+OUsiA+lCWu/dIAjD0Me8JW1b1toTWC...5BYOEYg9DUGRduabgOcDhl2cshA6kyLVpPGZKLA=",
            "selloSAT": "NN94K5/X+Q19Y0+FsPEs+5v...LSqh99zM=",
            "cadenaTFD": "||1.1|eb84bd56-a5a0-4c06-a907-44ec8af87ea3|2022-01-31T22:13:07|nPv+OUsiA+lCWu/dIAjD0Me8JW1b1toTWCU0irOXf7hjK80BFyT3lV83eS21Cjn4U7cUQgVF6enI1iJDS2pgd0pLzNd0PqqW/A3v2EuADIJAEoslhgwgiQ3h4tv2bd0lA9OQ5BYOEYg9DUGRduabgOcDhl2cshA6kyLVpPGZKLA=|20001000000200001428||",
            "fechaGeneracionCFDi": "2022-01-31 00:00:02",
            "fechaTFD": "2022-01-31T00:00:02",
            "estadoCFDi": "vigente",
            "archivoQR": "iVBORw0KGgoAAAANSUhEUgAAAasAAAGrAQMAAABE3youAAAABlBMVEUAAAD///+l2Z/dAAA...WDWGAKYumT4kkKXUT/OcKmqsFPuOXNBSFasCoaB01ZH2KW9qrA7jokrBT5pWtfSjVOP/dKb5RrSS5+cgjZVgfwB9dqtB7kI1hwAAAABJRU5ErkJggg==",
            "descargaArchivoQR": "https://descarga.enlacefiscal.com/v6/qr/?i=QUFBMDEwMTAxQUFBLS1BQUEwMTAxMDFBQUEtMjAxNzEwMzEtUkUxNy5wbmctLTIwMTYtLTQ3&b=1",
            "descargaArchivoPDF": "https://descarga.enlacefiscal.com/v6/pdf/?i=V2xkSk5FNUhTbXRPVkZsMFdWUldhRTFETURCWmVrRXlURmRGTlUxRVkzUk9SRkpzV1hwb2FGcHFaek5hVjBWNkxTMU5ha0Y0VG1jOVBTMHRUa1JqUFMwdFVWVkdRazFFUlhkTlZFRjRVVlZHUWt4VVNYZE5WR040VFVSTmVFeFdTa1pOVkdOMVkwZFNiUT09&b=1",
            "xmlCFDi": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbm...4K",
            "descargaXmlCFDi": "https://descarga.enlacefiscal.com/v6/cfdi/?i=QUFBMDEwMTAxQUFBLS1BQUEwMTAxMDFBQUEtMjAxNzEwMzEtUkUxNy54bWwtLTIwMTYtLTQ3&b=1"
        }
    }
    

    Ejemplo Completo Recibo Electrónico Pago 2.0

    Ejemplo con la mayoría de campos que puede tener una petición.

    Ejemplo Completo Timbrado Recibo Electrónico Pago - Request:

    {
       "CFDi":{
          "versionCFDi":"4.0",
          "modo":"debug",
          "versionEF":"6.5",
          "serie":"APIREP",
          "folioInterno":"6",
          "fechaEmision":"2022-04-12 00:00:01",
          "nombreDisenio":"Diseño predeterminado",
          "rfc":"AAA010101AAA",
          "ComprobantesRelacionados":[
             {
                "tipoRelacion":"sustitucion",
                "Comprobantes":[
                   "eeca15af-e9b1-4a45-9861-8d51c4fa8219"
                ]
             }
          ],
          "Receptor":{
             "rfc":"XEXX010101000",
             "nombre":"EMPRESA DEMO",
             "regimenFiscal":"616",
             "usoCfdi":"pagos",
             "DomicilioFiscal":{
                "cp":"44580"
             }
          },
          "ComplementoPago":[
             {
                "Totales":{
                   "retencionesISR":"10.00",
                   "trasladosBaseIVA16":"100.00",
                   "trasladosImpuestoIVA16":"16.00",
                   "montoTotalPagos":"106.00"
                },
                "Pago":[
                   {
                      "fechaPago":"2022-01-31 00:00:01",
                      "formaDePago":"03",
                      "tipoMoneda":"MXN",
                      "tipoCambio":"1",
                      "monto":"106.00",
                      "numeroOperacion":"0000051",
                      "rfcCtaOrden":"XEXX010101000",
                      "nombreBancoOrdExt":"city bank",
                      "ctaOrdenante":"123456789101112131",
                      "rfcEmisorCtaBen":"BMN930209927",
                      "ctaBeneficiario":"123456789101114558",
                      "DocumentosRelacionados":[
                         {
                            "idDocumento":"431044D8-6CA5-FACE-EB18-4558ad859874",
                            "serie":"FA",
                            "folioInterno":"41",
                            "tipoMoneda":"MXN",
                            "equivalencia":"1",
                            "numParcialidad":"2",
                            "saldoAnterior":"900.00",
                            "importePagado":"106.00",
                            "impoSaldoInsoluto":"794.00",
                            "objetoDeImpuesto":"02",
                            "Impuestos":[
                               {
                                  "tipo":"traslado",
                                  "claveImpuesto":"IVA",
                                  "tipoFactor":"tasa",
                                  "tasaOCuota":"0.16",
                                  "importe":"16.00",
                                  "baseImpuesto":"100.00"
                               },
                               {
                                  "tipo":"retencion",
                                  "claveImpuesto":"ISR",
                                  "tipoFactor":"tasa",
                                  "tasaOCuota":"0.10",
                                  "importe":"10.00",
                                  "baseImpuesto":"100.00"
                               }
                            ]
                         }
                      ],
                      "Impuestos":[
                         {
                            "tipo":"traslado",
                            "claveImpuesto":"IVA",
                            "tipoFactor":"tasa",
                            "tasaOCuota":"0.16",
                            "importe":"16.00",
                            "baseImpuesto":"100.00"
                         },
                         {
                            "tipo":"retencion",
                            "claveImpuesto":"ISR",
                            "tipoFactor":"tasa",
                            "tasaOCuota":"0.10",
                            "importe":"10.00",
                            "baseImpuesto":"100.00"
                         }
                      ]
                   }
                ]
             }
          ],
          "BloquesInfoAdicional":{
             "BloqueSuperior":{
                "titulo":"Información",
                "texto":"Condiciones: Contado Vencimiento: 31-01-2022"
             },
             "BloqueInferior":{
                "titulo":"Observaciones",
                "TextoRenglones":[
                   "Folio del contrato: C1008008. Factura que ampara el pago de la(s)",
                   "transaccion(es): Pago Transacción 7/48"
                ]
             }
          },
          "EnviarCFDI":{
             "Correos":[
                "facturas@ef.com",
                "cuentasxpagar@ef.com"
             ],
             "mensajeCorreo":"Mensaje personalizado que se incluirá en el cuerpo del correo a enviar."
          },
          "Personalizados":[
             {
                "nombreCampo":"Número de Pedido",
                "valor":"345673"
             },
             {
                "nombreCampo":"Vendedor",
                "valor":"Juan Pérez"
             }
          ]
       }
    }
    

    Ejemplo Completo Timbrado Recibo Electrónico Pago - Response:

    {
      "AckEnlaceFiscal": {
        "numeroReferencia": "123",
        "estatusDocumento": "aceptado",
        "fechaMensaje": "2022-01-31 00:00:02",
        "version": "1.0",
        "folioInterno": "1",
        "folioFiscalUUID": "4E80053F-74B9-4004-B7B6-09B30781B4F6",
        "serie": "APIREP",
        "noSerieCertificado": "20001000000200001111",
        "noSerieCertificadoSAT": "20001000000100001111",
        "selloCFDi": "...",
        "selloSAT": "...",
        "cadenaTFD": "...",
        "fechaGeneracionCFDi": "2022-01-31 00:00:02",
        "fechaTFD": "2022-01-31T00:00:02",
        "estadoCFDi": "vigente",
        "archivoQR": "iVBORw0KGgoAAAA...",
        "descargaArchivoQR": "https://descarga.enlacefiscal.com/v6/qr/?i=QUFBMDEwMTAxQUFBLS1BQUEwMTAxMDFBQUEtMjAxNzEwMzEtUkUxMC5wbmctLTIwMTYtLTQw&b=1",
        "descargaArchivoPDF": "https://descarga.enlacefiscal.com/v6/pdf/?i=VGtkRk1WbDZVbTFaTWxGMFQwUmthMDFwTURCTlZFSnFURmRHYVU5WFZYUk9WMHBxV1ZkT2FGcEVTVE5hVkdjMExTMU5ha0Y0VG1jOVBTMHRUa1JCUFMwdFVWVkdRazFFUlhkTlZFRjRVVlZHUWt4VVNYZE5WR040VFVSTmVFeFdTa1pOVkVGMVkwZFNiUT09&b=1",
        "xmlCFDi": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVV....lPgo=",
        "descargaXmlCFDi": "https://descarga.enlacefiscal.com/v6/cfdi/?i=QUFBMDEwMTAxQUFBLS1BQUEwMTAxMDFBQUEtMjAxNzEwMzEtUkUxMC54bWwtLTIwMTYtLTQw&b=1"
      }
    }
    

    Peticiones ejemplo REP 2.0

    Complementos

    En ciertos casos es necesario incluir información adicional de uso regulado por el SAT para un sector o actividad específica. En ésta sección se describen los diferentes complementos que están soportados en el API de Facturación Electrónica de Enlace Fiscal.

    La información que se incluye en un complemento, se agrega a la cadena original del comprobante y va protegida por el sello digital del CFDi.

    Lista de complementos

    Listado de los complementos soportados para la generación de comprobantes CFDi versión 3.3 vía API

    Complemento Versión
    Complemento Impuestos Locales 1.0
    Complemento Leyendas Fiscales 1.0
    Complemento Carta Porte 2.0

    Complemento de Leyendas Fiscales

    El Complemento de Leyendas Fiscales permite incluir en el Comprobante Fiscal Digital leyendas previstas en disposiciones fiscales distintas a las que ya incluye el CFDi.

    La información del complemento se agrega en un bloque de información específico para complementos dentro de la petición de timbrado de un CFDi. Éste complemento es requerido cuando las operaciones propias del emisor lo requieran.

    Complemento Leyendas Fiscales [condicional]

    {
      "CFDi":{
        ...
    
        ...
        "Complementos":{
          "LeyendasFiscales":[
            {
              "leyenda":"Mercancías de importación",
              "norma":"Regla 1.6.23",
              "disposicionFiscal":"RGCE"
            }
          ]
        }
        ...
    
    


    LeyendasFiscales

    Es un arreglo condicional que agrupa la información del complemento.

    leyenda Es el campo para especificar la leyenda fiscal.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido  Mercancías de importación


    norma Es el número de artículo o regla que regula la obligación de la leyenda.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  Regla 1.6.23


    disposicionFiscal Campo para especificar la ley, resolución o disposición fiscal que regula la leyenda. Se debe expresar en siglas de mayúsculas y sin puntación.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  RGCE

    Complemento de Impuestos Locales

    El Complemento de Impuestos Locales permite incluir en el Comprobante Fiscal Digital la información de los impuestos locales que apliquen al comprobante que se va a generar.

    La información del complemento se agrega en un bloque de información específico para complementos dentro de la petición de timbrado de un CFDi. Éste complemento es requerido cuando el comprobante incluya impuestos locales.


    Complemento Impuestos Locales [condicional]

    {
      "CFDi":{
        ...
        "Partidas": [{
        ...
            "ImpuestosLocales": [{
                        "tipo": "traslado",
                        "nombreImpuesto": "ISH",
                        "tasa": 0.03,
                        "baseImpuesto": "100.00",
                        "importe": "3.00"
                    }]
       ...
       ]}
       ...
       "ImpuestosLocales": {
               "Totales": {"traslados": "3.00"},
               "Impuestos": [{
                   "tipo": "traslado",
                   "nombreImpuesto": "ISH",
                   "tasa": 0.03,
                   "importe": "3.00"
               }]
           }
    
    

    Partidas / ImpuestosLocales

    Esta sección contiene la información relacionada con los impuestos locales retenidos y trasladados de cada partida.


    tipo Es el tipo de impuesto local que se desea utilizar.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Condicional retencion
    traslado
     traslado


    nombreImpuesto Es el nombre del impuesto local que se desea utilizar.

    Tipo de Dato Ocurrencia Ejemplo
    string Requerido  5 Millar


    tasa Es el valor de la tasa que aplica para el impuesto.

    Tipo de Dato Ocurrencia Ejemplo
    float Requerido  0.66


    baseImpuesto Es el valor sobre el que se calcula el impuesto local.

    Tipo de Dato Ocurrencia Ejemplo
    float Requerido  885.66


    importe Es el monto del impuesto local.

    Tipo de Dato Ocurrencia Ejemplo
    float Requerido  584.54

    ImpuestosLocales / Totales

    Esta sección contiene la información relacionada con los impuestos locales retenidos y trasladados de todas las partidas del CFDi.


    Totales / retenciones Es el total de los impuestos retenidos locales. Se debe incluir solo si el comprobante incluye impuestos locales de retención. En caso contrario, no es necesario incluir el campo.

    Tipo de Dato Ocurrencia  Ejemplo
    float Condicional  1097.08


    Totales / traslados Es el total de los impuestos locales trasladados. Se debe incluir solo si el comprobante incluye impuestos locales de traslado. En caso contrario, no es necesario incluir el campo.

    Tipo de Dato Ocurrencia  Ejemplo
    float Condicional  220.00


    ImpuestosLocales / Impuesto


    tipo Es el tipo de impuesto local que se desea utilizar.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Condicional retencion
    traslado
     traslado


    nombreImpuesto Es el nombre del impuesto local que se desea utilizar.

    Tipo de Dato Ocurrencia Ejemplo
    string Requerido  5 Millar


    tasa Es el valor de la tasa que aplica para el impuesto.

    Tipo de Dato Ocurrencia Ejemplo
    float Requerido  0.66


    importe Es el monto del impuesto local.

    Tipo de Dato Ocurrencia Ejemplo
    float Requerido  584.54

    Cambios Carta Porte 3.0 a 3.1

    A partir del 17 de julio de 2024 únicamente será válida la versión 3.1 del complemento Carta Porte.

    A continuación encontraras un resumen de los cambios para nueva versión del complemento carta porte 3.1:

    Información General CCP 3.1

    Carta Porte 3.1

    Generar un CFDI con complemento Carta Porte para relacionar los bienes o mercancías, ubicaciones de origen, puntos intermedios y destino, así como lo referente al medio a través del cual se transportan; ya sea por vía terrestre (carretera o líneas férreas), aérea, marítima o fluvial; además de incluir el traslado de Hidrocarburos y Petrolíferos.

    En el CFDI sólo debe existir una sección de Carta Porte.

    El complemento solo se debe anexar en comprobantes de tipo "I" (Ingreso) o "T" (Traslado).

    La información del complemento se agrega en un bloque de información específico para complementos dentro de la petición de timbrado de un CFDi. Éste complemento es de uso obligatorio para los contribuyentes que realicen transporte de bienes y mercancías en territorio nacional.

    Carta Porte

    Complemento Carta Porte [requerido]

    {
      "CFDi":{
        ...
    
        ...
        "Complementos":{
          "CartaPorte": {
            "version": "3.1",
            "idCCP": "CCCFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF",
            "transporteInternacional": "Sí",
            "entradaSalidaMercancias": "Entrada",
            "paisOrigenDestino": "CAN",
            "viaEntradaSalida": "01",
            "totalDistanciaRecorrida": "919.7",
            "RegimenesAduaneros": [
                {
                    "regimenAduanero": "EXD"
                },
                {
                    "regimenAduanero": "IMD"
                }
            ],
            "registroISTMO": "Sí",
            "ubicacionPoloOrigen": "01",
            "ubicacionPoloDestino": "01",
            ...
    

    Es un objeto requerido que agrupa la información del complemento.

    version Campo requerido con valor prefijado en el cual se indica la versión del complemento Carta Porte.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    string Requerido 3.1  3.1


    idCCP Campo opcional que permite registrar el identificador específico del complemento Carta Porte.

    En caso de que este campo no sea proporcionado, nuestro API generará automáticamente un identificador conforme a las reglas establecidas por el Servicio de Administración Tributaria (SAT). Posteriormente, este identificador se incluirá en la respuesta del servicio API, permitiendo su almacenamiento y utilización por parte del usuario.

    Si decide proporcionar manualmente el valor para este campo, es necesario generar un identificador siguiendo las reglas establecidas por el SAT. Según las reglas del SAT, los primeros tres caracteres del identificador deben ser "CCC". El identificador en su totalidad constará de 36 caracteres, siguiendo el estándar RFC 4122 para la identificación del CFDI con complemento Carta Porte.

    Tipo de Dato Ocurrencia Ejemplo
    string opcional CCCeafcc-de9d-46bd-a2fc-1b2e4727d1e5


    RegimenesAduaneros

    Sección condicional de tipo arreglo para expresar los tipos de régimen que se encuentran asociados con el traslado de los bienes y/o mercancías de procedencia extranjera

    regimenAduanero Campo condicional para expresar el tipo de régimen que se encuentra asociado con el traslado de los bienes y/o mercancías de procedencia extranjera.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Condicional Se muestra en el cátalogo Regimen Aduanero del SAT. Se utiliza la Clave  IMD


    registroISTMO Campo opcional para registrar las regiones, sí el traslado de los bienes y/o mercancías se realiza al interior de los Polos de Desarrollo para el Bienestar del istmo de Tehuantepec.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    string Requerido
    No
     No


    ubicacionPoloOrigen Campo condicional para registrar la región en donde inicia el traslado de los bienes y/o mercancias al interior de los Polos de Desarrollo para el Bienestar del istmo de Tehuantepec.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Condicional Se muestra en el cátalogo Registro del Istmo del SAT. Se utiliza la Clave  01


    ubicacionPoloDestino Campo condicional para registrar la región en donde termina el traslado de los bienes y/o mercancias al interior de los Polos de Desarrollo para el Bienestar del istmo de Tehuantepec.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Condicional Se muestra en el cátalogo Registro del Istmo del SAT. Se utiliza la Clave  01


    transporteInternacional Campo requerido para registrar si los bienes o mercancías que son transportadas, ingresan o salen del territorio nacional.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    string Requerido
    No
     No


    entradaSalidaMercancias Campo condicional para registrar si los bienes o mercancías ingresan o salen del territorio nacional.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    string Condicional Entrada
    Salida
     Salida


    paisOrigenDestino Campo condicional para registrar la clave del país de origen o destino de los bienes y/o mercancías transportadas conforme a los disponibles en el catálogo c_Pais del SAT. Es requerido cuando transporteInternacional contiene el valor Sí.

    Tipo de Dato Ocurrencia Ejemplo
    string Condicional CAN


    viaEntradaSalida Campo condicional para registrar la clave de la vía de ingreso o salida de los bienes o mercancías en territorio nacional, conforme a los disponibles en el catálogo c_CveTransporte del SAT.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Condicional Se muestra en el cátalogo de Transporte del SAT. Se utiliza la Clave  01


    totalDistanciaRecorrida Campo condicional para registrar la suma de las distancias recorridas en kilómetros.

    Tipo de Dato Ocurrencia  Ejemplo
    float Condicional  919.7

    Ubicaciones

    Complemento Carta Porte [requerido]

    {
      "CFDi":{
        ...
    
        ...
        "Complementos":{
          "CartaPorte": {
            ...
            "Ubicaciones": [
              {
                  "tipoUbicacion" : "Origen"
                  "idUbicacion": "OR000687",
                  "rfcRemitenteDestinatario": "FIMA420127R44",
                  "nombreRemitenteDestinatario": "Remitente S. De R.L. De C.V.",
                  "numeroRegistroIdTributario": "121585958",
                  "residenciaFiscal" : "MEX",
                  "tipoEstacion": "01",
                  "numeroEstacion" : "PM003",
                  "nombreEstacion" : "El Sauzal",
                  "navegacionTrafico": "Cabotaje",
                  "fechaHoraSalidaLlegada": "2020-12-02 12:30:00",
                  "distanciaRecorrida": "500.5",
                  "Domicilio": {
                      "calle": "Independencia",
                      "noExterior": "22",
                      "noInterior": "33",
                      "colonia": "0069",
                      "localidad": "01",
                      "referencia": "A dos cuadras del templo",
                      "municipio": "010",
                      "estado": "DIF",
                      "pais": "MEX",
                      "cp": "01160"
                }
              },
              {
                  "tipoUbicacion" : "Destino"
                  "idUbicacion": "DE000423",
                  "rfcRemitenteDestinatario": "IXS7607092R5",
                  "nombreRemitenteDestinatario": "Destinatario S.A. de C.V." ,
                  "numeroRegistroIdTributario": "121585958" ,
                  "residenciaFiscal": "MEX",
                  "tipoEstacion": "03",
                  "numeroEstacion": "PM001",
                  "nombreEstacion" : "Rosarito",
                  "navegacionTrafico": "Altura",
                  "fechaHoraSalidaLlegada": "2020-12-04 12:30:00",
                  "distanciaRecorrida": "419.2",
                  "Domicilio": {
                      "calle": "Álvaro Obregón",
                      "noExterior": "33",
                      "noInterior": "22",
                      "colonia": "0042",
                      "localidad": "02",
                      "referencia": "19.41943590859657, -99.15637197322637",
                      "municipio": "002",
                      "estado": "BCN",
                      "pais": "MEX",
                      "cp": "21130"
                }
              }
            ]
            ...
    

    Sección requerida para registrar las distintas ubicaciones que sirven para reflejar el domicilio del origen y/o destino que tienen los bienes o mercancías que se trasladan por distintos medios de transporte.

    tipoUbicacion Campo requerido para registrar el valor que corresponda al tipo de ubicación, ya sea "Origen" o "Destino".

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Requerido Origen
    Destino
     Origen


    idUbicacion Campo condicional para registrar una clave que sirva para identificar el punto de salida/llegada de los bienes o mercancías que se trasladan por los distintos medios de transporte mediante un identificador.

    Tipo de Dato Ocurrencia  Ejemplo
    string Condicional  OR000687


    rfcRemitenteDestinatario Campo requerido para registrar el RFC del remitente cuando el valor registrado en el campo tipoUbicacion sea Origen. Si el valor agregado en el campo tipoUbicacion es Destino se deberá registrar la clave en el RFC del destinatario de los bienes y/o mercancías que se trasladan.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido  FIMA420127R44


    nombreRemitenteDestinatario Campo opcional para registrar el nombre del remitente o destinatario de los bienes y/o mercancías que se trasladan.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  Alejandro Filomeno Mata


    numeroRegistroIdTributario Campo condicional para registrar el número de identificación o registro fiscal del país de residencia, cuando sea residente en el extranjero.

    Tipo de Dato Ocurrencia  Ejemplo
    string Condicional  121585958


    residenciaFiscal Campo condicional para registrar la clave del país, conforme a los disponibles en el catálogo c_Pais del SAT.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Condicional Se muestra en el catálogo de Países del SAT. Se utiliza la Clave  USA


    tipoEstacion Campo condicional para registrar el tipo de estación del cual parten, transitan o arriban los bienes y/o mercancías.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Condicional Se muestra en el cátalogo de Tipo Estacion del SAT. Se utiliza la Clave  03


    numeroEstacion Campo condicional para registrar la clave del número de la estación de Origen o Destino, conforme a los disponibles en el catálogo c_Estaciones del SAT.

    Tipo de Dato Ocurrencia Opciones  Ejemplo
    enum Condicional Se muestra en el cátalogo de Estaciones del SAT. Se utiliza la Clave Identificación PM003


    nombreEstacion Campo condicional para registrar el nombre de la estación de Origen o Destino de los bienes y/o mercancías, esta debe estar relacionada en el valor capturado en el campo numeroEstacion.

    Tipo de Dato Ocurrencia Opciones  Ejemplo
    enum Condicional Se muestra en el cátalogo de Estaciones del SAT. Se utiliza la Descripción El Sauzal


    navegacionTrafico Campo condicional para registrar el tipo de puerto por el que se documentan los bienes o mercancías vía marítima, sólo se pueden registrar los valores "Altura" y "Cabotaje".

    Tipo de Dato Ocurrencia Opciones  Ejemplo
    string Condicional Altura
    Cabotaje
    Altura


    fechaHoraSalidaLlegada Campo requerido para registrar la fecha y hora estimada en la que salen o llegan los bienes y/o mercancías del origen o destino respectivamente. Se expresa con el siguiente formato "AAAA-MM-DD hh:mm:ss".

    Tipo de Dato Ocurrencia  Ejemplo
    date Requerido 2020-12-02 12:30:00


    distanciaRecorrida Campo condicional para registrar la distancia recorrida en kilómetros de la ubicación de Origen a la Destino parcial o final, de los distintos medios de transporte que trasladan los bienes o mercancías.

    Tipo de Dato Ocurrencia  Ejemplo
    float Condicional  919.7


    Domicilio

    Sección condicional para registrar información del domicilio de origen y/o destino de los bienes o mercancías que se trasladan en los distintos medios de transporte.

    calle Campo opcional para registrar la calle en la que está ubicado el domicilio de origen y/o destino de los bienes o mercancías que se trasladan en los distintos medios de transporte.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  Álvaro Obregón


    noExterior Campo opcional que sirve para registrar el número exterior en donde se ubica el domicilio del origen y/o destino de los bienes o mercancías que se trasladan en los distintos medios de transporte.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  22


    noInterior Campo opcional que sirve para registrar el número interior en caso de existir, en donde se ubica el domicilio del origen y/o destino de los bienes o mercancías que se trasladan en los distintos medios de transporte.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  33


    colonia Campo opcional que sirve para registrar la colonia o dato análogo en donde se ubica el domicilio del origen o destino de los bienes o mercancías que se trasladan en los distintos medios de transporte.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Opcional Se muestra en el cátalogo de Colonias del SAT. Se utiliza la Clave Colonia  0069

    localidad Campo opcional que sirve para registrar la ciudad, población, distrito u otro análogo en donde se encuentra ubicado el domicilio del origen y/o destino de los bienes o mercancías que se trasladan en los distintos medios de transporte.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Opcional Se muestra en el cátalogo de Localidad del SAT. Se utiliza la Clave Localidad  02


    referencia Campo opcional para registrar una referencia geográfica adicional que permita una fácil o precisa ubicación del domicilio del origen y/o destino de las mercancías que se trasladan en los distintos medios de transporte; por ejemplo, las coordenadas GPS.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional 25.91799767951801, -89.95132314223306


    municipio Campo opcional que sirve para registrar el municipio, delegación o alcaldía, condado u otro análogo en donde se encuentra ubicado el domicilio destino de los bienes o mercancías que se trasladan en los distintos medios de transporte.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Opcional Se muestra en el cátalogo de Municipio del SAT. Se utiliza la Clave Municipio  002


    estado Campo requerido para registrar el estado, entidad, región, comunidad, u otra figura análoga en donde se encuentra ubicado el domicilio del origen y/o destino de los bienes o mercancías que se trasladan en los distintos medios de transporte.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Requerido Se muestra en el cátalogo de Estado del SAT. Se utiliza la Clave Estado  AGU


    pais Campo requerido que sirve para registrar la clave del país en donde se encuentra ubicado el domicilio del origen y/o destino de los bienes o mercancías que se trasladan en los distintos medios de transporte, conforme a los disponibles en el catálogo c_Pais del SAT.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Requerido Se muestra en el cátalogo de Pais del SAT. Se utiliza la Clave Pais  CAN


    cp Campo requerido para registrar el código postal (PO, BOX) en donde se encuentra el domicilio del origen y/o destino de los bienes o mercancías que se trasladan en los distintos medios de transporte.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Requerido Se muestra en el cátalogo de Codigos Postales del SAT. Se utiliza la Clave Postal  20115

    Mercancias

    Complemento Carta Porte [requerido]

    {
      "CFDi":{
        ...
    
        ...
        "Complementos":{
          "CartaPorte": {
            ...
            "Mercancias": {
              "pesoBrutoTotal": "12543.002",
              "unidadPeso": "TNE",
              "pesoNetoTotal": "10342.012",
              "cargoPorTasacion": "1421.32",
              "Mercancia": [
                {
                  "bienesTransportados": "25172500",
                  "claveStcc": "314",
                  "descripcion": "NEUMATICOS Y CAMARAS DE NEUMATICOS",
                  "cantidad": "234",
                  "claveUnidad": "PR",
                  "dimensiones": "30/40/30cm",
                  "materialPeligroso": "Sí",
                  "claveMaterialPeligroso": "M0226",
                  "embalaje": "4G",
                  "pesoEnKg": "2536.012",
                  "valorMercancia": "15844.360000",
                  "moneda": "MXN",
                  "fraccionArancelaria": "4004000200",
                  "uuidComercioExterior": "a54ede92-418c-45df-b8ce-462a0195de51",
                  "DocumentacionAduanera" : [
                    {
                        "tipoDocumento": "(02) Autorización de importación temporal",
                        "pedimento": "20  47  3807  8003832",
                        "identDocAduanero": "IMMEX-IM4132006",
                        "rfcImportador": "BACA880911EE6",
                    }
                  ],
                  "GuiasIdentificacion" : [
                    {
                      "numeroGuiaIdentificacion" : "ABCD123456789",
                      "descripGuiaIdentificacion" : "Contenido del paquete 1",
                      "pesoGuiaIdentificacion" : "6"
                    }
                  ],
                  "CantidadTransporta": [
                    {
                      "cantidad": "65485.000000",
                      "idOrigen": "OR000687",
                      "idDestino": "DE000423",
                      "clavesTransporte": "03"
                    }
                  ],
                  "DetalleMercancia": {
                    "unidadPesoMercancia": "TNE",
                    "pesoBruto": "10342.012",
                    "pesoNeto": "9848.28",
                    "pesoTara": "493.732",
                    "numeroPiezas": "4568"
                  }
                }
              ],
              "Autotransporte": {
                "permisoSct": "TPAF01",
                "numeroPermisoSct": "0X2XTXZ0X5X0X3X2X1X0",
                "IdentificacionVehicular": {
                    "configuracionVehicular": "C2R2",
                    "placaVehicular": "50111",
                    "anioModeloVehicular": "2000",
                    "pesoBrutoVehicular": "10.34"
                },
                "Seguros": {
                    "aseguraRespCivil": "PFG Seguros S.A. de C.V.",
                    "polizaRespCivil": "154647"
                    "aseguraMedAmbiente": "Olimpo S.A. de C.V.",
                    "polizaMedAmbiente": "987423"
                    "aseguraCarga": " La VillaIOS S. A. de C. V.",
                    "polizaCarga": "368549"
                    "primaSeguro": "1200"
                },
                "Remolques": [{
                    "subTipoRemolque": "CTR004",
                    "placa": "50111"
                }]
              },
              "TransporteMaritimo": {
                "permSCT": "TPTM01",
                "numeroPermisoSct": "00Z00X00Z00X0",
                "nombreAseguradora": "Seguros de carga",
                "numeroPolizaSeguro": "ZRC2018-COTTON-LTDA",
                "tipoEmbarcacion": "B07",
                "matricula": "501118",
                "numeroOmi": "IMO8655748",
                "anioEmbarcacion": "2000",
                "nombreEmbarcacion": "Cometín",
                "nacionalidadEmbarcacion": "MEX",
                "unidadesDeArqueoBruto": "7582.023",
                "tipoCarga": "CGC",
                "numeroCertificadoItc": "00X00X00X85",
                "eslora": "190.05",
                "manga": "48.24",
                "calado": "12.30",
                "lineaNaviera": "TransportadoraFloAbra",
                "nombreAgenteNaviero": "Ranferi Posadin Romero",
                "numeroAutorizacionNaviero": "SCT418/020/2016",
                "numeroViaje": "65248",
                "numeroConocimientoEmbarque": "84595",
                "Contenedor": [
                  {
                    "matriculaContenedor": "TRL0000000",
                    "tipoContenedor": "CTR003",
                    "numeroPrecinto": "5311745"
                  }
                ]
              },
              "TransporteAereo": {
                "permisoSct": "TPTA01",
                "numeroPermisoSct": "00Z00X00Z00X00Z00ZX1",
                "matriculaAeronave": "X1XMEX",
                "nombreAseguradora": "Seguros de carga",
                "numeroPolizaSeguro": "ZRC2018-COTTON LTDA",
                "numeroGuia": "803117555500",
                "lugarContrato": "MEX",
                "codigoTransportista": "CA001",
                "rfcEmbarcador": "CSCO850910AR9",
                "numeroRegistroIdTributarioEmbarcador": "2343243242234",
                "residenciaFiscalEmbarcador": "USA",
                "nombreEmbarcador": "Rafaeli Camposorio Ruízo"
              },
              "TransporteFerroviario": {
                "tipoDeServicio": "TS01",
                "tipoDeTrafico": "TT02",
                "nombreAseguradora": "SEGUROS MAR",
                "numeroPolizaSeguro": "3453453-RTED:33",
                "DerechosDePaso": [
                  {
                    "tipoDerechoDePaso": "4534",
                    "kilometrajePagado": "345"
                  }
                ],
                "Carro": [
                  {
                    "tipoCarro": "TC01",
                    "matriculaCarro": "YTX343V",
                    "guiaCarro": "123456789012345",
                    "toneladasNetasCarro": "2.023",
                    "Contenedor": [
                      {
                        "tipoContenedor": "TC01",
                        "pesoContenedorVacio": "1.023",
                        "pesoNetoMercancia": "2.023"
                      }
                    ]
                  }
                ]
              }
            }
            ...
    

    Sección requerida para registrar la información de los bienes o mercancías que se trasladan en los distintos medios de transporte.

    pesoBrutoTotal Campo requerido para registrar la suma del peso bruto total de los bienes o mercancías que se trasladan.

    Tipo de Dato Ocurrencia  Ejemplo
    float Requerido  12543.002


    unidadPeso Campo requerido para registrar la clave de unidad de medida estandarizada del peso de los bienes o mercancías que se trasladan.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Requerido Se muestra en el cátalogo Unidad de Peso del SAT. Se utiliza la Clave  TNE


    pesoNetoTotal Campo condicional utilizado en trasporte marítimo y ferroviario.

    Tipo de Dato Ocurrencia  Ejemplo
    float Condicional  10342.012


    cargoPorTasacion Campo opcional para registrar el importe pagado por la tasación de los bienes o mercancías que se trasladan vía aérea.

    Tipo de Dato Ocurrencia  Ejemplo
    float Opcional  53421.32


    logisticaInversaRecoleccionDevolucion Campo condicional para expresar si se hace uso de alguno de los servicios de logística inversa, recolección o devolución para el traslado de los bienes y/o mercancías.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    string Condicional  
    No
     


    Mercancia

    Sección requerida para registrar la información de los bienes o mercancías que se trasladan en los distintos medios de transporte.

    bienesTransportados Campo requerido para registrar la clave de producto de los bienes o mercancías que se trasladan en los distintos medios de transporte.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Requerido Se muestra en el catálogo del SAT _ClaveProdServ. Se utiliza la Clave  53111602


    claveStcc Campo opcional para registra la clave de producto conforme al catálogo del Estándar para la Transportación de Productos (STCC, Standard Transportation Commodity Code por sus siglas en inglés) contenido catalogo c_ClaveProdSTCC publicado en el portal del SAT, cuando el medio de transporte es ferroviario.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Opcional Se muestra en el cátalogo de Clave Producto STCC del SAT. Se utiliza la Clave  313


    descripcion Campo requerido para registrar la descripción los bienes o mercancías que se trasladan en los distintos medios de transporte.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido Calzado, excepto caucho o plástico


    cantidad Campo requerido para registrar la cantidad de los bienes o mercancías que se trasladan en los distintos medios de transporte.

    Tipo de Dato Ocurrencia  Ejemplo
    float Requerido  12542.000000


    claveUnidad Campo requerido para registrar la clave de unidad de medida estandarizada aplicable, contenida en el catálogo c_ ClaveUnidad publicado en el portal del SAT, para la cantidad de los bienes o mercancías que se trasladan en los distintos medios de transporte. La unidad debe corresponder con la descripción de los bienes o mercancías registrados.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Requerido Se muestra en el cátalogo de Clave Unidad del SAT. Se utiliza la Clave  PQ


    dimensiones Campo opcional para registrar las medidas del empaque de los bienes o mercancías que se trasladan vía aérea. Se debe registrar la longitud, la altura y la anchura en centímetros o en pulgadas separados dichos valores por una diagonal.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  30/40/30cm


    materialPeligroso Campo condicional para registrar si los bienes o mercancías que se trasladan son considerados material peligroso. Los valores permitidos para este campo son "Sí" y "No".

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    string Condicional
    No
     No


    claveMaterialPeligroso Campo condicional para registrar la clave del tipo de material peligroso que se transporta.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Condicional Se muestra en el cátalogo Material Peligroso del SAT. Se utiliza la Clave  M0227


    embalaje Campo condicional para registrar la clave del tipo de embalaje conforme a los disponibles en el catálogo c_TipoEmbalaje del SAT, que se requiere para transportar el material o residuo peligroso.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Condicional Se muestra en el cátalogo Tipo Embalaje del SAT. Se utiliza la Clave  4F


    sectorCOFEPRIS Campo opcional para expresar la clasificación del producto que se traslada a través de los distintos medios de transporte y que debe contar con autorización por la autoridad correspondiente.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Opcional Se muestra en el cátalogo sector COFEPRIS del SAT. Se utiliza la Clave  01


    nombreIngredienteActivo Campo condicional para expresar el nombre común del ingrediente activo de los precursores, químicos de uso dual, plaguicidas o fertilizantes que se trasladan a través de los distintos medios de transporte.

    Tipo de Dato Ocurrencia  Ejemplo
    string Condicional Nombre Ingrediente Activo


    nombreQuimico Campo condicional para expresar el nombre común del ingrediente activo de los precursores, químicos de uso dual, plaguicidas o fertilizantes que se trasladan a través de los distintos medios de transporte.

    Tipo de Dato Ocurrencia  Ejemplo
    string Condicional Nombre Quimico


    denominacionGenericaProd Campo condicional para expresar el fármaco o la sustancia activa del medicamento, psicotrópico o estupefaciente que se traslada a través de los distintos medios de transporte.

    Tipo de Dato Ocurrencia  Ejemplo
    string Condicional Denominación generica del producto


    denominacionDistintivaProd Campo condicional para expresar la marca con la que se comercializa el producto o nombre que le asigna el laboratorio o fabricante a sus especialidades farmacéuticas con el fin de distinguirlas de otras similares del medicamento, psicotrópico o estupefaciente que se traslada a través de los distintos medios de transporte.

    Tipo de Dato Ocurrencia  Ejemplo
    string Condicional Denominación distintiva del producto


    fabricante Campo condicional para expresar el nombre o razón social del establecimiento que realiza la fabricación o manufactura del medicamento, precursor, químico de uso dual, psicotrópico o estupefaciente que se traslada a través de los distintos medios de transporte.

    Tipo de Dato Ocurrencia  Ejemplo
    string Condicional FABRICA DEMO


    fechaCaducidad Campo condicional para registrar la fecha de caducidad del medicamento, psicotrópico o estupefaciente; o para expresar la fecha de reanálisis del precursor o químico de uso dual que se traslada a través de los distintos medios de transporte. Se expresa en la forma AAAA-MM-DD.

    Tipo de Dato Ocurrencia  Ejemplo
    string Condicional 2023-10-30


    loteMedicamento Campo condicional para expresar la denominación que identifica y confiere trazabilidad del medicamento, precursor, químico de uso dual, psicotrópico o estupefaciente elaborado en un ciclo de producción, bajo condiciones equivalentes de operación y durante un periodo.

    Tipo de Dato Ocurrencia  Ejemplo
    string Condicional 1234567890


    formaFarmaceutica Campo condicional para expresar la forma farmacéutica o mezcla del medicamento, precursor, químico de uso dual, psicotrópico o estupefaciente que presenta ciertas características físicas para su adecuada dosificación, conservación y administración.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum condicional Se muestra en el cátalogo Forma Farmaceutica del SAT. Se utiliza la Clave  01


    condicionesEspTransp Campo condicional para expresar la condición en la cual es necesario mantener el medicamento, precursor, químico de uso dual, psicotrópicos o estupefacientes durante el traslado y almacenamiento.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum condicional Se muestra en el cátalogo de Condiciones Especiales del SAT. Se utiliza la Clave  01


    registroSanitarioFolioAutorizacion Campo condicional para expresar el registro sanitario o folio de autorización con el que cuenta la empresa para el traslado del medicamento, psicotrópico o estupefaciente.

    Tipo de Dato Ocurrencia  Ejemplo
    string Condicional 123456789012345


    permisoImportacion Campo condicional para registrar el folio del permiso de importación con el que cuenta el medicamento, precursor, químico de uso dual, psicotrópico o estupefaciente.

    Tipo de Dato Ocurrencia  Ejemplo
    string Condicional 123456


    folioImpoVUCEM Campo condicional para registrar el número de folio de importación VUCEM para la identificación del documento, para el traslado de medicamentos, precursores o químicos de uso dual, sustancias tóxicas, plaguicidas o fertizantes.

    Tipo de Dato Ocurrencia  Ejemplo
    string Condicional FOLIO123456


    numeroCAS Campo condicional para expresar el número Chemical Abstracts Service (CAS) con el que se identifica el compuesto químico de la sustancia tóxica.

    Tipo de Dato Ocurrencia  Ejemplo
    string Condicional 123456789013245


    razonSocialEmpImp Campo condicional para expresar el nombre o razón social de la empresa importadora de las sustancias tóxicas.

    Tipo de Dato Ocurrencia  Ejemplo
    string Condicional EMPRESA DEMO


    numRegSanPlagCOFEPRIS Campo condicional para expresar el número de registro sanitario para plaguicidas o fertilizantes cuya importación, comercialización y uso están permitidos en México, mismo que emite la Comisión Intersecretarial para el Control del Proceso y Uso de Plaguicidas, Fertilizantes y Sustancias Tóxicas (CICLOPLAFEST).

    Tipo de Dato Ocurrencia  Ejemplo
    string Condicional 123456


    datosFabricante Campo condicional para registrar el país y nombre o razón social de quien produce o fabrica el ingrediente activo del plaguicida o fertilizante.

    Tipo de Dato Ocurrencia  Ejemplo
    string Condicional Datos Fabricante


    datosFormulador Campo condicional para registrar el país y nombre o razón social de quien formula el ingrediente activo del plaguicida o fertilizante.

    Tipo de Dato Ocurrencia  Ejemplo
    string Condicional Datos Formulador


    datosMaquilador Campo condicional para registrar el país y nombre o razón social de quien maquila el ingrediente activo del plaguicida o fertilizante.

    Tipo de Dato Ocurrencia  Ejemplo
    string Condicional Datos Maquilador


    usoAutorizado Campo condicional para registrar el uso autorizado del plaguicida o fertilizante de acuerdo a la regulación del país.

    Tipo de Dato Ocurrencia  Ejemplo
    string Condicional ProductoX está autorizado según la regulación del país.


    pesoEnKg Campo requerido para registrar el peso en kilogramos de los bienes o mercancías que se trasladan en los distintos medios de transporte.

    Tipo de Dato Ocurrencia  Ejemplo
    float Requerido 2536.012


    valorMercancia Campo condicional para registrar el monto del valor de los bienes o mercancías que se trasladan en los distintos medios de transporte, de acuerdo al valor de mercado, el valor pactado en la contraprestación o al valor estimado que determine el contribuyente.

    Tipo de Dato Ocurrencia  Ejemplo
    float Condicional  15844.360000


    moneda Campo condicional para registrar la clave de la moneda contenida en el catálogo c_Moneda publicado en el portal del SAT, utilizada para expresar el valor de los bienes o mercancías que se trasladan en los distintos medios de transporte.

    Tipo de Dato Ocurrencia Opciones Ejemplo
    enum Condicional Se muestran en el catálogo de monedas del SAT. Se utiliza la Clave MWK


    fraccionArancelaria Campo opcional que sirve para registrar la clave de la fracción arancelaria del catálogo de comercio exterior c_FraccionArancelaria publicado en el portal del SAT, correspondiente a la descripción de los bienes o mercancías que se trasladan en los distintos medios de transporte como importación o exportación.

    Tipo de Dato Ocurrencia Opciones Ejemplo
    enum Condicional Se muestran en el catálogo de Fracción Arancelaria del SAT. Se utiliza la Clave 4004000200


    uuidComercioExterior Campo condicional para registrar el folio fiscal o UUID del comprobante de comercio exterior que se relaciona, este dato se vuelve requerido cuando el campo entradaSalidaMercancias contenga el valor "Salida".

    Tipo de Dato Ocurrencia  Ejemplo
    string Condicional a54ede92-418c-45df-b8ce-462a0195de51


    tipoMateria Campo condicional para expresar el estado de la materia o producto al realizar una operación de comercio exterior a través de los distintos medios de transporte.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum condicional Se muestra en el cátalogo tipo de matería del SAT. Se utiliza la Clave  01


    descripcionMateria Campo condicional para expresar la descripción del estado de la materia o producto al realizar una operación de comercio exterior a través de los distintos medios de transporte.

    Tipo de Dato Ocurrencia  Ejemplo
    string Condicional Descripción de la matería.


    DocumentacionAduanera

    Sección condicional para registrar la información del(los) documento(s) aduanero(s) que se encuentra(n) asociado(s) al traslado de los bienes y/o mercancías por los distintos medios de transporte de procedencia extranjera para acreditar la legal estancia o tenencia durante su traslado en territorio nacional.

    tipoDocumento Campo requerido para registrar la clave del tipo de documento aduanero del catálogo catCartaPorte:c_DocumentoAduanero asociado al traslado de los bienes y/o mercancías de procedencia extranjera para acreditar la legal estancia o tenencia durante su traslado en territorio nacional.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido  01


    pedimento Campo condicional para registrar el número de pedimento correspondiente a la importación de los bienes o mercancías.

    Tipo de Dato Ocurrencia  Ejemplo
    string Condicional  10 47 3807 8003832


    identDocAduanero Campo condicional para registrar el identificador o folio del documento aduanero que se encuentra asociado al traslado de los bienes y/o mercancías de procedencia extranjera para acreditar la legal estancia o tenencia durante su traslado en territorio nacional.

    Tipo de Dato Ocurrencia  Ejemplo
    string Condicional  IMMEX-IM4132006


    rfcImportador Campo condicional para registrar el RFC del importador de los bienes y/o mercancías que fue registrado en la documentación aduanera correspondiente.

    Tipo de Dato Ocurrencia  Ejemplo
    string Condicional  XEXX010101000


    GuiasIdentificacion

    Sección condicional para registrar la información del(los) número(s) de guía(s) que se encuentre(n) asociado(s) al(los) paquete(s) que se traslada(n) dentro del territorio nacional.

    numeroGuiaIdentificacion Campo condicional para expresar el número de guía de cada paquete que se encuentra asociado con el traslado de los bienes y/o mercancías en territorio nacional.

    Tipo de Dato Ocurrencia  Ejemplo
    string Condicional  ABCD123456789


    descripGuiaIdentificacion Campo condicional para expresar la descripción del contenido del paquete o carga registrada en la guía, o en el número de identificación, que se encuentra asociado con el traslado de los bienes y/o mercancías dentro del territorio nacional.

    Tipo de Dato Ocurrencia  Ejemplo
    string Condicional  


    pesoGuiaIdentificacion Campo condicional para indicar en kilogramos, el peso del paquete o carga que se está trasladando en territorio nacional y que se encuentra registrado en la guía o el número de identificación correspondiente.

    Tipo de Dato Ocurrencia  Ejemplo
    string Condicional  6


    CantidadTransporta

    Sección condicional para registrar la cantidad de los bienes o mercancías que se trasladan en los distintos medios de transporte, que será distribuida o captada en distintos puntos, a fin de identificar el punto de origen y destino de dichos bienes o mercancías, y se podrá registrar esta sección tantas veces sea necesario.

    cantidad Campo requerido para registrar el número de bienes o mercancías que se trasladan en los distintos medios de transporte.

    Tipo de Dato Ocurrencia  Ejemplo
    float Requerido  65485.000000


    idOrigen Campo requerido para registrar la clave del identificador del origen de los bienes o mercancías que se trasladan por los distintos medios de transporte, de acuerdo al valor registrado en la sección "Origen", de la sección "Ubicacion".

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido  OR000687


    idDestino Campo requerido para registrar la clave del identificador del destino de los bienes o mercancías que se trasladan por los distintos medios de transporte, de acuerdo al valor registrado en la sección Origen, de la sección Ubicacion.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido  DE000423


    clavesTransporte Campo condicional para registrar la clave del catálogo c_CveTransporte publicado en el portal del SAT, que identifica el medio por el cual se transportan los bienes o mercancías, dicha clave debe ser distinta a "05" (Ducto).

    Tipo de Dato Ocurrencia Opciones Ejemplo
    enum Condicional Se muestran en el catálogo de Transporte del SAT. Se utiliza la Clave 04


    DetalleMercancia

    Sección condicional para registrar mayor detalle de los bienes o mercancías que se transportan y será requerido cuando el traslado sea vía marítima.

    unidadPesoMercancia Campo requerido para registrar la clave de unidad de medida estandarizada del peso del catálogo c_ClaveUnidadPeso publicado en el portal del SAT, de los bienes o mercancías que se trasladan.

    Tipo de Dato Ocurrencia Opciones Ejemplo
    enum Requerido Se muestran en el catálogo de Unidad peso del SAT. Se utiliza la Clave TNE


    pesoBruto Campo requerido para registrar el peso total bruto de los bienes o mercancías que se trasladan.

    Tipo de Dato Ocurrencia  Ejemplo
    float Requerido  10342.012


    pesoNeto Campo requerido para registrar el peso total neto de los bienes o mercancías que se trasladan.

    Tipo de Dato Ocurrencia  Ejemplo
    float Requerido  9848.28


    pesoTara Campo requerido para registrar el peso bruto, menos el peso neto de las mercancías que se trasladan.

    Tipo de Dato Ocurrencia  Ejemplo
    float Requerido  493.732


    numeroPiezas Campo opcional para registrar el número de piezas de los bienes o mercancías que se trasladan.

    Tipo de Dato Ocurrencia  Ejemplo
    float Opcional  4568


    Autotransporte

    Sección condicional para registrar la información que permita la identificación del autotransporte de carga federal, por medio del cual se transportan los bienes o mercancías, que transitan a través de las carreteras federales del territorio nacional.

    permisoSct Campo requerido para registrar la clave del tipo de permiso proporcionado por la SCT, el cual debe corresponder de acuerdo al tipo de autotransporte utilizado para el traslado de los bienes o mercancías dentro del catálogo c_TipoPermiso publicado en el portal del SAT.

    Tipo de Dato Ocurrencia Opciones Ejemplo
    enum Requerido Se muestran en el catálogo de Tipo Permiso del SAT. Se utiliza la Clave TPAF03


    numeroPermisoSct Campo requerido para registrar el número del permiso otorgado por la SCT, el cual se debe registrar de acuerdo al tipo de autotransporte utilizado para el traslado de los bienes o mercancías.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido  0X2XTXZ0X5X0X3X2X1X0


    Seguros

    En esta sección se deberá especificar la información de los tipos de seguros que se deben utilizar en el traslado de bienes y/o mercancías vía autotransporte.

    aseguraRespCivil Campo requerido para registrar el nombre de la aseguradora que cubre los riesgos de responsabilidad civil del autotransporte utilizado para el traslado de los bienes y/o mercancías.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido  PFG Seguros S.A. de C.V.


    polizaRespCivil Campo requerido para registrar el número de la póliza de seguro que emite la aseguradora que cubre los riesgos de responsabilidad civil del autotransporte utilizado para el traslado de los bienes y/o mercancías.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido  154647


    aseguraMedAmbiente Campo opcional para registrar el nombre de la aseguradora que cubre los posibles daños al medio ambiente, que es aplicable para los transportistas que realicen el traslado de materiales o residuos peligrosos, es decir, cuando se capture información en el campo materialPeligroso.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  Olimpo S.A. de C.V.


    polizaMedAmbiente Campo opcional para registrar el número de póliza asignado por la aseguradora, que cubre los posibles daños al medio ambiente aplicable para los transportistas que realicen el traslado de materiales o residuos peligrosos.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  987423


    aseguraCarga Campo opcional para registrar el nombre de la aseguradora que cubre los riesgos de la carga (bienes y/o mercancías) transportada.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  La VillaIOS S. A. de C. V.


    polizaCarga Campo opcional para registrar el número de póliza que emite la aseguradora que cubre los riesgos de la carga (bienes y/o mercancías) transportada.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  368549


    primaSeguro Campo opcional para registrar el valor del importe de la prima del seguro contratado, por el cargo adicional acordado entre el transportista y el cliente conforme a lo establecido en las disposiciones jurídicas que para tal efecto emita la SCT.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  1200


    IdentificacionVehicular

    Sección requerida para registrar los datos de identificación del autotransporte en el que se trasladan los bienes o mercancías.

    configuracionVehicular Campo requerido para registrar la clave de nomenclatura del autotransporte, del catálogo c_ConfigAutotransporte publicado en el portal del SAT, que es utilizado para transportar los bienes o mercancías.

    Tipo de Dato Ocurrencia Opciones Ejemplo
    enum Requerido Se muestran en el catálogo de Configuración Autotransporte del SAT. Se utiliza la Clave C3R2


    pesoBrutoVehicular Campo requerido para indicar en toneladas el peso bruto vehicular permitido del autotransporte de acuerdo a la NOM-SCT-012-2017, o la que la sustituya, que es utilizado para realizar el traslado de los bienes y/o mercancías.

    Tipo de Dato Ocurrencia  Ejemplo
    int Requerido  1.51


    placaVehicular Campo requerido para registrar el valor de la placa vehicular del autotransporte que es utilizado para transportar los bienes o mercancías, se deben registrar solo los caracteres alfanuméricos, sin guiones y espacios.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido  501118


    anioModeloVehicular Campo requerido para registrar el año del autotransporte que es utilizado para transportar los bienes o mercancías.

    Tipo de Dato Ocurrencia  Ejemplo
    int Requerido  2000


    Remolques

    Sección opcional para registrar los datos del (los) remolque(s) o semirremolque(s) que se emplean con el autotransporte para el traslado de los bienes o mercancías, se pueden registrar hasta 2 remolques.

    subTipoRemolque Campo requerido para registrar la clave del subtipo de remolque o semirremolques del catálogo c_SubTipoRem publicado en el portal del SAT, que se emplean con el autotransporte para el traslado de los bienes o mercancías.

    Tipo de Dato Ocurrencia Opciones Ejemplo
    enum Requerido Se muestran en el catálogo de Subtipo de Remolque del SAT. Se utiliza la Clave CTR005


    placa Campo requerido para registrar el valor de la placa vehicular del remolque o semirremolque que es utilizado para transportar los bienes o mercancías, se deben registrar solo los caracteres alfanuméricos, sin guiones y espacios.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido  5054YR4


    TransporteMaritimo

    Sección condicional para registrar la información que permita la identificación de la embarcación por medio del cual se transportan los bienes o mercancías, vía marítima.

    permSCT Campo opcional para registrar la clave del tipo de permiso proporcionado por la SCT del catálogo c_TipoPermiso publicado en el portal del SAT, el cual debe corresponder a la navegación que se está utilizando para el traslado de los bienes o mercancías.

    Tipo de Dato Ocurrencia Opciones Ejemplo
    enum Opcional Se muestran en el catálogo de Tipo Permiso del SAT. Se utiliza la Clave TPTA02


    numeroPermisoSct Campo opcional para registrar el número de permiso proporcionado por la SCT para la navegación.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  00Z00X00Z00X00Z00XZ1


    nombreAseguradora Campo opcional para registrar el nombre de la aseguradora que cubre el seguro de protección e indemnización por responsabilidad civil de la embarcación.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  La Villa Esp0 S A de C V


    numeroPolizaSeguro Campo opcional para registrar el número de póliza asignado por la aseguradora para la protección e indemnización por responsabilidad civil de la embarcación.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  368549-RFE-R23


    tipoEmbarcacion Campo requerido para registrar la clave de identificación del transporte del tipo de embarcación del catálogo c_ConfigMaritima publicado en el portal del SAT, que es utilizado para trasladar los bienes o mercancías.

    Tipo de Dato Ocurrencia Opciones Ejemplo
    enum Requerido Se muestran en el catálogo de Configuración Maritima del SAT. Se utiliza la Clave B06


    matricula Campo requerido para registrar el número de la matrícula o registro de la embarcación que es utilizada para transportar los bienes o mercancías.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido   R501FD8


    numeroOmi Campo requerido para registrar el número de identificación asignado por la Organización Marítima Internacional a la embarcación encargada de transportar los bienes o mercancías.

    Tipo de Dato Ocurrencia  Ejemplo
    int Requerido  8655748


    anioEmbarcacion Campo opcional para registrar el año de la embarcación en la que se transportan los bienes o mercancías.

    Tipo de Dato Ocurrencia  Ejemplo
    int Opcional  1998


    nombreEmbarcacion Campo opcional para registrar el nombre de la embarcación en la que se transportan los bienes o mercancías.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  Transportadora FloAbra


    nacionalidadEmbarcacion Campo requerido para registrar la clave del país del catálogo c_Pais publicado en el portal del SAT, correspondiente a la nacionalidad de la embarcación que transporta los bienes o mercancías.

    Tipo de Dato Ocurrencia Opciones Ejemplo
    enum Requerido Se encuentran en el catálogo de Países del SAT. Se utiliza la Clave USA


    unidadesDeArqueoBruto Campo requerido para registrar el valor de las unidades de arqueo bruto conforme a las medidas internacionales definidas por el ITC para cada tipo de buque o embarcación en la que se transportan los bienes o mercancías.

    Tipo de Dato Ocurrencia  Ejemplo
    float Requerido  7582.023


    tipoCarga Campo requerido para registrar la clave del catálogo c_ClaveTipoCarga publicado en el portal del SAT, del tipo de carga bajo el cual se tipifican los bienes o mercancías que se transportan en la embarcación.

    Tipo de Dato Ocurrencia Opciones Ejemplo
    enum Requerido Se muestran en el catálogo de Tipo Carga del SAT. Se utiliza la Clave GMN


    numeroCertificadoItc Campo requerido para registrar el número del certificado emitido por la ITC para la embarcación o buque que transporta los bienes o mercancías.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido  00X00X00X85


    eslora Campo opcional para registrar la longitud de eslora, definida en pies, con la que cuenta la embarcación o buque en el que se transportan los bienes o mercancías.

    Tipo de Dato Ocurrencia  Ejemplo
    float opcional  = 190.05


    manga Campo opcional para registrar la longitud de manga, definida en pies, con la que cuenta la embarcación o buque en el que se transportan los bienes o mercancías.

    Tipo de Dato Ocurrencia  Ejemplo
    float Opcional  48.24


    calado Campo opcional para registrar la longitud del calado, definida en pies, con la que cuenta la embarcación o buque en el que se transportan los bienes o mercancías.

    Tipo de Dato Ocurrencia  Ejemplo
    float Opcional  14.44


    lineaNaviera Campo opcional para registrar el nombre de la línea naviera autorizada de gestionar el traslado de los bienes o mercancías vía marítima.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  Transportadora Florata


    nombreAgenteNaviero Campo requerido para registrar el nombre del agente naviero autorizado para gestionar el traslado de los bienes o mercancías vía marítima.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido  La Villa Esp0 S A de C V


    numeroAutorizacionNaviero Campo requerido para expresar el número de registro de autorización, del catálogo c_NumAutorizacionNaviero publicado en el portal del SAT, como agente naviero consignatario emitido por la SCT.

    Tipo de Dato Ocurrencia Opciones Ejemplo
    enum Requerido Se muestran en el catálogo de Autorización Naviero del SAT. Se utiliza la Clave SCT418/014/2018


    numeroViaje Campo opcional para registrar el número del viaje con el que se identifica el traslado de los bienes o mercancías en el buque o embarcación.

    Tipo de Dato Ocurrencia  Ejemplo
    int Opcional  65248


    numeroConocimientoEmbarque Campo opcional para registrar el número de conocimiento de embarque que identifica el traslado de los bienes o mercancías.

    Tipo de Dato Ocurrencia  Ejemplo
    int Opcional  84595


    Contenedor

    Sección requerida para registrar los datos del contenedor en el que transportan los bienes o mercancías.

    matriculaContenedor Campo requerido para registrar la matrícula o número de identificación del contenedor marítimo donde se transportan los bienes o mercancías, el cual está integrado por el código del propietario, el número de serie y el dígito de control.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido TRL00000


    tipoContenedor Campo requerido para registrar la clave de identificación del catálogo c_ContenedorMaritimo publicado en el portal del SAT, para el tipo de contenedor marítimo donde se transportan los bienes o mercancías.

    Tipo de Dato Ocurrencia Opciones Ejemplo
    enum Requerido Se muestran en el catálogo de Contenedor Maritimo del SAT. Se utiliza la Clave CM006


    numeroPrecinto Campo opcional para registrar el número de sello o precinto de los contenedores marítimos que son utilizados para transportar los bienes o mercancías.

    Tipo de Dato Ocurrencia  Ejemplo
    int Opcional  5398745


    TransporteAereo

    Sección condicional para registrar la información que permita la identificación del transporte aéreo por medio del cual se trasladan los bienes o mercancías.

    permisoSct Campo requerido para registrar la clave del catálogo c_TipoPermiso, publicado en el portal del SAT, del tipo de permiso proporcionado por la SCT o la autoridad análoga, para el transporte de bienes o mercancías vía aérea.

    Tipo de Dato Ocurrencia Opciones Ejemplo
    enum Requerido Se muestran en el catálogo de Tipo Permiso del SAT. Se utiliza la Clave TPTA02


    numeroPermisoSct Campo requerido para registrar el número de permiso o algún valor análogo proporcionado por la SCT o la autoridad análoga, para el transporte de bienes o mercancías vía aérea.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido  00Z00X00Z00X00Z00ZX1


    matriculaAeronave Campo opcional para registrar el número de matrícula de la aeronave que opera en territorio nacional y que se compone de valores alfanuméricos más el carácter especial de guion medio (-), con una longitud de hasta 10 posiciones.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  11-MEX


    nombreAseguradora Campo opcional para registrar el nombre de la aseguradora que cubre los riesgos del medio que transporta los bienes o mercancías.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  La Villa Esp0 S A de C V


    numeroPolizaSeguro Campo opcional para registrar el número de póliza asignado por la aseguradora para la protección e indemnización por responsabilidad civil de la aeronave que transporta los bienes o mercancías.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  ERE-538-TR:3249


    numeroGuia Campo requerido para registrar el número de guía aérea con el que se trasladan los bienes o mercancías.

    Tipo de Dato Ocurrencia  Ejemplo
    int Requerido  803117555500


    lugarContrato Campo opcional para registrar el lugar, entidad, región, localidad o análoga, donde se celebró el contrato para el traslado de los bienes o mercancías.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  MEX


    codigoTransportista Campo requerido para registrar la clave del catálogo del complemento Carta Porte, c_CodigoTransporteAereo, publicado en el portal del SAT, del código que tiene asignado el transportista.

    Tipo de Dato Ocurrencia Opciones Ejemplo
    enum Requerido Se muestran en el catálogo Código Transporte Aereo del SAT. Se utiliza la Clave CA001


    rfcEmbarcador Campo opcional para registrar el RFC del embarcador de los bienes o mercancías que se trasladan y debe estar en la lista de contribuyentes inscritos no cancelados del SAT (l_RFC).

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  COR391215F4A


    numeroRegistroIdTributarioEmbarcador Campo condicional para registrar el número de identificación o registro fiscal del país de residencia para los efectos fiscales del embarcador de los bienes o mercancías que se trasladan, cuando sea residente en el extranjero.

    Tipo de Dato Ocurrencia  Ejemplo
    int Condicional  12423212232


    residenciaFiscalEmbarcador Campo condicional para registrar la clave del país de residencia para efectos fiscales del embarcador, conforme a los disponibles en el catálogo c_Pais publicado en el portal del SAT.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Condicional Se muestra en el catálogo de Países del SAT. Se utiliza la Clave  CAN


    nombreEmbarcador Campo opcional para registrar el nombre del embarcador de los bienes o mercancías que se trasladan, ya sea nacional o extranjero.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  Rafaeli Camposorio Ruízo


    TransporteFerroviario

    Sección condicional para registrar la información que permita la identificación del carro o contenedor en el que se transportan los bienes o mercancías, vía férrea.

    tipoDeServicio Campo requerido para registrar la clave del tipo de servicio del catálogo c_TipoDeServicio publicado en el portal del SAT, proporcionado para el traslado de los bienes o mercancías vía férrea.

    Tipo de Dato Ocurrencia Opciones Ejemplo
    enum Requerido Se muestran en el catálogo Tipo Servicio del SAT. Se utiliza la Clave TS01


    nombreAseguradora Campo opcional para registra el nombre de la aseguradora que cubre los riesgos para el traslado de los bienes o mercancías vía férrea.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  La Villa Esp0 S A de C V


    numeroPolizaSeguro Campo opcional para registrar el número de póliza asignado por la aseguradora para la protección e indemnización por responsabilidad civil para el traslado de los bienes o mercancías vía férrea.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  3685-T56-499TRE-855


    concesionario Campo condicional para registrar la clave del RFC del concesionario o asignatario del transporte, siempre que el traslado de la mercancía se efectúe por un concesionario diferente al emisor del comprobante.

    Tipo de Dato Ocurrencia  Ejemplo
    string Opcional  IVD920810GU2


    DerechosDePaso

    Sección opcional para registrar los tipos de derechos de paso cubiertos por el transportista en las vías férreas de las cuales no es concesionario o asignatario, así como la distancia establecida en kilómetros.

    tipoDerechoDePaso Campo requerido para registrar la clave del derecho de paso del catálogo c_DerechosDePaso publicado en el portal del SAT, pagado por el transportista en las vías férreas de las cuales no es concesionario o asignatario.

    Tipo de Dato Ocurrencia Opciones Ejemplo
    enum Requerido Se muestran en el catálogo Derecho de Paso del SAT. Se utiliza la Clave CDP001


    kilometrajePagado Campo requerido para registrar el total de kilómetros pagados por el transportista en las vías férreas de las cuales no es concesionario o asignatario con el derecho de paso.

    Tipo de Dato Ocurrencia  Ejemplo
    float Requerido  154863.05


    Carro

    Sección requerida para registrar la información que permite identificar los carros en los que se trasladan los bienes o mercancías vía férrea.

    tipoCarro Campo requerido para registrar la clave del tipo de carro del catálogo c_TipoCarro publicado en el portal del SAT, utilizado para el traslado de los bienes o mercancías vía férrea.

    Tipo de Dato Ocurrencia Opciones Ejemplo
    enum Requerido Se muestran en el catálogo Tipo Carro del SAT. Se utiliza la Clave TC01


    matriculaCarro Campo requerido para registrar el número de contenedor, carro de ferrocarril o número económico del vehículo en el que se trasladan los bienes o mercancías vía férrea.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido  501-11-854


    guiaCarro Campo requerido para registrar el número de guía asignado al contenedor, carro de ferrocarril o vehículo en el que se trasladan los bienes o mercancías vía férrea.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido  123456789012345


    toneladasNetasCarro Campo requerido para registrar la cantidad de las toneladas netas contenidas en el contenedor, carro de ferrocarril o vehículo en el que se trasladan los bienes o mercancías vía férrea.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido  2.023


    Contenedor

    Sección opcional para registrar el tipo de contenedor o vagón en el que se trasladan los bienes o mercancías vía férrea.

    tipoContenedor Campo requerido para registrar la clave del catálogo c_Contenedor publicado en el portal del SAT, con las que se identifica el tipo de contenedor o vagón en el que se traslada los bienes o mercancías.

    Tipo de Dato Ocurrencia Opciones Ejemplo
    enum Requerido Se muestran en el catálogo Carro Contenedor del SAT. Se utiliza la Clave TC01


    pesoContenedorVacio Campo requerido para registrar el peso en kilogramos del contenedor vacío en el que se trasladan los bienes o mercancías.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido  1.023


    pesoNetoMercancia Campo requerido para registrar el peso neto en kilogramos de los bienes o mercancías que trasladan en el contenedor.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido  2.023

    Figuras de Transporte

    Complemento Carta Porte [requerido]

    {
      "CFDi":{
        ...
    
        ...
        "Complementos":{
          "CartaPorte": {
            ...
            "FiguraTransporte": [
              {
                "tipoFigura": "01",
                "numeroLicencia": "000004",
                "rfcFigura": "CUMP391215F4A",
                "nombreFigura": " Pancrasio Chug Morris",
                "Domicilio": {
                    "calle": "5 DE MAYO",
                    "noExterior": "54",
                    "colonia": "0041",
                    "localidad": "02",
                    "referencia": "CERCA DEL FRACC. 5",
                    "municipio": "002",
                    "estado": "BCN",
                    "pais": "MEX",
                    "cp": "21130"
                }
              },
              {
                "tipoFigura": "02",
                "numeroRegistroIdTributarioFigura": "123456789",
                "residenciaFiscalFigura" : "USA",
                "nombreFigura": "Pancrasio Chug Morris.",
                "PartesTransporte" : [
                    {
                        "parteTransporte" : "PT01"
                    },
                    {
                        "parteTransporte" : "PT02"
                    }
                ]
              }
            ]
            }
          }
        }
        ...
      }
    }
    
    

    FiguraTransporte
    Sección condicional para ingresar la información correspondiente a los operadores del transporte, así como de aquellos contribuyentes relacionados con el medio de transporte utilizado para el traslado de los bienes y/o mercancías en territorio nacional, como Propietario o Arrendador de dicho medio, cuando el emisor del CFDI es distinto a las personas antes indicadas.

    tipoFigura Campo requerido para registra la clave de la figura de transporte conforme a los disponibles en el catálogo c_FiguraTransporte del SAT.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Requerido Se muestra en el cátalogo de Figura de Transporte del SAT. Se utiliza la Clave  01


    rfcFigura Campo condicional para registrar la clave en el RFC de la figura de transporte que interviene en el traslado de bienes y/o mercancías.

    Tipo de Dato Ocurrencia  Ejemplo
    string Condicional CUMP391215F4A


    numeroLicencia Campo condicional para registrar el número de la licencia de conducir o permiso otorgado al operador de la unidad en la que se está realizando el traslado de bienes y/o mercancías vía autotransporte.

    Tipo de Dato Ocurrencia  Ejemplo
    string Condicional 000004


    nombreFigura Campo requerido para registrar el nombre de la figura de transporte que interviene en el traslado de bienes y/o mercancías.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido Pancrasio Chug Morris


    numeroRegistroIdTributarioFigura Campo condicional para registrar el número de identificación fiscal que corresponde al tipo de la figura de transporte.

    Tipo de Dato Ocurrencia  Ejemplo
    string Condicional 121585958


    residenciaFiscalFigura Campo condicional para registrar la clave del país que corresponde al tipo de figura de transporte conforme a los disponibles en el catálogo c_Pais del SAT.

    Tipo de Dato Ocurrencia  Opciones Ejemplo
    enum Condicional Se muestra en el catálogo de Países del SAT. Se utiliza la Clave  USA


    PartesTransporte
    Sección condicional para registrar la información correspondiente a las partes del transporte con las que se realizará el traslado de bienes y/o mercancías, y que no sean propiedad del emisor del CFDI con complemento Carta Porte.


    parteTransporte Campo requerido para registrar la clave que pertenece al transporte o la parte de transporte que no es propiedad del emisor del comprobante y que se encuentra en el catálogo c_ParteTransporte del complemento Carta Porte, publicado en el Portal del SAT.

    Tipo de Dato Ocurrencia  Ejemplo
    string Requerido PT01


    Domicilio

    Sección opcional para registrar la información del domicilio del operador del autotransporte de carga federal en el que se trasladan los bienes o mercancías.

    Ejemplo Autotransporte

    Cuando se requiera enviar la información que permita la identificación del autotransporte de carga federal por medio del cual se transportan los bienes o mercancías que transitan a través de las carreteras federales del territorio nacional puedes utilizar alguno de los siguientes ejemplos:

    Comprobante de ingresos para autotransporte - Request:

    {
      "CFDi": {
        "modo": "produccion",
        "versionEF": "6.0",
        "serie": "FA",
        "folioInterno": 1,
        "fechaEmision": "2021-11-22 16:36:30",
        "subTotal": "25000.00",
        "total": "28000.00",
        "tipoMoneda": "MXN",
        "rfc": "AAA010101AAA",
        "Receptor": {
          "rfc": "XAXX010101000",
          "nombre": "Receptor S.A. de C.V.",
          "usoCfdi": "G03"
        },
        "Partidas": [
          {
            "cantidad": "1",
            "claveUnidad": "E48",
            "claveProdServ": "78101802",
            "descripcion": "Servicio de traslado de 5 refrigeradores de mostrador vía autotransporte",
            "valorUnitario": "25000.00",
            "importe": "25000.00",
            "Impuestos": [
              {
                "tipo": "traslado",
                "claveImpuesto": "IVA",
                "tipoFactor": "tasa",
                "baseImpuesto": "25000.00",
                "tasaOCuota": "0.160000",
                "importe": "4000.00"
              },
              {
                "tipo": "retencion",
                "claveImpuesto": "IVA",
                "tipoFactor": "tasa",
                "baseImpuesto": "25000.00",
                "tasaOCuota": "0.040000",
                "importe": "1000.00"
              }
            ]
          }
        ],
        "Impuestos": {
          "Totales": {
            "retenciones": "1000.00",
            "traslados": "4000.00"
          },
          "Impuestos": [
            {
              "tipo": "traslado",
              "claveImpuesto": "IVA",
              "tipoFactor": "tasa",
              "tasaOCuota": "0.160000",
              "importe": "4000.00"
            },
            {
              "tipo": "retencion",
              "claveImpuesto": "IVA",
              "tipoFactor": "tasa",
              "tasaOCuota": "0.040000",
              "importe": "1000.00"
            }
          ]
        },
        "DatosDePago": {
          "metodoDePago": "PUE",
          "formaDePago": "03"
        },
        "Complementos": {
          "CartaPorte": {
            "transporteInternacional": "No",
            "totalDistanciaRecorrida": "999.05",
            "Ubicaciones": [
              {
                "tipoUbicacion": "Origen",
                "rfcRemitenteDestinatario": "FIMA420127R44",
                "nombreRemitenteDestinatario": "Alejandro Filomeno Mata",
                "fechaHoraSalidaLlegada": "2021-10-01 11:49:48",
                "Domicilio": {
                  "calle": "Avenida Reforma Norte",
                  "noExterior": "22",
                  "noInterior": "33",
                  "colonia": "0069",
                  "localidad": "01",
                  "municipio": "001",
                  "estado": "AGU",
                  "pais": "MEX",
                  "cp": "20115"
                }
              },
              {
                "tipoUbicacion": "Destino",
                "rfcRemitenteDestinatario": "COR391215F4A",
                "nombreRemitenteDestinatario": "Cori S. A. de C. V.",
                "fechaHoraSalidaLlegada": "2021-10-01 11:49:48",
                "distanciaRecorrida": "999.05",
                "Domicilio": {
                  "calle": "Álvaro Obregón",
                  "noExterior": "22",
                  "noInterior": "33",
                  "colonia": "0069",
                  "localidad": "01",
                  "municipio": "001",
                  "estado": "AGU",
                  "pais": "MEX",
                  "cp": "20115"
                }
              }
            ],
            "Mercancias": {
              "pesoBrutoTotal": "715.00",
              "unidadPeso": "X1A",
              "Mercancia": [
                {
                  "bienesTransportados": "24131510",
                  "descripcion": "Refrigeradores de mostrador de 2 puertas",
                  "cantidad": "10",
                  "claveUnidad": "H87",
                  "materialPeligroso" : "No",
                  "dimensiones" : "59/40/36plg",
                  "pesoEnKg": "715.00",
                  "valorMercancia": "15844.360000",
                  "moneda": "MXN"
                }
              ],
              "Autotransporte": {
                "permisoSct": "TPAF01",
                "numeroPermisoSct": "0X2XTXZ0X5X0X3X2X1X0",
                "IdentificacionVehicular": {
                  "configuracionVehicular": "C2R2",
                  "placaVehicular": "501AA7",
                  "anioModeloVehicular": "2000",
                  "pesoBrutoVehicular": "1234567"
                },
                "Seguros": {
                  "aseguraRespCivil": "La Villa Esp S A de C V",
                  "polizaRespCivil": "368549"
                },
                "Remolques": [
                  {
                    "subTipoRemolque": "CTR004",
                    "placa": "501AB8"
                  },
                  {
                    "subTipoRemolque": "CTR004",
                    "placa": "501AB9"
                  }
                ]
              }
            },
            "FiguraTransporte": [
              {
                "tipoFigura": "01",
                "numeroLicencia": "000004",
                "rfcFigura": "CUMP391215F4A",
                "nombreFigura": " Pancrasio Chug Morris",
                "Domicilio": {
                    "calle": "5 DE MAYO",
                    "noExterior": "54",
                    "colonia": "0041",
                    "localidad": "02",
                    "referencia": "CERCA DEL FRACC. 5",
                    "municipio": "002",
                    "estado": "BCN",
                    "pais": "MEX",
                    "cp": "21130"
                }
              }
            ]
          }
        }
      }
    }
    

    Comprobante de traslado para autotransporte - Request:

    {
      "CFDi": {
        "modo": "produccion",
        "versionEF": "6.0",
        "serie": "CP",
        "folioInterno": 1,
        "fechaEmision": "2021-08-03 08:48:07",
        "subTotal": "0",
        "total": "0",
        "tipoMoneda": "XXX",
        "rfc": "AAA010101AAA",
        "Receptor": {
          "rfc": "AAA010101AAA",
          "nombre": "Demo S.A. de C.V.",
          "usoCfdi": "P01"
        },
        "Partidas": [
          {
            "cantidad": "1",
            "claveUnidad": "H87",
            "claveProdServ": "24131510",
            "descripcion": "Refrigerador de mostrador",
            "valorUnitario": "0.00",
            "importe": "0.00"
          }
        ],
        "Complementos": {
          "CartaPorte": {
            "transporteInternacional": "No",
            "totalDistanciaRecorrida": "919.7",
            "Ubicaciones": [
              {
                "tipoUbicacion": "Origen",
                "rfcRemitenteDestinatario": "FIMA420127R44",
                "nombreRemitenteDestinatario": "Alejandro Filomeno Mata",
                "fechaHoraSalidaLlegada": "2020-12-02 12:30:00",
                "Domicilio": {
                  "calle": "Avenida Reforma Norte",
                  "noExterior": "22",
                  "noInterior": "33",
                  "colonia": "0900",
                  "localidad": "06",
                  "referencia": "Frente al parque de Santa Ursula",
                  "municipio": "015",
                  "estado": "DIF",
                  "pais": "MEX",
                  "cp": "06300"
                }
              },
              {
                "tipoUbicacion": "Destino",
                "rfcRemitenteDestinatario": "COR391215F4A",
                "nombreRemitenteDestinatario": "Cori S. A. de C. V.",
                "fechaHoraSalidaLlegada": "2020-12-04 12:30:00",
                "distanciaRecorrida": "919.7",
                "Domicilio": {
                  "calle": "ALVARO OBREGÓN",
                  "noExterior": "33",
                  "noInterior": "22",
                  "colonia": "0042",
                  "localidad": "02",
                  "referencia": "Mercado 1ro Mayo",
                  "municipio": "002",
                  "estado": "BCN",
                  "pais": "MEX",
                  "cp": "21130"
                }
              }
            ],
            "Mercancias": {
              "pesoBrutoTotal": "12543.00",
              "unidadPeso": "KGM",
              "Mercancia": [
                {
                  "bienesTransportados": "24131510",
                  "descripcion": "Refrigeradores de mostrador de 2 puertas",
                  "cantidad": "10",
                  "claveUnidad": "H87",
                  "materialPeligroso" : "No",
                  "dimensiones" : "59/40/36plg",
                  "pesoEnKg": "12543.00",
                  "valorMercancia": " 0.00",
                  "moneda": "MXN"
                }
              ],
              "Autotransporte": {
                "permisoSct": "TPAF01",
                "numeroPermisoSct": "0X2XTXZ0X5X0X3X2X1X0",
                "IdentificacionVehicular": {
                  "configuracionVehicular": "T3S1R2",
                  "placaVehicular": "501SS8",
                  "anioModeloVehicular": "2015",
                  "pesoBrutoVehicular": "1234567"
                },
                "Seguros": {
                  "aseguraRespCivil": "PFG Seguros S.A. de C.V.",
                  "polizaRespCivil": "154647"
                },
                "Remolques": [
                  {
                    "subTipoRemolque": "CTR004",
                    "placa": "601AA9"
                  }
                ]
              }
            },
            "FiguraTransporte": [
              {
                "tipoFigura": "01",
                "rfcFigura": "CUMP391215F4A",
                "numeroLicencia": "000004",
                "nombreFigura": "Pancrasio Chug Morris.",
                "Domicilio": {
                  "calle": "5 DE MAYO",
                  "noExterior": "54",
                  "colonia": "0041",
                  "localidad": "02",
                  "referencia": "CERCA DEL FRACC. 5",
                  "municipio": "002",
                  "estado": "BCN",
                  "pais": "MEX",
                  "cp": "21130"
                }
              }
            ]
          }
        }
      }
    }
    

    Comprobante de ingreso

    Si te dedicas al traslado de bienes o mercancías vía terrestre debes emitir un CFDI de tipo Ingreso con complemento Carta Porte para amparar el cobro por el servicio que estás prestando, así como el traslado en territorio nacional

    Comprobante de traslado

    Si eres la o el propietario de los bienes o mercancías o actúas como intermediario o agente de transporte y necesitas trasladar mercancías vía terrestre, emite un CFDI de tipo Traslado con complemento Carta Porte para amparar el traslado por territorio nacional.

    Ejemplo Marítimo

    Cuando se requiera enviar la información que permita la identificación de la embarcación por medio del cual se transportan los bienes o mercancías vía marítima puedes utilizar alguno de los siguientes ejemplos:

    Comprobante de ingresos para transporte marítimo - Request:

    {
        "CFDi": {
            "modo": "produccion",
            "versionEF": "6.0",
            "serie": "FA",
            "folioInterno": 1,
            "fechaEmision": "2021-11-22 16:36:30",
            "subTotal": "25000.00",
            "total": "29000.00",
            "tipoMoneda": "MXN",
            "rfc": "AAA010101AAA",
            "Receptor": {
                "rfc": "XAXX010101000",
                "nombre": "Receptor S.A. de C.V.",
                "usoCfdi": "G03"
            },
            "Partidas": [
                {
                    "cantidad": "1",
                    "claveUnidad": "E48",
                    "claveProdServ": "78101701",
                    "descripcion": "Servicio de traslado de 3 minivans rojas, vía marítima",
                    "valorUnitario": "25000.00",
                    "importe": "25000.00",
                    "Impuestos": [
                        {
                            "tipo": "traslado",
                            "claveImpuesto": "IVA",
                            "tipoFactor": "tasa",
                            "baseImpuesto": "25000.00",
                            "tasaOCuota": "0.160000",
                            "importe": "4000.00"
                        }
                    ]
                }
            ],
            "Impuestos": {
                "Totales": {"traslados": "4000.00"},
                "Impuestos": [
                    {
                        "tipo": "traslado",
                        "claveImpuesto": "IVA",
                        "tipoFactor": "tasa",
                        "tasaOCuota": "0.160000",
                        "importe": "4000.00"
                    }
                ]
            },
            "DatosDePago": {
                "metodoDePago": "PUE",slate
                "formaDePago": "03"
            },
            "Complementos": {
                "CartaPorte": {
                    "version": "3.1",
                    "idCCP": "CCCFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF",
                    "transporteInternacional": "No",
                    "Ubicaciones": [
                        {
                            "tipoUbicacion": "Origen",
                            "idUbicacion": "OR000123",
                            "rfcRemitenteDestinatario": "FIMA420127R44",
                            "nombreRemitenteDestinatario": "Alejandro Filomeno Mata",
                            "numeroEstacion": "PM019",
                            "nombreEstacion": "Puerto Escondido",
                            "navegacionTrafico": "Altura",
                            "fechaHoraSalidaLlegada": "2021-10-01 11:49:48",
                            "tipoEstacion": "01",
                            "Domicilio": {
                                "calle": "Las tortugas",
                                "noExterior": "102",
                                "noInterior": "2",
                                "colonia": "3214",
                                "localidad": "08",
                                "referencia": "15.853640, -97.062535",
                                "municipio": "318",
                                "estado": "OAX",
                                "pais": "MEX",
                                "cp": "71983"
                            }
                        },
                        {
                            "tipoUbicacion": "Destino",
                            "idUbicacion": "DE000456",
                            "rfcRemitenteDestinatario": "COR391215F4A",
                            "nombreRemitenteDestinatario": "Cori S. A. de C. V.",
                            "numeroEstacion": "PM054",
                            "nombreEstacion": "Puerto Escondido",
                            "navegacionTrafico": "Altura",
                            "fechaHoraSalidaLlegada": "2021-10-01 11:49:48",
                            "tipoEstacion": "03",
                            "Domicilio": {
                                "calle": "Flamingos",
                                "noExterior": "28",
                                "noInterior": "1",
                                "colonia": "2516",
                                "localidad": "06",
                                "referencia": "20.655617, -105.240738",
                                "municipio": "067",
                                "estado": "JAL",
                                "pais": "MEX",
                                "cp": "48333"
                            }
                        }
                    ],
                    "Mercancias": {
                        "pesoBrutoTotal": "16200.00",
                        "unidadPeso": "KGM",
                        "pesoNetoTotal": "200.00",
                        "Mercancia": [
                            {
                                "bienesTransportados": "25101505",
                                "descripcion": "Minivan roja",
                                "cantidad": "3",
                                "claveUnidad": "XVN",
                                "pesoEnKg": "16200",
                                "valorMercancia": "900000.00",
                                "moneda": "MXN",
                                "DetalleMercancia": {
                                    "unidadPesoMercancia": "KGM",
                                    "pesoBruto": "16200",
                                    "pesoNeto": "200",
                                    "pesoTara": "16000",
                                    "numeroPiezas": "3"
                                }
                            }
                        ],
                        "TransporteMaritimo": {
                            "permSCT": "TPTM01",
                            "numeroPermisoSct": "0X2XTXZ0X5X0X3X2X1X0",
                            "nombreAseguradora": "La VillaIOS S. A. de C. V.",
                            "numeroPolizaSeguro": "154647",
                            "tipoEmbarcacion": "B07",
                            "matricula": "501AA81",
                            "numeroOmi": "IMO8657481",
                            "anioEmbarcacion": "2000",
                            "nombreEmbarcacion": "Bubba Gump",
                            "nacionalidadEmbarcacion": "MEX",
                            "unidadesDeArqueoBruto": "200.023",
                            "tipoCarga": "CGC",
                            "numeroCertificadoItc": "00X00X00X85",
                            "eslora": "190.05",
                            "manga": "48.24",
                            "calado": "15.66",
                            "lineaNaviera": "Transportadora Bubba-Gump",
                            "nombreAgenteNaviero": " Agencia de Agente S.A. de C.V.",
                            "numeroAutorizacionNaviero": "ANG051/2023",
                            "numeroViaje": "65248",
                            "numeroConocimientoEmbarque": "84595",
                            "permisoTempNavegacion": "1234567890123456789",
                            "Contenedor": [
                                {
                                    "tipoContenedor": "CM011",
                                    "matriculaContenedor": "ABC12345678",
                                    "idCCPRelacionado": "CCCFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF",
                                    "placaVMCCP": "JKG6552",
                                    "fechaCertificacionCCP": "2021-10-01 11:49:48"
                                }
                            ],
                            "Remolques": [
                                {
                                    "subTipoRemolque": "CTR001",
                                    "placa": "JKG6552"
                                },
                                {
                                    "subTipoRemolque": "CTR002",
                                    "placa": "JKG6553"
                                }
                            ]
                        }
                    },
                    "FiguraTransporte": [
                        {
                            "tipoFigura": "04",
                            "rfcFigura": "CUMP391215F4A",
                            "nombreFigura": "Pancrasio Chug Morris",
                            "Domicilio": {
                                "calle": "5 DE MAYO",
                                "noExterior": "54",
                                "colonia": "0041",
                                "localidad": "02",
                                "referencia": "CERCA DEL FRACC. 5",
                                "municipio": "002",
                                "estado": "BCN",
                                "pais": "MEX",
                                "cp": "21130"
                            }
                        }
                    ]
                }
            }
        }
    }
    

    Comprobante de traslado para transporte marítimo - Request:

    {
      "CFDi": {
        "modo": "produccion",
        "versionEF": "6.0",
        "serie": "CP",
        "folioInterno": 1,
        "fechaEmision": "2021-11-23 08:48:07",
        "subTotal": "0",
        "total": "0",
        "tipoMoneda": "XXX",
        "rfc": "AAA010101AAA",
        "Receptor": {
          "rfc": "AAA010101AAA",
          "nombre": "Demo S.A. de C.V.",
          "usoCfdi": "P01"
        },
        "Partidas": [
          {
            "cantidad": "1",
            "claveUnidad": "XVN",
            "claveProdServ": "25101505",
            "descripcion": "Minivans rojas",
            "valorUnitario": "0.00",
            "importe": "0.00"
          }
        ],
        "Complementos": {
          "CartaPorte": {
            "transporteInternacional": "No",
            "totalDistanciaRecorrida": "999.05",
            "Ubicaciones": [
              {
                "tipoUbicacion": "Origen",
                "idUbicacion": "OR000123",
                "rfcRemitenteDestinatario": "FIMA420127R44",
                "nombreRemitenteDestinatario": "Alejandro Filomeno Mata",
                "numeroEstacion": "PM019",
                "nombreEstacion": "Puerto Escondido",
                "navegacionTrafico" : "Altura",
                "fechaHoraSalidaLlegada": "2021-10-01 11:49:48",
                "tipoEstacion" : "01",
                "Domicilio": {
                  "calle": "Las tortugas",
                  "noExterior": "102",
                  "noInterior": "2",
                  "colonia": "3214",
                  "localidad": "08",
                  "referencia": "15.853640, -97.062535",
                  "municipio": "318",
                  "estado": "OAX",
                  "pais": "MEX",
                  "cp": "71983"
                }
              },
              {
                "tipoUbicacion": "Destino",
                "idUbicacion": "DE000456",
                "rfcRemitenteDestinatario": "COR391215F4A",
                "nombreRemitenteDestinatario": "Cori S. A. de C. V.",
                "numeroEstacion": "PM054",
                "nombreEstacion": "Puerto Escondido",
                "navegacionTrafico" : "Altura",
                "fechaHoraSalidaLlegada": "2021-10-01 11:49:48",
                "tipoEstacion" : "03",
                "Domicilio": {
                  "calle": "Flamingos",
                  "noExterior": "28",
                  "noInterior": "1",
                  "colonia": "2516",
                  "localidad": "06",
                  "referencia": "20.655617, -105.240738",
                  "municipio": "067",
                  "estado": "JAL",
                  "pais": "MEX",
                  "cp": "48333"
                }
              }
            ],
            "Mercancias": {
              "pesoBrutoTotal": "16200.00",
              "unidadPeso": "KGM",
              "pesoNetoTotal" : "200.00",
              "Mercancia": [
                {
                  "bienesTransportados": "25101505",
                  "descripcion": "Minivan roja",
                  "cantidad": "3",
                  "claveUnidad": "XVN",
                  "pesoEnKg": "16200",
                  "valorMercancia": "900000.00",
                  "moneda": "MXN",
                  "DetalleMercancia": {
                    "unidadPesoMercancia": "KGM",
                    "pesoBruto": "16200",
                    "pesoNeto": "200",
                    "pesoTara": "16000",
                    "numeroPiezas": "3"
                  }
                }
              ],
              "TransporteMaritimo": {
                "permSCT": "TPTM01",
                "numeroPermisoSct": "0X2XTXZ0X5X0X3X2X1X0",
                "nombreAseguradora": "La VillaIOS S. A. de C. V.",
                "numeroPolizaSeguro": "154647",
                "tipoEmbarcacion": "B07",
                "matricula": "501AA81",
                "numeroOmi": "IMO8657481",
                "anioEmbarcacion": "2000",
                "nombreEmbarcacion": "Bubba Gump",
                "nacionalidadEmbarcacion": "MEX",
                "unidadesDeArqueoBruto": "200.023",
                "tipoCarga": "CGC",
                "numeroCertificadoItc": "00X00X00X85",
                "eslora": "190.05",
                "manga": "48.24",
                "calado": "15.66",
                "lineaNaviera": "Transportadora Bubba-Gump",
                "nombreAgenteNaviero": " Agencia de Agente S.A. de C.V.",
                "numeroAutorizacionNaviero": "SCT418/014/2017",
                "numeroViaje": "65248",
                "numeroConocimientoEmbarque": "84595",
                "permisoTempNavegacion": "1234567890123456789",
                "Contenedor": [
                  {
                    "matriculaContenedor": "TRL00000001",
                    "tipoContenedor": "CM006",
                    "numeroPrecinto": "5398745"
                  }
                ]
              }
            },
            "FiguraTransporte": [
              {
                "tipoFigura": "04",
                "rfcFigura": "CUMP391215F4A",
                "nombreFigura": "Pancrasio Chug Morris",
                "Domicilio": {
                    "calle": "Álvaro Obregón",
                    "noExterior": "22",
                    "noInterior": "33",
                    "colonia": "0069",
                    "localidad": "01",
                    "referencia": "Frente a Jardín de San Marcos",
                    "municipio": "001",
                    "estado": "AGU",
                    "pais": "MEX",
                    "cp": "20115"
                }
              }
            ]
          }
        }
      }
    }
    

    Comprobante de ingreso

    Si te dedicas al traslado de bienes o mercancías vía marítima debes emitir un CFDI de tipo Ingreso con complemento Carta Porte para amparar el cobro por el servicio que estás prestando, así como el traslado en territorio nacional

    Comprobante de traslado

    Si eres la o el propietario de los bienes o mercancías o actúas como intermediario o agente de transporte y necesitas trasladar mercancías vía marítima, emite un CFDI de tipo Traslado con complemento Carta Porte para amparar el traslado por territorio nacional.

    Ejemplo Aéreo

    Cuando se requiera enviar la información que permita la identificación del transporte aéreo por medio del cual se trasladan los bienes o mercancías puedes utilizar alguno de los siguientes ejemplos:

    Comprobante de ingresos para transporte aéreo - Request:

    {
      "CFDi": {
        "modo": "produccion",
        "versionEF": "6.0",
        "serie": "FA",
        "folioInterno": 1,
        "fechaEmision": "2021-11-22 16:36:30",
        "subTotal": "25000.00",
        "total": "29000.00",
        "tipoMoneda": "MXN",
        "rfc": "AAA010101AAA",
        "Receptor": {
          "rfc": "XAXX010101000",
          "nombre": "Receptor S.A. de C.V.",
          "usoCfdi": "G03"
        },
        "Partidas": [
          {
            "cantidad": "1",
            "claveUnidad": "E48",
            "claveProdServ": "78101501",
            "descripcion": "Servicio de traslado de carne procesada",
            "valorUnitario": "25000.00",
            "importe": "25000.00",
            "Impuestos": [
              {
                "tipo": "traslado",
                "claveImpuesto": "IVA",
                "tipoFactor": "tasa",
                "baseImpuesto": "25000.00",
                "tasaOCuota": "0.160000",
                "importe": "4000.00"
              }
            ]
          }
        ],
        "Impuestos": {
          "Totales": {
            "traslados": "4000.00"
          },
          "Impuestos": [
            {
              "tipo": "traslado",
              "claveImpuesto": "IVA",
              "tipoFactor": "tasa",
              "tasaOCuota": "0.160000",
              "importe": "4000.00"
            }
          ]
        },
        "DatosDePago": {
          "metodoDePago": "PUE",
          "formaDePago": "03"
        },
        "Complementos": {
          "CartaPorte": {
            "transporteInternacional": "Sí",
            "entradaSalidaMercancias": "Entrada",
            "paisOrigenDestino": "USA",
            "viaEntradaSalida" : "03",
            "Ubicaciones": [
              {
                "tipoUbicacion": "Origen",
                "idUbicacion": "OR000123",
                "rfcRemitenteDestinatario": "FIMA420127R44",
                "nombreRemitenteDestinatario": "Alejandro Filomeno Mata",
                "numeroEstacion": "EA1049",
                "nombreEstacion": "Cancún",
                "fechaHoraSalidaLlegada": "2021-10-01 11:49:48",
                "tipoEstacion" : "01",
                "Domicilio": {
                  "calle": "Cancun - Chetumal",
                  "noExterior": "22",
                  "noInterior": "5",
                  "colonia": "0272",
                  "localidad": "01",
                  "referencia": "15.853640, -97.062535",
                  "municipio": "005",
                  "estado": "ROO",
                  "pais": "MEX",
                  "cp": "77569"
                }
              },
              {
                "tipoUbicacion": "Destino",
                "idUbicacion": "DE000456",
                "rfcRemitenteDestinatario": "COR391215F4A",
                "nombreRemitenteDestinatario": "Cori S. A. de C. V.",
                "numeroEstacion": "EA1050",
                "nombreEstacion": "Nogales",
                "fechaHoraSalidaLlegada": "2021-10-01 11:49:48",
                "tipoEstacion" : "01",
                "Domicilio": {
                  "calle": "Center Street",
                  "noExterior": "15",
                  "noInterior": "89",
                  "colonia": "San Antonio",
                  "localidad": "San Antonio",
                  "referencia": "20.655617, -105.240738",
                  "municipio": "Condado Bexar",
                  "estado": "TX",
                  "pais": "USA",
                  "cp": "84000"
                }
              }
            ],
            "Mercancias": {
              "pesoBrutoTotal": "715.00",
              "unidadPeso": "KGM",
              "cargoPorTasacion" : 1421.32,
              "Mercancia": [
                {
                  "bienesTransportados": "50112000",
                  "descripcion": "Carnes procesadas",
                  "cantidad": "100",
                  "claveUnidad": "KGM",
                  "dimensiones" : "30/40/30plg",
                  "pesoEnKg": "715.00",
                  "valorMercancia": "50000.00",
                  "moneda": "MXN",
                  "fraccionArancelaria" : "8418699999",
                  "DocumentacionAduanera" : [
                    {
                        "tipoDocumento": "(02) Autorización de importación temporal",
                        "pedimento": "20  47  3807  8003832",
                        "identDocAduanero": "IMMEX-IM4132006",
                        "rfcImportador": "BACA880911EE6",
                    }
                  ]
                }
              ],
              "TransporteAereo": {
                "permisoSct": "TPTA01",
                "numeroPermisoSct": "0X2XTXZ0X5X0X3X2X1X0",
                "matriculaAeronave": "AA-MEX",
                "nombreAseguradora": "PFG Seguros S.A. de C.V.",
                "numeroPolizaSeguro": "154647",
                "numeroGuia": "803117555500",
                "lugarContrato": "MEX",
                "codigoTransportista": "CA149",
                "numeroRegistroIdTributarioEmbarcador": "23432432422",
                "residenciaFiscalEmbarcador": "USA",
                "nombreEmbarcador": "Rafaeli Camposorio Ruízo"
              }
            },
            "FiguraTransporte": [
              {
                "tipoFigura": "02",
                "rfcFigura": "CUMP391215F4A",
                "nombreFigura": "Pancrasio Chug Morris",
                "PartesTransporte" : [
                    {
                        "parteTransporte" : "PT08"
                    }
                ],
                "Domicilio": {
                    "calle": "Av. Prolongación",
                    "noExterior": "4055",
                    "noInterior": "5",
                    "colonia": "0008",
                    "localidad": "07",
                    "referencia": "Frente al parque de Santa Ursula",
                    "municipio": "030",
                    "estado": "SON",
                    "pais": "MEX",
                    "cp": "83010"
                }
              }
            ]
          }
        }
      }
    }
    

    Comprobante de traslado para transporte aéreo - Request:

    {
      "CFDi": {
        "modo": "produccion",
        "versionEF": "6.0",
        "serie": "CP",
        "folioInterno": 1,
        "fechaEmision": "2021-11-23 08:48:07",
        "subTotal": "0",
        "total": "0",
        "tipoMoneda": "XXX",
        "rfc": "AAA010101AAA",
        "Receptor": {
          "rfc": "AAA010101AAA",
          "nombre": "Demo S.A. de C.V.",
          "usoCfdi": "P01"
        },
        "Partidas": [
          {
            "cantidad": "1",
            "claveUnidad": "KGM",
            "claveProdServ": "50112000",
            "descripcion": "Carnes procesadas",
            "valorUnitario": "0.00",
            "importe": "0.00"
          }
        ],
        "Complementos": {
          "CartaPorte": {
            "transporteInternacional": "Sí",
            "entradaSalidaMercancias": "Entrada",
            "paisOrigenDestino": "USA",
            "viaEntradaSalida" : "03",
            "Ubicaciones": [
              {
                "tipoUbicacion": "Origen",
                "idUbicacion": "OR000123",
                "rfcRemitenteDestinatario": "FIMA420127R44",
                "nombreRemitenteDestinatario": "Alejandro Filomeno Mata",
                "numeroEstacion": "EA1049",
                "nombreEstacion": "Cancún",
                "fechaHoraSalidaLlegada": "2021-10-01 11:49:48",
                "tipoEstacion" : "01",
                "Domicilio": {
                  "calle": "Cancun - Chetumal",
                  "noExterior": "22",
                  "noInterior": "5",
                  "colonia": "0272",
                  "localidad": "01",
                  "referencia": "15.853640, -97.062535",
                  "municipio": "005",
                  "estado": "ROO",
                  "pais": "MEX",
                  "cp": "77569"
                }
              },
              {
                "tipoUbicacion": "Destino",
                "idUbicacion": "DE000456",
                "rfcRemitenteDestinatario": "COR391215F4A",
                "nombreRemitenteDestinatario": "Cori S. A. de C. V.",
                "numeroEstacion": "EA1050",
                "nombreEstacion": "Nogales",
                "fechaHoraSalidaLlegada": "2021-10-01 11:49:48",
                "tipoEstacion" : "01",
                "Domicilio": {
                  "calle": "Center Street",
                  "noExterior": "15",
                  "noInterior": "89",
                  "colonia": "San Antonio",
                  "localidad": "San Antonio",
                  "referencia": "20.655617, -105.240738",
                  "municipio": "Condado Bexar",
                  "estado": "TX",
                  "pais": "USA",
                  "cp": "84000"
                }
              }
            ],
            "Mercancias": {
              "pesoBrutoTotal": "715.00",
              "unidadPeso": "KGM",
              "cargoPorTasacion" : 1421.32,
              "Mercancia": [
                {
                  "bienesTransportados": "50112000",
                  "descripcion": "Carnes procesadas",
                  "cantidad": "100",
                  "claveUnidad": "KGM",
                  "dimensiones" : "30/40/30plg",
                  "pesoEnKg": "715.00",
                  "valorMercancia": "50000.00",
                  "moneda": "MXN",
                  "fraccionArancelaria" : "8418699999",
                  "DocumentacionAduanera" : [
                    {
                        "tipoDocumento": "(02) Autorización de importación temporal",
                        "pedimento": "20  47  3807  8003832",
                        "identDocAduanero": "IMMEX-IM4132006",
                        "rfcImportador": "BACA880911EE6",
                    }
                  ]
                }
              ],
              "TransporteAereo": {
                "permisoSct": "TPTA01",
                "numeroPermisoSct": "0X2XTXZ0X5X0X3X2X1X0",
                "matriculaAeronave": "AA-MEX",
                "nombreAseguradora": "PFG Seguros S.A. de C.V.",
                "numeroPolizaSeguro": "154647",
                "numeroGuia": "803117555500",
                "lugarContrato": "MEX",
                "codigoTransportista": "CA149",
                "numeroRegistroIdTributarioEmbarcador": "23432432422",
                "residenciaFiscalEmbarcador": "USA",
                "nombreEmbarcador": "Rafaeli Camposorio Ruízo"
              }
            },
            "FiguraTransporte": [
              {
                "tipoFigura": "02",
                "rfcFigura": "CUMP391215F4A",
                "nombreFigura": "Pancrasio Chug Morris",
                "PartesTransporte" : [
                    {
                        "parteTransporte" : "PT08"
                    }
                ],
                "Domicilio": {
                    "calle": "Av. Prolongación",
                    "noExterior": "4055",
                    "noInterior": "5",
                    "colonia": "0008",
                    "localidad": "07",
                    "referencia": "Frente al parque de Santa Ursula",
                    "municipio": "030",
                    "estado": "SON",
                    "pais": "MEX",
                    "cp": "83010"
                }
              }
            ]
          }
        }
      }
    }
    

    Comprobante de ingreso

    Si te dedicas al traslado de bienes o mercancías vía aérea debes emitir un CFDI de tipo Ingreso con complemento Carta Porte para amparar el cobro por el servicio que estás prestando, así como el traslado en territorio nacional

    Comprobante de traslado

    Si eres la o el propietario de los bienes o mercancías o actúas como intermediario o agente de transporte y necesitas trasladar mercancías vía aérea, emite un CFDI de tipo Traslado con complemento Carta Porte para amparar el traslado por territorio nacional.

    Ejemplo Ferroviario

    Cuando se requiera enviar la información que permita la identificación del carro o contenedor en el que se transportan los bienes o mercancías vía férrea puedes utilizar alguno de los siguientes ejemplos:

    Comprobante de ingresos para transporte ferroviario - Request:

    {"CFDi": {
        "modo": "produccion",
        "versionEF": "6.0",
        "serie": "APIFA",
        "folioInterno": 52,
        "fechaEmision": "2021-11-26 16:36:30",
        "subTotal": "25000.00",
        "total": "29000.00",
        "tipoMoneda": "MXN",
        "rfc": "AAA010101AAA",
        "Receptor": {
            "rfc": "XAXX010101000",
            "nombre": "Receptor S.A. de C.V.",
            "usoCfdi": "G03"
        },
        "Partidas": [{
            "cantidad": "1",
            "claveUnidad": "E48",
            "claveProdServ": "78101602",
            "descripcion": "Servicio de traslado de aserrín",
            "valorUnitario": "25000.00",
            "importe": "25000.00",
            "Impuestos": [{
                "tipo": "traslado",
                "claveImpuesto": "IVA",
                "tipoFactor": "tasa",
                "baseImpuesto": "25000.00",
                "tasaOCuota": "0.160000",
                "importe": "4000.00"
            }]
        }],
        "Impuestos": {
            "Totales": {"traslados": "4000.00"},
            "Impuestos": [{
                "tipo": "traslado",
                "claveImpuesto": "IVA",
                "tipoFactor": "tasa",
                "tasaOCuota": "0.160000",
                "importe": "4000.00"
            }]
        },
        "DatosDePago": {
            "metodoDePago": "PUE",
            "formaDePago": "03"
        },
        "Complementos": {"CartaPorte": {
            "transporteInternacional": "No",
            "totalDistanciaRecorrida": "12",
            "Ubicaciones": [
                {
                    "tipoUbicacion": "Origen",
                    "idUbicacion": "OR000001",
                    "rfcRemitenteDestinatario": "FIMA420127R44",
                    "nombreRemitenteDestinatario": "Alejandro Filomeno Mata",
                    "numeroEstacion": "Q0736",
                    "fechaHoraSalidaLlegada": "2020-12-02 12:30:00",
                    "tipoEstacion": "01",
                    "Domicilio": {
                        "calle": "Hidalgo",
                        "numeroExterior": "321",
                        "numeroInterior": "1",
                        "colonia": "0716",
                        "localidad": "06",
                        "referencia": "Frente a la tienda la zona",
                        "municipio": "025",
                        "estado": "COA",
                        "pais": "MEX",
                        "cp": "26000"
                    }
                },
                {
                    "tipoUbicacion": "Destino",
                    "idUbicacion": "DE000001",
                    "rfcRemitenteDestinatario": "COR391215F4A",
                    "nombreRemitenteDestinatario": "Cori S. A. de C. V.",
                    "numeroEstacion": "SC283",
                    "fechaHoraSalidaLlegada": "2021-07-03 03:10:01",
                    "tipoEstacion": "02",
                    "distanciaRecorrida": "2"
                },
                {
                    "tipoUbicacion": "Destino",
                    "idUbicacion": "DE000002",
                    "rfcRemitenteDestinatario": "COR391215F4A",
                    "nombreRemitenteDestinatario": "Cori S. A. de C. V.",
                    "numeroEstacion": "Q0486",
                    "fechaHoraSalidaLlegada": "2021-07-07 01:10:01",
                    "tipoEstacion": "02",
                    "distanciaRecorrida": "2"
                },
                {
                    "tipoUbicacion": "Destino",
                    "idUbicacion": "DE000003",
                    "rfcRemitenteDestinatario": "COR391215F4A",
                    "nombreRemitenteDestinatario": "Cori S. A. de C. V.",
                    "numeroEstacion": "TG0",
                    "fechaHoraSalidaLlegada": "2021-07-03 13:10:01",
                    "tipoEstacion": "02",
                    "distanciaRecorrida": "2"
                },
                {
                    "tipoUbicacion": "Destino",
                    "idUbicacion": "DE000004",
                    "rfcRemitenteDestinatario": "COR391215F4A",
                    "nombreRemitenteDestinatario": "Cori S. A. de C. V.",
                    "numeroEstacion": "RD170",
                    "fechaHoraSalidaLlegada": "2021-07-03 13:10:01",
                    "tipoEstacion": "02",
                    "distanciaRecorrida": "2"
                },
                {
                    "tipoUbicacion": "Destino",
                    "idUbicacion": "DE000005",
                    "rfcRemitenteDestinatario": "COR391215F4A",
                    "nombreRemitenteDestinatario": "Cori S. A. de C. V.",
                    "numeroEstacion": "Q0513",
                    "fechaHoraSalidaLlegada": "2021-07-03 13:10:01",
                    "tipoEstacion": "02",
                    "distanciaRecorrida": "2"
                },
                {
                    "tipoUbicacion": "Destino",
                    "idUbicacion": "DE000006",
                    "rfcRemitenteDestinatario": "COR391215F4A",
                    "nombreRemitenteDestinatario": "Cori S. A. de C. V.",
                    "numeroEstacion": "I0154",
                    "fechaHoraSalidaLlegada": "2021-07-03 13:10:01",
                    "tipoEstacion": "03",
                    "distanciaRecorrida": "2",
                    "Domicilio": {
                        "calle": "ALVARO OBREGÓN",
                        "numeroExterior": "33",
                        "numeroInterior": "22",
                        "colonia": "0042",
                        "localidad": "02",
                        "referencia": "Mercado 1ro Mayo",
                        "municipio": "002",
                        "estado": "BCN",
                        "pais": "MEX",
                        "cp": "21130"
                    }
                }
            ],
            "Mercancias": {
                "pesoBrutoTotal": "1.000",
                "unidadPeso": "KGM",
                "pesoNetoTotal": "1.000",
                "Mercancia": [{
                    "bienesTransportados": "12131502",
                    "claveStcc": "101018",
                    "descripcion": "Cartuchos explosivos",
                    "cantidad": "1",
                    "claveUnidad": "H87",
                    "materialPeligroso": "Sí",
                    "claveMaterialPeligroso": "0005",
                    "embalaje": "4C1",
                    "pesoEnKg": "1.000",
                    "valorMercancia": "1.000",
                    "moneda": "MXN"
                }],
                "TransporteFerroviario": {
                    "tipoDeServicio": "TS01",
                    "tipoDeTrafico": "TT01",
                    "nombreAseguradora": "Seguro de carga",
                    "numeroPolizaSeguro": "ZRC2008-COTTON",
                    "DerechosDePaso": [{
                        "tipoDerechoDePaso": "CDP055",
                        "kilometrajePagado": "1.000"
                    }],
                    "Carro": [{
                        "tipoCarro": "TC01",
                        "matriculaCarro": "5001-AA-8",
                        "guiaCarro": "123456969012345",
                        "toneladasNetasCarro": "1.000"
                    }]
                }
            }
        }}
    }}
    

    Comprobante de traslado para transporte ferroviario - Request:

    {
      "CFDi": {
        "modo": "produccion",
        "versionEF": "6.0",
        "serie": "CP",
        "folioInterno": 1,
        "fechaEmision": "2021-11-23 08:48:07",
        "subTotal": "0",
        "total": "0",
        "tipoMoneda": "XXX",
        "rfc": "AAA010101AAA",
        "Receptor": {
          "rfc": "AAA010101AAA",
          "nombre": "Demo S.A. de C.V.",
          "usoCfdi": "P01"
        },
        "Partidas": [
          {
            "cantidad": "1",
            "claveUnidad": "KGM",
            "claveProdServ": "11121701",
            "descripcion": "Aserrín para comprimir",
            "valorUnitario": "0.00",
            "importe": "0.00"
          }
        ],
        "Complementos": {"CartaPorte": {
            "transporteInternacional": "No",
            "totalDistanciaRecorrida": "12",
            "Ubicaciones": [
                {
                    "tipoUbicacion": "Origen",
                    "idUbicacion": "OR000001",
                    "rfcRemitenteDestinatario": "FIMA420127R44",
                    "nombreRemitenteDestinatario": "Alejandro Filomeno Mata",
                    "numeroEstacion": "Q0736",
                    "fechaHoraSalidaLlegada": "2020-12-02 12:30:00",
                    "tipoEstacion": "01",
                    "Domicilio": {
                        "calle": "Hidalgo",
                        "numeroExterior": "321",
                        "numeroInterior": "1",
                        "colonia": "0716",
                        "localidad": "06",
                        "referencia": "Frente a la tienda la zona",
                        "municipio": "025",
                        "estado": "COA",
                        "pais": "MEX",
                        "cp": "26000"
                    }
                },
                {
                    "tipoUbicacion": "Destino",
                    "idUbicacion": "DE000001",
                    "rfcRemitenteDestinatario": "COR391215F4A",
                    "nombreRemitenteDestinatario": "Cori S. A. de C. V.",
                    "numeroEstacion": "SC283",
                    "fechaHoraSalidaLlegada": "2021-07-03 03:10:01",
                    "tipoEstacion": "02",
                    "distanciaRecorrida": "2"
                },
                {
                    "tipoUbicacion": "Destino",
                    "idUbicacion": "DE000002",
                    "rfcRemitenteDestinatario": "COR391215F4A",
                    "nombreRemitenteDestinatario": "Cori S. A. de C. V.",
                    "numeroEstacion": "Q0486",
                    "fechaHoraSalidaLlegada": "2021-07-07 01:10:01",
                    "tipoEstacion": "02",
                    "distanciaRecorrida": "2"
                },
                {
                    "tipoUbicacion": "Destino",
                    "idUbicacion": "DE000003",
                    "rfcRemitenteDestinatario": "COR391215F4A",
                    "nombreRemitenteDestinatario": "Cori S. A. de C. V.",
                    "numeroEstacion": "TG0",
                    "fechaHoraSalidaLlegada": "2021-07-03 13:10:01",
                    "tipoEstacion": "02",
                    "distanciaRecorrida": "2"
                },
                {
                    "tipoUbicacion": "Destino",
                    "idUbicacion": "DE000004",
                    "rfcRemitenteDestinatario": "COR391215F4A",
                    "nombreRemitenteDestinatario": "Cori S. A. de C. V.",
                    "numeroEstacion": "RD170",
                    "fechaHoraSalidaLlegada": "2021-07-03 13:10:01",
                    "tipoEstacion": "02",
                    "distanciaRecorrida": "2"
                },
                {
                    "tipoUbicacion": "Destino",
                    "idUbicacion": "DE000005",
                    "rfcRemitenteDestinatario": "COR391215F4A",
                    "nombreRemitenteDestinatario": "Cori S. A. de C. V.",
                    "numeroEstacion": "Q0513",
                    "fechaHoraSalidaLlegada": "2021-07-03 13:10:01",
                    "tipoEstacion": "02",
                    "distanciaRecorrida": "2"
                },
                {
                    "tipoUbicacion": "Destino",
                    "idUbicacion": "DE000006",
                    "rfcRemitenteDestinatario": "COR391215F4A",
                    "nombreRemitenteDestinatario": "Cori S. A. de C. V.",
                    "numeroEstacion": "I0154",
                    "fechaHoraSalidaLlegada": "2021-07-03 13:10:01",
                    "tipoEstacion": "03",
                    "distanciaRecorrida": "2",
                    "Domicilio": {
                        "calle": "ALVARO OBREGÓN",
                        "numeroExterior": "33",
                        "numeroInterior": "22",
                        "colonia": "0042",
                        "localidad": "02",
                        "referencia": "Mercado 1ro Mayo",
                        "municipio": "002",
                        "estado": "BCN",
                        "pais": "MEX",
                        "cp": "21130"
                    }
                }
            ],
            "Mercancias": {
                "pesoBrutoTotal": "1.000",
                "unidadPeso": "KGM",
                "pesoNetoTotal": "1.000",
                "Mercancia": [{
                    "bienesTransportados": "11121701",
                    "claveStcc": "101018",
                    "descripcion": "Aserrín",
                    "cantidad": "1",
                    "claveUnidad": "H87",
                    "pesoEnKg": "1.000",
                    "valorMercancia": "1.000",
                    "moneda": "MXN"
                }],
                "TransporteFerroviario": {
                    "tipoDeServicio": "TS01",
                    "tipoDeTrafico": "TT01",
                    "nombreAseguradora": "Seguro de carga",
                    "numeroPolizaSeguro": "ZRC2008-COTTON",
                    "DerechosDePaso": [{
                        "tipoDerechoDePaso": "CDP055",
                        "kilometrajePagado": "1.000"
                    }],
                    "Carro": [{
                        "tipoCarro": "TC01",
                        "matriculaCarro": "5001-AA-8",
                        "guiaCarro": "123456969012345",
                        "toneladasNetasCarro": "1.000"
                    }]
                }
            }
        }}
      }
    }
    

    Comprobante de ingreso

    Si te dedicas al traslado de bienes o mercancías vía red ferroviaria debes emitir un CFDI de tipo Ingreso con complemento Carta Porte para amparar el cobro por el servicio que estás prestando, así como el traslado en territorio nacional

    Comprobante de traslado

    Si eres la o el propietario de los bienes o mercancías o actúas como intermediario o agente de transporte y necesitas trasladar mercancías vía red ferroviaria, emite un CFDI de tipo Traslado con complemento Carta Porte para amparar el traslado por territorio nacional.

    Peticiones de ejemplo

    Catálogo de Errores

    Sección que describe la estructura de la respuesta de errores en nuestra API.

    Ejemplo de Respuesta de Error en el API - Response:

    {
        "AckEnlaceFiscal": {
            "numeroReferencia": 5,
            "estatusDocumento": "rechazado",
            "fechaMensaje": "2022-11-04 17:47:52",
            "version": "1.0",
            "mensajeError": {
                "codigoError": "CFDI219",
                "descripcionError": "La fecha de emisión 2022-09-30 00:00:01 no puede ser menor a 72 horas, actualmente la fecha mínima de emisión en su zona horaria es 2022-11-01 17:47:53."
            },
            "errores": [
                {
                    "codigoError": "CFDI219",
                    "descripcionError": "La fecha de emisión 2022-09-30 00:00:01 no puede ser menor a 72 horas, actualmente la fecha mínima de emisión en su zona horaria es 2022-11-01 17:47:53."
                },
                {
                    "codigoError": "CFDI240",
                    "descripcionError": "El campo nombre del receptor tiene el valor de \"PUBLICO EN GENERAL\", por lo tanto el RFC del receptor debe ser \"XAXX010101000\"."
                }
            ]
        }
    }
    

    AckEnlaceFiscal

    numeroReferencia Es un identificador único para cada petición.


    estatusDocumento Es el indicativo con respecto al Request enviado, siendo las opciones posibles: aceptado o rechazado. En caso de error al procesar la petición el valor de este campo será rechazado.


    fechaMensaje Se muestra la fecha en la cual fue la respuesta por parte del API en formato YYYY-mm-dd H:i:s.


    version Versión del API actual.


    mensajeError Nodo que contiene la información del primer error encontrado en la petición.

    codigoError Código del error correspondiente al encontrado en la petición enviada.

    Tipo de Dato Opciones Ejemplo
    string CFDI###
    REP###
    CFDI219


    descripcionError Texto descriptivo del atributo codigoError.


    errores Listado de errores encontrados en la petición.

    codigoError Código del error correspondiente al encontrado en la petición enviada.


    descripcionError Texto descriptivo del atributo codigoError.

    Tipo de Dato Opciones Ejemplo
    string CFDI###
    REP###
    CFDI219


    CFDi 4.0

    A continuación se presenta el catálogo de errores que pueden ser retornados al momento de timbrar un CFDi 4.0. Estos se encuentran agrupados por nodos:

    Información General

    CFDi

    {
        "CFDi": {
            "versionCFDi": "4.0",
            "modo": "debug",
            "versionEF": "6.5",
            "serie": "FA",
            "folioInterno": "1",
            "fechaEmision": "2022-02-01 11:22:01",
            "subTotal": "1500.00",
            "descuentos": "50.00",
            "total": "1587.00",
            "tipoMoneda": "MXN",
            "nombreDisenio": "Diseño Compacto",
            "rfc": "AAA010101AAA",
            "facAtrAdquirente": "012345678",
            "exportacion": "01",
            ...
    
    
    Clave Descripción
    CFDI219 La fecha de emisión :fechaEmision no puede ser menor a 72 horas, actualmente la fecha mínima de emisión en su zona horaria es :fechaMinima.
    CFDI220 La fecha de emisión :fechaEmision no puede ser mayor a la fecha y hora actual en su zona horaria fechaActual.
    CFDI231 El campo exportación tiene el valor No Aplica (01), por lo tanto, el CFDi no debe contener el complemento para Comercio Exterior.
    CFDI232 El campo exportación tiene el valor No Aplica (02), por lo tanto, el CFDi debe contener el complemento para Comercio Exterior.
    CFDI226 El campo tipoCambio debe ser igual a "1" cuando la moneda es Peso Mexicano (MXN).
    CFDI227 El campo tipoCambio es obligatorio cando el tipo de moneda es diferente de Peso Mexicano (MXN) y Ninguna moneda (XXX).
    CFDI228 El campo tipoCambio no debe existir cando el tipo de moneda es Ninguna moneda (XXX).
    CFDI229 El campo tipoCambio no puede exceder la cantidad de :decimales decimales.
    CFDI230 El campo tipoCambio no cumple con el patrón requerido.
    CFDI233 Las condiciones de pago se pueden registrar cuando el tipo de comprobante sea de Ingreso (I) o Egreso (E).
    CFDI234 El nodo InformacionGlobal solo debe de venir cuando el rfc receptor es "XAXX010101000" Y el nombre del receptor es "PUBLICO EN GENERAL".
    CFDI239 El campo facAtrAdquirente no tiene un número de operación valido.
    CFDI341 El comprobante se encuentra timbrado y la petición es diferente a la original.
    CFDI344 El comprobante enviado contiene errores de estructura.
    CFDI345 El valor registrado en el atributo Comprobantes dentro de nodo ComprobantesRelacionados se encuentra vacío o no cuenta con la estructura correcta.
    CFDI351 Cuando el nodo Exportacion contenga la clave 01 o 03, el complemento de Comercio Exterior no debe existir.
    CFDI317 El valor del campo subTotal no tiene la cantidad de decimales que indica la moneda el cual debe ser de :decimales.
    CFDI318 El valor del campo subTotal dentro de CFDi debe ser igual al redondeo de la suma de los importes de los conceptos registrados, Cuando el comprobante a emitir sea de Ingreso (I), Egreso (E) o Nómina (N).
    CFDI319 El valor del campo subTotal dentro de CFDi debe ser igual a cero.
    CFDI324 El valor del campo total no corresponde con la suma del subtotal, menos los descuentos aplicables, más las contribuciones recibidas (impuestos trasladados - federales o locales, derechos, productos, aprovechamientos, aportaciones de seguridad social, contribuciones de mejoras) menos los impuestos retenidos.
    CFDI325 El valor del campo total no puede ser negativo.
    CFDI326 El valor del campo total no tiene la cantidad de decimales que indica la moneda el cual debe ser de :decimales.
    CFDI327 El valor del campo total debe ser igual a cero, cuando el comprobante a emitir sea de Translado (T) o Pago (P).


    Datos de pago

    CFDi / DatosDePago

    {
      "CFDi": {
        ...,
        "DatosDePago": {
          "metodoDePago": "PUE",
          "formaDePago": "03",
          "condicionesDePago": "45 días",
          "fechaVencimiento": "2022-02-23",
          "referenciaBancaria": "3444232132"
        },
        ...,
    
    
    Clave Descripción
    CFDI221 El campo formaDePago dentro de DatosDePago no debe existir cuando el tipo de comprobante es Traslado (T), Nómina (N) o Pago (P).
    CFDI222 El campo formaDePago dentro de DatosDePago es obligatorio cuando el tipo de comprobante es Ingreso (I) o Egreso (E).
    CFDI223 El campo formaDePago dentro de DatosDePago debe ser igual a "99" cuando el metodo de pago es Pago en Parcialidades o Diferido (PPD).
    CFDI224 El campo metodoDePago dentro de DatosDePago no debe existir cuando el tipo de comprobante es Traslado (T) o Pago (P).
    CFDI225 El campo metodoDePago dentro de DatosDePago es obligatorio cuando el tipo de comprobante es Ingreso (I), Egreso (E) o Nómina (N).
    CFDI329 El campo fechapago dentro de DatosDePago solo aplica para el método de pago (PUE) Pago en una sola exhibición.
    CFDI330 El nodo de cuentasPago dentro de DatosDePago solo puede tener una cuenta cuando es (PUE) Pago en una sola exhibición.
    CFDI331 El nodo de cuentasPago dentro de DatosDePago debe existir los campos cuenta, clabe y/o número de tarjeta con un valor valido en las siguientes cuentas de pago: :cuentasError.
    CFDI349 Si el campo metodoDePago es PUE, el campo formaDePago no debe ser 99 ya que se debe especificar la forma en la que se recibió el pago.
    CFDI350 Si el campo metodoDePago es PPD, el campo formaDePago debe ser 99 ya que aún no se recibe el pago.

    Información global

    CFDi / InformacionGlobal

    {
      "CFDi": {
        ...,
        "InformacionGlobal": {
          "periodicidad": "04",
          "meses": "01",
          "anio": "2022"
        },
        ...,
    
    
    Clave Descripción
    CFDI235 Cuando el campo periodicidad es Mensual (05) el regimen fiscal debe ser Incorporación Fiscal (621).
    CFDI236 El campo meses cuando la periodicidad es diferente de Mensual (05) debe contener alguna de las siguientes claves: "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12".
    CFDI237 El campo meses cuando la periodicidad es Mensual (05) debe contener alguna de las siguientes claves: "13", "14", "15", "16", "17" o "18".
    CFDI337 El campo metodoDePago dentro de DatosDePago debe tener el valor PUE cuando el comprobante es global.
    CFDI342 El nombre del receptor debe ser 'PUBLICO EN GENERAL' cuando el comprobante es global.


    Emisor

    Clave Descripción
    CFDI238 El régimen fiscal :regimen del emisor no corresponde a una persona :tipoPersona.


    Receptor

    CFDi / Receptor

    {
      "CFDi": {
        ...,
        "Receptor": {
          "rfc": "AAA010101AAA",
          "nombre": "EMPRESA DEMO",
          "residenciaFiscal": "USA",
          "numeroRegistroIdTributario": "121585958",
          "regimenFiscal": "601",
          "usoCfdi": "adquisicion_mercancias",
          "IdentificadorCliente": {
            "nombreCampo": "Número de Matrícula",
            "valorCampo": "A12332"
          },
          "DomicilioFiscal": {
            "calle": "Rayo",
            "noExterior": "2835",
            "noInterior": "1-A",
            "colonia": "Jardines del norte",
            "localidad": "Guadalajara",
            "municipio": "Guadalajara",
            "estado": "Jalisco",
            "pais": "México",
            "cp": "44580"
          }
        },
        ...,
    
    
    Clave Descripción
    CFDI139 Este RFC del receptor no existe en la lista de RFC inscritos no cancelados del SAT.
    CFDI141 El atributo nombre del receptor, debe pertenecer al nombre asociado al RFC registrado en el atributo rfc del Receptor.
    CFDI144 El nodo DomicilioFiscal del receptor, debe pertenecer al nombre asociado al RFC registrado en el atributo rfc del Receptor.
    CFDI240 El campo nombre del receptor tiene el valor de "PUBLICO EN GENERAL", por lo tanto el RFC del receptor debe ser "XAXX010101000".
    CFDI241 El país debe ser diferente de (:clavePais) :pais cuando el RFC receptor es extranjero.
    CFDI242 El campo cp (código postal) del receptor no tiene el formato válido para el país de :pais (:clavePais).
    CFDI243 El campo residenciaFiscal no debe existir cuando el RFC del receptor es de un RFC registrado en el SAT o un RFC genérico nacional.
    CFDI244 El campo residenciaFiscal no puede ser México.
    CFDI245 El campo residenciaFiscal es obligatorio cuando el número de registro ID tributario se registra información.
    CFDI246 El campo residenciaFiscal es obligatorio cuando el RFC del receptor es un RFC genérico extranjero y el comprobante incluye el complemento de comercio exterior.
    CFDI247 El campo numeroRegistroIdTributario del receptor no debe existir cuando es un RFC incrito no cancelado en el SAT o un RFC genérico nacional.
    CFDI248 El campo numeroRegistroIdTributario debe existir cuando el RFC del receptor es un RFC genérico extranjero y el comprobante incluye el complemento de comercio exterior.
    CFDI249 El campo numeroRegistroIdTributario debe cumplir con el patrón correspondiente incluido en la columna “Formato de Registro de Identidad Tributaria” que publique en el catalogo de C_Pais.
    CFDI250 El campo regimenFiscal debe corresponder con el tipo de persona del receptor.
    CFDI251 El campo regimenFiscal debe tener la clave "616" cuando el RFC del receptor contiene el valor "XAXX010101000" o el valor "XEXX010101000".
    CFDI252 El campo usoCfdi debe aplicar para el tipo de persona del receptor y el régimen correspondiente conforme al catálogo c_UsoCFDI.
    CFDI253 El uso del CFDi ":usoCFDi" no es un valor válido para esta versión de Comprobante.
    CFDI332 El campo cp (código postal) del receptor debe contener una clave del catálogo del SAT (catCFDI:c_CodigoPostal).
    CFDI343 El nombre del receptor debe ser distinto a 'PUBLICO EN GENERAL' cuando no es comprobante global.


    Partidas

    CFDi / Partidas

    {
      "CFDi": {
        ...,
        "Partidas": [
          {
            "cantidad": "10",
            "claveUnidad": "E48",
            "unidad": "Unidad de servicio",
            "claveProdServ": "80101500",
            "noIdentificacion": "421412321212321",
            "descripcion": "Servicios de consultoría de negocios y administración corporativa",
            "valorUnitario": "100.00",
            "importe": "1000.00",
            "descuento": "50.00",
            "objetoDeImpuesto": "01",
            ...,
          },
          {
            "cantidad": "1",
            "claveUnidad": "C62",
            "unidad": "Uno",
            "claveProdServ": "84101700",
            "noIdentificacion": "4214123212123212",
            "descripcion": "Manejo de deuda",
            "valorUnitario": "500.00",
            "importe": "500.00",
            "objetoDeImpuesto": "01",
            ...,
          }
        ],
        ...,
    
    
    Clave Descripción
    CFDI268 Error en la partida :numPartida: el valor del campo cantidad no puede exceder la cantidad de :decimales decimales.
    CFDI269 Error en la partida :numPartida: el valor del campo valorUnitario debe ser :simbolo cero (0) cuando el tipo de comprobante es :tipoComprobante.
    CFDI270 Error en la partida :numPartida: el valor del campo valorUnitario no puede exceder la cantidad de :decimales decimales.
    CFDI271 Error en la partida :numPartida: el valor del campo importe no puede exceder la cantidad de :decimales decimales.
    CFDI272 Error en la partida :numPartida: el valor del campo importe no se encuentra entre el límite inferior y superior permitido.
    CFDI273 Error en la partida :numPartida: el valor del campo importe no puede ser negativo.
    CFDI274 Error en la partida :numPartida: el campo descuento solo esta permitido en la emision de comprobantes de Ingreso (I), Egreso (E) y Nómina (N).
    CFDI275 Error en la partida :numPartida: el campo descuento no puede exceder la cantidad de :decimales decimales.
    CFDI276 Error en la partida :numPartida: el valor del campo descuento debe ser menor o igual al mondo del Importe.
    CFDI277 Error en la partida :numPartida: el valor del campo descuento no puede ser negativo.
    CFDI278 Error en la partida :numPartida: si el valor del campo objetoDeImpuesto es "02" debe existir impuestos en la partida.
    CFDI279 Error en la partida :numPartida: si el valor del campo objetoDeImpuesto es "01" o "03" no debe existir impuestos en la partida.


    Impuestos

    CFDi / Partidas / Impuestos

    {
      "CFDi": {
        ...,
        "Partidas": [
          {
            ...,
            "Impuestos": [
              {
                "tipo": "traslado",
                "claveImpuesto": "IVA",
                "tipoFactor": "tasa",
                "tasaOCuota": "0.16",
                "baseImpuesto": "950.00",
                "importe": "152.00"
              },
              {
                "tipo": "retencion",
                "claveImpuesto": "ISR",
                "tipoFactor": "tasa",
                "tasaOCuota": "0.10",
                "baseImpuesto": "950.00",
                "importe": "95.00"
              }
            ],
            ...,
          },
          {
            ...,
            "Impuestos": [{
              "tipo": "traslado",
              "claveImpuesto": "IVA",
              "tipoFactor": "tasa",
              "tasaOCuota": "0.16",
              "baseImpuesto": "500.00",
              "importe": "80.00"
            }],
            ...,
          }
        ],
        ...,
    
    
    Clave Descripción
    CFDI254 El nodo de impuestos no debe existir cuando el tipo de comprobante es Traslado (T) o Pago (P).
    CFDI255 El nodo impuestos de retención es obligatorio cuando las partidas tienen impuestos de retención.
    CFDI256 El campo traslados en los totales de impuestos es obligatorio cuando las partidas tienen impuestos de traslados.
    CFDI257 El nodo de impuestos no debe estar vacio en caso de contar con impuestos en las partidas, en el caso contrario no enviar el nodo impuestos.
    CFDI258 En el nodo de Impuestos del comprobante no se encontraron impuestos de tipo retención para validar.
    CFDI259 En el nodo de Impuestos del comprobante debe haber sólo un registro por cada :impuesto retenido.
    CFDI260 En el nodo de Impuestos del comprobante no se encontraron impuestos de tipo trasladado para validar.
    CFDI261 En el nodo de Impuestos del comprobante debe haber sólo un registro con la misma combinación de impuesto :factor :tasa por cada traslado.
    CFDI262 El nodo de impuestos en el comprobante no debe existir cuando no existen impuestos en las partidas.
    CFDI263 El nodo de Impuestos es obligatorio cuando las partidas tienen impuestos.
    CFDI264 El nodo de Impuestos dentro de los impuestos del comprobante debe existir cuando al menos una de las partidas tenga impuestos de TipoFactor diferente a exento.
    CFDI266 Las siguientes claves de producto y/o servicios (:claveProdServ) no se encuentran en el catalogo proporcionado por el SAT (c_ClaveProdServ) o no estan vigentes.
    CFDI267 Las siguientes Claves de Unidades (:ClaveUnidad) no se encuentran en el catalogo proporcionado por el SAT (c_ClaveUnidad) o no estan vigentes.
    CFDI320 El valor del campo descuento no puede ser mayor al subTotal dentro de CFDi.
    CFDI321 El campo descuento solo esta permitido en la emision de comprobantes de Ingreso (I), Egreso (E) y Nómina (N)
    CFDI322 El valor del campo descuento debe ser equivalente a la suma del contenido de cada campo descuento partida, Cuando el comprobante a emitir sea de Ingreso (I), Egreso (E) o Nómina (N).
    CFDI323 El valor del campo descuento no tiene la cantidad de decimales que indica la moneda el cual debe ser de :decimales.
    CFDI328 Error en la partida :numPartida: el campo noIdentificacion solo es requerido cuando el nodo InformacionGlobal este presente.
    CFDI338 Error en la partida :numPartida: el campo unidad no debe existir cuando el comprobante es global.
    CFDI339 Error en la partida :numPartida: el valor del campo claveUnidad debe ser ACT cuando el comprobante es global.
    CFDI340 Error en la partida :numPartida: el valor del campo descripcion debe ser Venta cuando el comprobante es global.


    ACuentaTerceros

    CFDi / Partidas / ACuentaTerceros

    {
      "CFDi": {
        ...,
        "Partidas": [
          {
            ...,
            "ACuentaTerceros": {
              "rfc": "FIMA420127R44",
              "nombre": "Marton Aleejandro Sanzi Fierror",
              "regimenFiscal": "601",
              "codigoPostal": "44580"
            },
            ...,
          },
          ...,
        ],
        ...,
    
    
    Clave Descripción
    CFDI333 Error en la partida :numPartida: el valor del campo nombre dentro del nodo ACuentaTerceros debe contener el valor ':nombre' cuando el rfc sea :rfc.
    CFDI334 Error en la partida :numPartida: el valor del campo rfc dentro del nodo ACuentaTerceros debe contener el valor 'EXT990101NI1' cuando el nombre sea :nombre.
    CFDI335 Error en la partida :numPartida: el valor del campo regimenFiscal dentro del nodo ACuentaTerceros debe contener el valor '616' cuando el rfc sea :rfc.
    CFDI336 Error en la partida :numPartida: el valor del campo cp dentro del nodo ACuentaTerceros debe contener el valor de lugar de expedición ':lugarExpedicion' cuando el rfc sea :rfc.
    CFDI352 En las partidas, si en el nodo ACuentaTerceros el rfc contiene el valor EXT990101NI1 en el regimenFiscal se debe registrar la clave 616.


    InformacionAduanera

    CFDi / Partidas / InformacionAduanera

    {
      "CFDi": {
        ...,
        "Partidas": [
          {
            ...,
            "InformacionAduanera": {
              "numeroPedimento": [
                "15  48  3009  0001234",
                "15  48  3009  0001234"
              ]
            }
          },
          ...,
        ],
        ...,
    
    
    Clave Descripción
    CFDI291 Error en informacionAduanera de la partida :numPartida: el campo numeroPedimento no debe existir si se incluye el complemento de comercio exterior.
    CFDI292 Error en informacionAduanera de la partida :numPartida: el valor de las posiciones uno y dos (:valor) del campo numeroPedimento deben ser menor o igual a :maximo y deben ser mayor o igual que :minimo.
    CFDI293 Error en informacionAduanera de la partida :numPartida: las posiciones cinco y seis (:valor) del campo numeroPedimento no corresponde a una clave del catálogo de aduanas publicado por el SAT.
    CFDI294 Error en informacionAduanera de la partida :numPartida: las posiciones nueve a la doce (:valor) del campo numeroPedimento no corresponde a un número de patente del catálogo de patentes aduanales publicado por el SAT.
    CFDI295 Error en informacionAduanera de la partida :numPartida: el valor de los últimos seis dígitos (:valor) del campo numeroPedimento no se encuentra entre el valor mínimo 1 y el valor máximo de números consecutivos correspondientes a los usados por la aduana en ese año.


    Partes

    CFDi / Partidas / Partes

    {
      "CFDi": {
        ...,
        "Partidas": [
          {
            ...,
            "Partes": [
              {
                "cantidad": "10",
                "claveProdServ": "27111731",
                "unidad": "Pieza",
                "noIdentificacion": "R-DSA2332",
                "descripcion": "Desarmador",
                "valorUnitario": "100.00",
                "importe": "1000.00"
              },
              {
                "cantidad": "5",
                "claveProdServ": "27111750",
                "unidad": "Pieza",
                "noIdentificacion": "R-DSC2345",
                "descripcion": "Pinzas",
                "valorUnitario": "50.00",
                "importe": "250.00",
                "InformacionAduanera": {"numeroPedimento": [
                  "15  48  3009  0001234",
                  "15  48  3009  0001234"
                ]}
              }
            ]
          },
        ],
        ...,
    
    
    Clave Descripción
    CFDI296 Error en la partida :numPartida: en el nodo de partes :nParte: el campo valorUnitario no puede exceder la cantidad de :decimales decimales.
    CFDI297 Error en la partida :numPartida: en el nodo de partes :nParte: el valor del campo valorUnitario debe ser mayor a cero (0).
    CFDI298 Error en la partida :numPartida: en el nodo de partes :nParte: el valor del campo importe no se encuentra entre el límite inferior y superior permitido.
    CFDI299 Error en la partida :numPartida: en el nodo de partes :nParte: el campo cantidad no puede exceder la cantidad de :decimales decimales.
    CFDI300 Error en la partida :numPartida: en el nodo de partes :nParte: el campo numeroPedimento no debe existir si se incluye el complemento de comercio exterior.
    CFDI301 Error en la partida :numPartida: en el nodo de partes :nParte: el valor de las posiciones uno y dos (:valor) del campo numeroPedimento deben ser menor o igual a :maximo y deben ser mayor o igual que :minimo.
    CFDI302 Error en la partida :numPartida: en el nodo de partes :nParte: las posiciones cinco y seis (:valor) del campo numeroPedimento no corresponde a una clave del catálogo de aduanas publicado por el SAT.
    CFDI303 Error en la partida :numPartida: en el nodo de partes :nParte: las posiciones nueve a la doce (:valor) del campo numeroPedimento no corresponde a un número de patente del catálogo de patentes aduanales publicado por el SAT.
    CFDI304 Error en la partida :numPartida: en el nodo de partes :nParte: el valor de los últimos seis dígitos (:valor) del campo numeroPedimento no se encuentra entre el valor mínimo 1 y el valor máximo de números consecutivos correspondientes a los usados por la aduana en ese año.


    Impuestos

    CFDi / Impuestos

    {
      "CFDi": {
        ...,
        "Impuestos": {
          "Totales": {
            "retenciones": "95.00",
            "traslados": "232.00"
          },
          "Impuestos": [
            {
              "tipo": "traslado",
              "claveImpuesto": "IVA",
              "tipoFactor": "tasa",
              "tasaOCuota": "0.16",
              "baseImpuesto": "1450.00",
              "importe": "232.00"
            },
            {
              "tipo": "retencion",
              "claveImpuesto": "ISR",
              "tipoFactor": "tasa",
              "tasaOCuota": "0.10",
              "baseImpuesto": "950.00",
              "importe": "95.00"
            }
          ]
        },
        ...,
    
    
    Clave Descripción
    CFDI280 Error en la partida :numPartida, en los impuestos totales del impuesto :impuesto:tipo: si el valor registrado en el campo tipoFactor es Exento no se deben registrar los campos de tasaOCuota ni importe.
    CFDI281 Error en la partida :numPartida, en los impuestos totales del impuesto :impuesto:tipo: si el valor registrado en el campo tipoFactor es tasa o cuota, se deben registrar los atributos tasaOCuota e importe.
    CFDI282 Error en la partida :numPartida, en los impuestos totales del impuesto :impuesto:tipo: el campo tipoFactor debe ser diferente de exento, cuando el tipo de impuesto es de retención.
    CFDI283 Error en la partida :numPartida, en los impuestos totales del impuesto :impuesto:tipo: el campo tasaOCuota no puede exceder la cantidad de :decimales decimales.
    CFDI284 Error en la partida :numPartida, en los impuestos totales del impuesto :impuesto:tipo: el valor del campo tasaOCuota :tasaOCuota no contiene un valor del catálogo c_TasaOcuota o se encuentra fuera de rango.
    CFDI285 Error en la partida :numPartida, en los impuestos totales del impuesto :impuesto:tipo: el valor del campo importe no se encuentra entre el límite inferior y superior permitido.
    CFDI286 Error en la partida :numPartida, en los impuestos totales del impuesto :impuesto:tipo: el campo importe no puede exceder la cantidad de :decimales decimales.
    CFDI287 Error en la partida :numPartida, en los impuestos totales del impuesto :impuesto:tipo: el valor del campo importe no puede ser negativo.
    CFDI288 Error en la partida :numPartida, en los impuestos totales del impuesto :impuesto:tipo: el campo base no puede exceder la cantidad de :decimales decimales.
    CFDI289 Error en la partida :numPartida, en los impuestos totales del impuesto :impuesto:tipo: el valor del campo baseImpuesto debe ser mayor a cero (0).
    CFDI290 Error en la partida :numPartida, en los impuestos totales del impuesto :impuesto:tipo: el valor del campo baseImpuesto no puede exceder la cantidad de :decimales decimales.
    CFDI305 Error en los impuestos totales del impuesto :impuesto :tipo: el valor del campo importe no es igual al redondeo de la suma de los importes de los impuestos retenidos registrados en los conceptos donde el impuesto sea igual al campo impuesto de este elemento.
    CFDI306 Error en los impuestos totales del impuesto :impuesto:tipo: el valor del campo importe no puede ser negativo.
    CFDI307 Error en los impuestos totales del impuesto :impuesto:tipo: el valor del campo importe no tiene la cantidad de decimales que indica la moneda el cual debe ser de :decimales.
    CFDI308 Error en el total de impuestos retenidos: el valor del campo retenciones no tiene la cantidad de decimales que indica la moneda el cual debe ser de :decimales.
    CFDI309 Error en el total de impuestos retenidos: el valor del campo retenciones debe ser igual a la suma de los impuestos retenidos en las partidas.
    CFDI310 Error en el total de impuestos retenidos: el valor del campo retenciones no puede ser negativo.
    CFDI311 Error en el total de impuestos trasladados: el valor del campo traslados no tiene la cantidad de decimales que indica la moneda el cual debe ser de :decimales.
    CFDI312 Error en el total de impuestos trasladados: el valor del campo traslados debe ser igual a la suma de los impuestos trasladados en las partidas.
    CFDI313 Error en el total de impuestos trasladados: el valor del campo traslados no puede ser negativo.
    CFDI314 Es obligatorio enviar el nodo Impuestos cuando las partidas tienen impuestos trasladados.
    CFDI315 Es obligatorio enviar el nodo Impuestos cuando las partidas tienen impuestos retenidos.
    CFDI316 Es obligatorio enviar el nodo Impuestos Locales cuando las partidas tienen impuestos locales.
    CFDI346 Error en los totales de impuestos, en el impuesto :impuesto de tipo :tipo: si el valor registrado en el campo tipoFactor es Exento no se deben registrar los campos de tasaOCuota ni importe.
    CFDI353 Los impuestos de retención deben ser distintos de 001 (ISR), cuando el emisor es persona fisica con regimen fiscal 626 (RESICO), en la lista LRFC tiene la columna retencion en 1 y el receptor es persona moral.
    CFDI354 Debe existir al menos un impuesto de retencion con el valor 001 (ISR) y con una tasa o cuota de 0.0125, cuando el emisor es persona fisica con regimen fiscal 626 (RESICO), en la lista LRFC tiene la columna retencion en 2 y el receptor es persona moral.

    Descripción Errores CFDi

    Como se pudo observar en la tabla donde se muestran los códigos de error del API CFDi 4.0, podemos ver distintas variables que tienen la siguiente estructura:


    Se muestra la siguiente tabla con algunas de las variables que se pueden encontrar en los errores pertenecientes a CFDI:

    Variable Descripción
    :fechaEmision Corresponde a la fecha en formato YYYY-mm-dd H:i:s. Indica la fecha en la cual se emite el comprobante.
    :fechaMinima Corresponde a la fecha en formato YYYY-mm-dd H:i:s. Indica la fecha mínima que debe de tener el comprobante.
    :decimales Indica el número de decimales soportados en el atributo especificado de la petición.
    :regimen Indica el régimen fiscal, este debe de corresponder con el tipo de persona del emisor.
    :tipoPersona Indica el tipo de persona emisora del comprobante, siendo las opciones "física" o "moral".
    :clavePais Indica el código del país, perteneciente al cátalogo de paises.
    :pais Indica el nombre del país, perteneciente al cátalogo de paises.
    :usoCFDi Indica el valor ingresado en el atributo usoCfdi del nodo Receptor el cuál no es válido para este comprobante.
    :impuesto Indica el valor ingresado en el atributo claveImpuesto en el nodo Impuestos.
    :factor Indica el atributo tipoFactor dentro del nodo Impuestos con sus posibles valores "tasa" o "cuota", dependiendo del error que se retorne.
    :tasa Indica el valor ingresado en el atributo tasaOCuota dentro del nodo Impuestos.
    :claveProdServ Indica el atributo claveProdServ dentro del nodo Partidas con el valor ingresado.
    :ClaveUnidad Indica el atributo claveUnidad dentro del nodo Partidas con el valor ingresado.
    :numPartida Indica el número de la Partida dentro del Comprobante en la cual se encuentra el error descrito.
    :simbolo Indica el símbolo de comparación de un atributo contra un valor fijo, con sus posibles valores "mayor que" o "igual a".
    :tipoComprobante Indica el tipo de comprobante con sus posibles valores "Ingreso, Egreso o Nomina", "Traslado" o "Pago".
    :tipo Indica el atributo tipo dentro del nodo Impuestos con sus posibles valores "traslado" o "retencion", dependiendo del error que se retorne.
    :tasaOCuota Indica el atributo tasaOCuota dentro del nodo Impuestos con el valor ingresado.
    :valor Indica el valor ingresado en el atributo numeroPedimento.
    :maximo Indica el valor máximo a ingresar en determinado atributo dentro de la petición enviada.
    :minimo Indica el valor mínimo a ingresar en determinado atributo dentro de la petición enviada.
    :nParte Indica la Parte dentro del Comprobante en la cual se encuentra el error descrito.

    REP 2.0

    A continuación se presenta el catálogo de errores que pueden ser arrojados al momento de timbrar un REP 2.0. Estos se encuentran agrupados por nodos:

    ComplementoPago

    CFDi / ComplementoPago

    {
      "CFDi": {
        ...,
        "ComplementoPago": [
          {
            ...,
    
    
    Clave Descripción
    REP146 Se debe enviar solo un ComplementoPago por CFDi.


    Totales

    CFDi / ComplementoPago / Totales

    {
      "CFDi": {
        ...,
        "ComplementoPago": [
          {
            "Totales": {
              "retencionesIVA": "0.00",
              "retencionesISR": "0.00",
              "retencionesIEPS": "0.00",
              "trasladosBaseIVA16": "0.00",
              "trasladosImpuestoIVA16": "0.00",
              "trasladosBaseIVA8": "0.00",
              "trasladosImpuestoIVA8": "0.00",
              "trasladosBaseIVA0": "0.00",
              "trasladosImpuestoIVA0": "0.00",
              "trasladosBaseIVAExento": "0.00",
              "montoTotalPagos": "0.00"
            },
            ...,
    
    
    Clave Descripción
    REP131 Debe existir al menos uno de los atributos retencionesIVA, retencionesISR, retencionesIEPS en el nodo Totales del nodo Pago #:nPago.
    REP134 Debe existir al menos uno de los atributos: trasladosBaseIVA16 y/o trasladosBaseIVA8 y/o trasladosBaseIVA0 y/o trasladosBaseIVAExento en el nodo Totales perteneciente al nodo Pago #:nPago, cuando el atributo tipo tenga el valor de "traslado".
    REP139 Deben existir al menos uno de los atributos trasladosImpuestoIVA16, trasladosImpuestoIVA8, trasladosImpuestoIVA0 del nodo Totales del nodo Pago #:nPago cuando existan atributos con un tipoFactor distinto a "exento".


    Pago

    CFDi / ComplementoPago / Pago

    {
      "CFDi": {
        ...,
        "ComplementoPago": [{
          ...,
          "Pago": [{
            "fechaPago": "2022-01-31 00:00:01",
            "formaDePago": "03",
            "tipoMoneda": "USD",
            "tipoCambio": "18.50",
            "monto": "1000.00",
            "numeroOperacion": "0000051",
            "rfcCtaOrden": "XEXX010101000",
            "nombreBancoOrdExt": "city bank",
            "ctaOrdenante": "123456789101112131",
            "rfcEmisorCtaBen": "BMN930209927",
            "ctaBeneficiario": "123456789101114558",
            "tipoCadPago": "01",
            "certPago": "...",
            "cadenaPago": "...",
            "selloPago": "...",
            ...,
    
    
    Clave Descripción
    REP099 El atributo tipoCambio del nodo Pago #:nPago se debe registrar y/o ser diferente a "1" si el valor del atributo tipoMoneda es diferente a MXN.
    REP100 El atributo tipoCambio del nodo Pago #:nPago debe contener el valor 1 si el atributo tipoMoneda es MXN.
    REP101 La suma de los valores registrados en el atributo importePagado de los apartados DocumentosRelacionados del nodo Pago #:nPago no es menor o igual que el valor del atributo monto.
    REP102 El valor del atributo monto del nodo Pago #:nPago no es mayor que cero "0".
    REP103 El valor del atributo monto debe tener hasta la cantidad de decimales que soporte la moneda registrada en el atributo tipoMoneda del nodo Pago #:nPago.
    REP104 El atributo rfcEmisorCtaBen no se debe registrar en el nodo Pago #:nPago.
    REP105 El atributo nombreBancoOrdExt se debe registrar en el nodo Pago #:nPago.
    REP106 El atributo ctaOrdenante no se debe registrar en el nodo Pago #:nPago.
    REP107 El atributo ctaOrdenante no cumple con el patrón requerido en el nodo Pago #:nPago.
    REP108 El atributo ctaBeneficiario no cumple con el patrón requerido en el nodo Pago #:nPago.
    REP109 El atributo rfcEmisorCtaBen no se debe registrar en el nodo Pago #:nPago.
    REP110 El atributo ctaBeneficiario no se debe registrar en el nodo Pago #:nPago.
    REP111 El atributo tipoCadPago no se debe registrar en el nodo Pago #:nPago.
    REP112 El atributo certPago se debe registrar en el nodo Pago #:nPago.
    REP113 El atributo certPago no se debe registrar en el nodo Pago #:nPago.
    REP114 El atributo cadenaPago se debe registrar en el nodo Pago #:nPago.
    REP115 El atributo cadenaPago no se debe registrar en el nodo Pago #:nPago.
    REP116 El atributo selloPago se debe registrar en el nodo pago #:nPago.
    REP117 El atributo selloPago no se debe registrar en el nodo Pago #:nPago.
    REP142 Según el catálogo de formaPago, el atributo :attr en el nodo Pago #:nPago no debe venir en la petición.
    REP143 El atributo :attr, es requerido según el catálogo de formaPago en el nodo Pago #:nPago.
    REP150 El valor del atributo monto del nodo Pago #:nPago debe ser mayor a cero.


    DocumentosRelacionados

    CFDi / ComplementoPago / Pago / DocumentosRelacionados

    {
      "CFDi": {
        ...,
        "ComplementoPago": [{
          "Pago": [{
            ...,
            "DocumentosRelacionados": [{
              "idDocumento": "431044D8-6CA5-FACE-EB18-4558ad859874",
              "serie": "FA",
              "folioInterno": "41",
              "tipoMoneda": "USD",
              "equivalencia": "18.50",
              "metodoDePago": "PPD",
              "numParcialidad": "2",
              "saldoAnterior": "900.00",
              "importePagado": "100.00",
              "impoSaldoInsoluto": "800.00",
              "objetoDeImpuesto": "sin_desgloce",
              ...,
    
    
    Clave Descripción
    REP118 El atributo equivalencia del nodo DocumentosRelacionados #:nDocRel del nodo Pago #:nPago se debe registrar.
    REP119 El atributo equivalencia del nodo DocumentosRelacionados #:nDocRel del nodo Pago #:nPago debe contener el valor "1".
    REP120 El valor del atributo saldoAnterior debe tener hasta la cantidad de decimales (:nDecimales) que soporte la moneda registrada en el atributo tipoMoneda del nodo DocumentosRelacionados #:nDocRel del nodo Pago #:nPago.
    REP121 El valor del atributo importePagado debe tener hasta la cantidad de decimales (:nDecimales) que soporte la moneda registrada en el atributo tipoMoneda del nodo DocumentosRelacionados #:nDocRel del nodo Pago #:nPago.
    REP122 El valor del atributo impoSaldoInsoluto debe tener hasta la cantidad de decimales (:nDecimales) que soporte la moneda registrada en el atributo tipoMoneda del nodo DocumentosRelacionados #:nDocRel del nodo Pago #:nPago.
    REP123 El atributo impoSaldoInsoluto debe ser mayor o igual a cero y calcularse con la suma de los atributos saldoAnterior menos el importePagado en el nodo DocumentosRelacionados #:nDocRel del nodo Pago #:nPago.
    REP145 El valor del atributo :attr del nodo DocumentosRelacionados #:nDocRel del nodo Pago #:nPago debe ser mayor a cero.
    REP149 El valor del atributo impoSaldoInsoluto debe ser igual al atributo saldoAnterior menos el atributo monto del pago, ya que no hay un atributo de importePagado en el nodo DocumentosRelacionados #:nDocRel del nodo Pago #:nPago.
    REP151 El valor del atributo :attr debe tener hasta la cantidad de decimales que soporte la moneda registrada en el atributo tipoMoneda (:nDecimales) del nodo DocumentosRelacionados #:nDocRel del nodo Pago #:nPago.


    Impuestos

    CFDi / ComplementoPago / Pago / DocumentosRelacionados / Impuestos

    {
      "CFDi": {
        ...,
        "ComplementoPago": [{
          "Pago": [{
            ...,
            "DocumentosRelacionados": [{
              ...,
              "Impuestos": [
                {
                  "tipo": "traslado",
                  "claveImpuesto": "IVA",
                  "tipoFactor": "tasa",
                  "tasaOCuota": "0.16",
                  "importe": "232.00",
                  "baseImpuesto": "500.00"
                },
                {
                  "tipo": "retencion",
                  "claveImpuesto": "ISR",
                  "tipoFactor": "tasa",
                  "tasaOCuota": "0.10",
                  "importe": "95.00",
                  "baseImpuesto": "300.00"
                }
              ],
              ...
    
    
    Clave Descripción
    REP124 En caso de utilizar el nodo Impuestos en el nodo DocumentosRelacionados #:nDocRel del nodo Pago #:nPago, se deben incluir Impuestos de tipo traslado y/o retencion.
    REP125 El valor registrado en el atributo tipoFactor que corresponde al atributo tipo con valor de "retencion" debe ser distinto de "exento" en el nodo Impuestos #:nImp del nodo DocumentosRelacionados #:nDocRel y del nodo Pago #:nPago.
    REP126 El valor del atributo tasaOCuota no contiene un valor del catálogo c_TasaOcuota o se encuentra fuera de rango cuando el atributo tipo tiene un valor de "retencion" en el nodo Impuestos #:nImp del nodo DocumentosRelacionados #:nDocRel y del nodo Pago #:nPago.
    REP127 Si el valor registrado en el atributo tipoFactor que corresponde al atributo tipo con valor de "traslado" es "exento" no se deben registrar los atributos tasaOCuota ni importe en el nodo Impuestos #:nImp del nodo DocumentosRelacionados #:nDocRel y del nodo Pago #:nPago.
    REP128 Si el valor registrado en el atributo tipoFactor es "tasa" o "cuota" cuando el atributo tipo tenga un valor de "traslado", se deben registrar los atributos tasaOCuota e importe en el nodo Impuestos #:nImp del nodo DocumentosRelacionados y el nodo Pago #:nPago.
    REP129 El valor del atributo tasaOCuota no contiene un valor del catálogo c_TasaOcuota o se encuentra fuera de rango cuando el atributo tipo tiene un valor de "traslado" en el nodo Impuestos #:nImp del nodo DocumentosRelacionados #:nDocRel y del nodo Pago #:nPago.


    Impuestos

    CFDi / ComplementoPago / Pago / Impuestos

    {
      "CFDi": {
        ...,
        "ComplementoPago": [{
          "Pago": [{
            ...,
            "Impuestos": [
              {
                "tipo": "traslado",
                "claveImpuesto": "IVA",
                "tipoFactor": "tasa",
                "tasaOCuota": "0.16",
                "importe": "232.00",
                "baseImpuesto": "500.00"
              },
              {
                "tipo": "retencion",
                "claveImpuesto": "ISR",
                "importe": "95.00"
              }
            ],
            ...
    
    
    Clave Descripción
    REP130 Debe haber sólo un registro por cada tipo de impuesto retenido en el nodo Impuestos #:nImp del nodo Pago #:nPago.
    REP132 El atributo importe que corresponde a "retencion", no es igual a la suma de los importes de los Impuestos retenidos registrados en el nodo DocumentosRelacionados #:nDocRel donde el atributo claveImpuesto sea igual al atributo claveImpuesto de este nodo Impuestos #:nImp del nodo Pago #:nPago.
    REP133 En caso de que sólo existan Impuestos con el atributo tipoFactor con valor "exento" y el atributo tipo sea "traslado", solo deben existir los atributos tipo, baseImpuesto, claveImpuesto y tipoFactor en el nodo Impuestos #:nImp del nodo Pago #:nPago.
    REP135 El atributo baseImpuesto del nodo Impuestos #:nImp perteneciente al nodo Pago #:nPago que corresponde al atributo tipo con valor de "traslado", no es igual a la suma de los importes de las bases registrados en el Documento Relacionado #:nDocRel pertenecientes al nodo Pago #:nPago donde el impuesto sea igual al atributo baseImpuesto de este elemento y la tasaOCuota del documento relacionado sea igual al atributo tasaOCuota de este elemento.
    REP136 El importe del atributo baseImpuesto del nodo Impuestos #:nImp que corresponde a Traslado, no es igual a la suma de los importes de las bases registrados en el Documento Relacionado #:nDocRel del mismo Pago.
    REP137 Debe haber sólo un registro con la misma combinación de claveImpuesto, tipoFactor y tasaOCuota por cada Impuesto con el atributo tipo con valor de "traslado" en el nodo Pago #:nPago.
    REP138 El valor seleccionado debe corresponder a un valor del catálogo Tasa O Cuota donde la columna impuesto corresponda con el atributo claveImpuesto y la columna factor corresponda con el atributo tipoFactor cuando el atributo tipo sea "traslado" en el nodo Impuestos #:nImp del nodo Pago #:nPago.
    REP140 El atributo importe que corresponde al atributo tipo con valor de "traslado", no es igual a la suma de los importes de los Impuestos registrados en el nodo DocumentosRelacionados #:nDocRel del Pago #:nPago donde el atributo claveImpuesto del documento relacionado sea igual al atributo claveImpuesto de este elemento y la tasaOCuota del documento relacionado sea igual al atributo tasaOCuota de este elemento.
    REP141 El valor del atributo tasaOCuota no contiene un valor del catálogo c_TasaOcuota o se encuentra fuera de rango cuando el atributo tipo tiene un valor de ":sTipoImp" en el nodo Impuestos #:nImp del nodo Pago #:nPago.
    REP144 El nodo hijo Impuestos del nodo DocumentosRelacionados #:nDocRel del nodo Pago #:nPago, no debe existir.
    REP147 El valor del atributo tasaOCuota debe tener hasta la cantidad de decimales (:nDecimales) en el nodo Impuestos #:nImp :sDocRel del nodo Pago #:nPago.
    REP148 El Impuesto #:nImp no existe en el :sDocRel nodo Pago #:nPago.
    REP149 El valor del atributo impoSaldoInsoluto debe ser igual al atributo saldoAnterior menos el atributo monto del pago, ya que no hay un atributo de importePagado en el nodo DocumentosRelacionados #:nDocRel del nodo Pago #:nPago.
    REP150 El valor del atributo monto del nodo Pago #:nPago debe ser mayor a cero.
    REP151 El valor del atributo :attr debe tener hasta la cantidad de decimales que soporte la moneda registrada en el atributo tipoMoneda (:nDecimales) del nodo DocumentosRelacionados #:nDocRel del nodo Pago #:nPago.
    REP152 Si el valor registrado en el atributo tipoFactor es 'tasa' o 'cuota' cuando el atributo tipo tenga un valor de 'traslado', se deben registrar los atributos tasaOCuota e importe en el nodo Impuestos #:nImp del nodo Pago #:nPago y coincidir el valor del atributo tasaOCuota con el registrado en el nodo Impuestos del nodo Documentos Relacionados.
    REP153 Es necesario enviar el atributo :sAtributoFaltante debido a que se envió el atributo :sAtributoEnviado.
    REP154 La suma de los valores registrados en el campo importePagado de cada documento relacionado, convertidos a la moneda del pago, no es menor o igual que el monto total del pago.
    REP155 El valor del campo importePagado del documento relacionado no se encuentra entre el limite inferior y superior permitido.
    REP156 El atributo equivalencia del nodo DocumentosRelacionados debe contener el valor "1.0000000000".

    Descripción Errores REP

    Como se pudo observar en la tabla donde se muestran los códigos de error del API REP, podemos ver distintas variables que tienen la siguiente estructura:


    Se muestra la siguiente tabla con algunas de las variables que se pueden encontrar en los errores pertenecientes a CFDI:

    Variable Descripción
    :nPago Indica el Pago dentro del Comprobante en el cual se encuentra el error descrito.
    :nDocRel Indica el Documento Relacionado dentro del Comprobante en el cual se encuentra el error descrito.
    :nDecimales Indica el número de decimales soportados en el atributo de la petición.
    :nImp Indica el Impuesto en el cual se encuentra el error dentro del Comprobante.
    :sTipoImp Indica en el atributo tipo dentro del nodo Impuestos en el cual se encuentre el error, siendo los posibles valores "traslado" o "retencion".
    :attr Indica en que atributo dentro de Comprobante se encuentra el error, con sus posibles valores "rfcCtaOrden", "nomBancoOrdExt", entre otros.
    :sDocRel Indica el Documento Relacionado en el cual se encuentra el error dentro de la petición.

    CCP 3.0

    A continuación se presenta el catálogo de errores que pueden ser arrojados al momento de timbrar un CFDi 4.0 con Complemento Carta Porte 3.0 Estos se encuentran agrupados por nodos:

    CFDI

    CFDi / ComplementoPago

    {
      "CFDi": {
          ...,
        "Complementos": {
          "CartaPorte": {
            ...,         
    
    Clave Descripción
    CCP001 La versión del comprobante es diferente a 4.0.
    CCP002 El valor del campo subtotal debe ser cero, cuando el tipo de comprobante es (T) Traslado.
    CCP003 El valor del campo moneda debe ser XXX, cuando el tipo de comprobante es (T) Traslado.
    CCP004 El valor del campo moneda no debe ser XXX, cuando el tipo de comprobante es (I) Ingreso.
    CCP005 El valor del campo total debe ser cero, cuando el tipo de comprobante es (T) Traslado.
    CCP006 El valor del campo objetoDeImpuesto en los conceptos no contiene un valor del catálago c_ObjetoImp.
    CCP007 El campo rfc del receptor debe ser igual al rfc del emisor, cuando el tipo de comprobante es (T) Traslado.
    CCP008 El campo rfc del receptor no se encontró en la lista del RFC inscritos no cancelados del SAT (l_RFC).
    CCP009 El campo rfc del receptor no tiene un formato válido.
    CCP010 El campo claveProdServ registrado en las partidas es diferente de alguna de las claves de servicio requeridas por el SAT.
    CCP011 Debe existir más de un nodo de transporte cuando viene una clave de servicio relacionado con el transporte intermodal.
    CCP012 El campo usoCfdi debe ser (S01) Sin efectos fiscales.
    CCP013 Debe existir el nodo CartaPorte (un solo nodo) dentro del nodo CFDi:Complementos.
    CCP014 Se ha registrado un complemento que no es compatible con el complemento Carta Porte.
    CCP015 El tipo de comprobante debe ser (I) Ingreso o (T) Traslado.
    CCP016 La versión del complemento carta porte es diferente a 3.0.
    CCP017 El campo regimenAduanero no debe existir, cuando el valor registrado en el atributo transporteInternacional sea igual a "No".
    CCP018 El campo regimenAduanero debe existir, cuando el valor registrado en el atributo transporteInternacional sea igual a "Sí".
    CCP019 El valor del campo regimenAduanero no coincide con alguno de los valores del catalogo c_RegimenAduanero para una importación.
    CCP020 El valor del campo regimenAduanero no coincide con alguno de los valores del catalogo c_RegimenAduanero para una exportación.
    CCP021 El campo entradaSalidaMercancias debe existir, cuando el valor registrado en el campo transporteInternacional sea igual a "Sí".
    CCP022 El campo entradaSalidaMercancias no debe existir, cuando el valor registrado en el campo transporteInternacional sea igual a "No".
    CCP023 Debe existir el campo paisOrigenDestino y contener un valor del catálogo c_Pais, cuando el valor registrado en el campo transporteInternacional sea igual a "Sí".
    CCP024 El campo paisOrigenDestino no debe existir, cuando el valor registrado en el campo transporteInternacional sea igual a "No".
    CCP025 Debe existir el campo viaEntradaSalida y contener un valor del catálogo c_CveTransporte, cuando el valor registrado en el campo transporteInternacional sea igual a "Sí".
    CCP026 El campo viaEntradaSalida no debe existir, cuando el valor registrado en el campo transporteInternacional sea igual a "No".
    CCP027 El campo totalDistanciaRecorrida debe existir, cuando existan el nodo Autotransporte o TransporteFerroviario en las mercancias.
    CCP028 El campo totalDistanciaRecorrida no debe existir, cuando no existan los nodos Autotransporte o TransporteFerroviario en las mercancias.
    CCP029 El campo totalDistanciaRecorrida debe ser igual a la suma de los campos distanciaRecorrida de las Ubicaciones.
    CCP030 Los campos ubicacionPoloOrigen y ubicacionPoloDestino deben existir, cuando el valor registrado en el campo registroISTMO sea igual a "Sí".
    CCP031 Los campos ubicacionPoloOrigen y ubicacionPoloDestino no deben existir, cuando el campo cuando registroISTMO no exista o el valor sea igual a "No".
    CCP032 Cuando se registre el TransporteFerroviario, deben existir al menos 1 nodo Ubicaciones:Ubicacion de tipo Origen.
    CCP033 Cuando se registre el TransporteFerroviario, deben existir al menos 5 nodos Ubicaciones:Ubicacion de tipo Destino.
    CCP034 Cuando se registre el Autotransporte o TransporteMaritimo o TransporteAereo, deben existir al menos 2 nodos Ubicaciones:Ubicacion, uno de tipo Origen y otro de tipo Destino.
    CCP035 Error en la ubicación (:nUbicacion). El campo idUbicacion es obligatorio siempre que exista el nodo Mercancias:Mercancia:CantidadTransporta, en caso contrario dicho campo no debe existir.
    CCP036 Error en la ubicación, el valor registrado en el campo RFC remitente o destinatario no se encontró en la lista del RFC inscritos no cancelados del SAT (l_RFC).
    CCP037 Error en la ubicación (:nUbicacion). El campo numeroRegistroIdTributario es obligatorio cuando el rfcRemitenteDestinatario es extranjero.
    CCP038 Error en la ubicación (:nUbicacion). El campo residenciaFiscal es obligatorio cuando exista el numeroRegistroIdTributario, en caso contrario se debe omitir.
    CCP039 Error en la ubicación (:nUbicacion). El campo numeroEstacion no debe de existir cuando solo existe un nodo Mercancias:Autotransporte.
    CCP040 Error en la ubicación (:nUbicacion). El campo numeroEstacion contiene un valor no permitido o el valor registrado no corresponde con alguna de las claves de transporte "02","03" o "04".
    CCP041 Error en la ubicación (:nUbicacion). El campo numeroEstacion es obligatorio.
    CCP042 Error en la ubicación (:nUbicacion). El campo nombreEstacion no coincide con la descripción del número de estación dentro del catálogo catCartaPorte:c_Estaciones.
    CCP043 Error en la ubicación (:nUbicacion). El campo nombreEstacion no debe contener la palabra extranjera y debe registrar el nombre de dicha estación.
    CCP044 Error en la ubicación (:nUbicacion). El campo nombreEstacion no debe existir cuando el campo numeroEstacion no existe.
    CCP045 Error en la ubicación (:nUbicacion). El campo navegacionTrafico solo debe existir cuando el tipo de transporte es marítimo, en caso contrario se debe omitir.
    CCP046 Error en la ubicación (:nUbicacion). El campo tipoEstacion no debe existir cuando la descripción del numero de estación sea Extranjera.
    CCP047 Error en la ubicación (:nUbicacion). El campo tipoEstacion es obligatorio cuando la descripción del numero de estación sea diferente a Extranjera y cuando el tipo de transporte es ferroviario, marítimo o aereo y el número de estación no sea extranjera.
    CCP048 Error en la ubicación (:nUbicacion). El campo tipoEstacion no debe existir cuando el tipo de transporte sea Autotransporte.
    CCP049 Error en la ubicación (:nUbicacion). El campo distanciaRecorrida es obligatorio cuando el tipo de transporte es autotransporte o ferroviario y el tipo de ubicacion sea de tipo Destino, en caso contrario se debe omitir.
    CCP050 Error en la ubicación (:nUbicacion). El campo distanciaRecorrida no debe existir cuando el tipo de ubicación sea Origen.
    CCP051 Error en la ubicación (:nUbicacion). El nodo Domicilio no debe existir cuando el tipo de estación sea Intermedia y exista el nodo TransporteFerroviario.
    CCP052 Error en la ubicación (:nUbicacion). El nodo Domicilio es obligatorio.
    CCP053 Error en la ubicación (:nUbicacion). El campo Domicilio:colonia debe contener una clave del catálogo de catCFDI:c_Colonia, donde la columna c_CodigoPostal debe ser igual a la clave registrada en el campo CodigoPostal.
    CCP054 Error en la ubicación (:nUbicacion). El campo Domicilio:localidad debe contener una clave del catálogo de catCFDI:c_Localidad, donde la columna clave de c_Estado debe ser igual a la clave registrada en el campo estado si el campo Pais tiene el valor MEX.
    CCP055 Error en la ubicación (:nUbicacion). El campo Domicilio:municipio debe contener una clave del catálogo de catCFDI:c_Municipio donde la columna clave de c_Estado debe ser igual a la clave registrada en el campo Estado si el campo Pais tiene el valor MEX.
    CCP056 Error en la ubicación (:nUbicacion). El campo Domicilio:estado no existe o no contiene un valor o no corresponde con una clave del catCFDI:c_Estado.
    CCP057 Error en la ubicación (:nUbicacion). El campo Domicilio:cp debe contener una clave del catálogo de catCFDI:c_CodigoPostal, donde la columna clave de c_Estado debe ser igual a la clave registrada en el campo Estado, la columna clave de c_Municipio debe ser igual a la clave registrada en el campo Municipio, y si existe el campo de Localidad, la columna clave de c_Localidad debe ser igual a la clave registrada en el campo Localidad si el campo Pais tiene el valor MEX.
    CCP058 El nodo mercancías debe contener por lo menos un nodo Mercancias:AutortransporteFederal, Mercancias:TransporteMaritimo, Mercancias:TransporteAereo o Mercancias:TransporteFerroviario.
    CCP059 Error en el campo Mercancias:pesoBrutoTotal, este debe ser igual a la suma de los campos Mercancias:Mercancia:pesoEnKg siempre y cuando el tipo de transporte sea autotransporte, transporte aéreo o transporte ferroviario.
    CCP060 Error en el campo Mercancias:pesoBrutoTotal, este campo es obligatorio y debe ser igual a la suma de valores registrados en los campos Mercancias:Mercancia:DetalleMercancia:pesoBruto cuando el tipo de transporte es marítimo.
    CCP061 Error en el campo Mercancias:pesoBrutoTotal, este debe ser igual a la suma de los campos Mercancias:Mercancia:DetalleMercancia:pesoBruto por cada nodo Mercancias:Mercancia cuando el tipo de transporte es marítimo.
    CCP062 Error en el campo Mercancias:pesoNetoTotal, este campo es obligatorio y debe ser igual a la suma de valores registrados en los campos Mercancia:DetalleMercancia:pesoNeto cuando el tipo de transporte es marítimo.
    CCP063 Error en el campo Mercancias:pesoNetoTotal, este debe ser igual a la suma de valores registrados en los campos Mercancia:DetalleMercancia:pesoNeto cuando el tipo de transporte es marítimo.
    CCP064 Error en el campo Mercancias:pesoNetoTotal, este campo es obligatorio y debe ser igual a la suma de valores registrados en los campos TransporteFerroviario:Carro:toneladasNetasCarro cuando el tipo de transporte es ferroviario.
    CCP065 Error en el campo Mercancias:pesoNetoTotal, este debe ser igual a la suma de valores registrados en los campos TransporteFerroviario:Carro:toneladasNetasCarro cuando el tipo de transporte es ferroviario.
    CCP066 El campo logisticaInversaRecoleccionDevolucion no debe existir, cuando el tipo de tranporte sea transporte aéreo, transporte marítimo o transporte ferroviario.
    CCP067 Error en el campo Mercancias:numTotalMercancias El valor registrado no coincide con el número de elementos "Mercancias:Mercancia" que se registraron en el complemento.
    CCP068 Error en la mercancía (:nMercancia). El campo bienesTransportados tiene una clave (:nBienesTransportados) no soportada para carta porte.
    CCP069 Error en la mercancía (:nMercancia). El campo materialPeligroso es obligatorio cuando el campo Mercancias:Mercancia:bienesTransportados es considerado un material peligroso en el catálogo de productos y servicios proporcionado por el SAT.
    CCP070 Error en la mercancía (:nMercancia). El campo materialPeligroso no debe existir.
    CCP071 Error en la mercancía (:nMercancia). El campo claveMaterialPeligroso es obligatorio cuando el campo materialPeligroso contiene el valor Sí.
    CCP072 Error en la mercancía (:nMercancia). El campo claveMaterialPeligroso no debe existir cuando el campo materialPeligroso contiene el valor No.
    CCP073 Error en la mercancía (:nMercancia). El campo embalaje es obligatorio, cuando existe el campo claveMaterialPeligroso.
    CCP074 Error en la mercancía (:nMercancia). El campo embalaje no debe existir.
    CCP075 El campo sectorCOFEPRIS debe contener un valor del catálogo c_SectorCOFEPRIS.
    CCP076 Error en la mercancía (:nMercancia). El campo denominacionGenericaProd debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS.
    CCP077 Error en la mercancía (:nMercancia). El campo denominacionDistintivaProd debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS.
    CCP078 Error en la mercancía (:nMercancia). El campo fabricante debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS.
    CCP079 Error en la mercancía (:nMercancia). El campo fechaCaducidad debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS.
    CCP080 Error en la mercancía (:nMercancia). El campo loteMedicamento debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS.
    CCP081 Error en la mercancía (:nMercancia). El campo formaFarmaceutica debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS.
    CCP082 Error en la mercancía (:nMercancia). El campo condicionesEspTransp debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS.
    CCP083 Error en la mercancía (:nMercancia). El campo registroSanitarioFolioAutorizacion debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS.
    CCP084 Error en la mercancía (:nMercancia). El campo nombreIngredienteActivo debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS.
    CCP085 Error en la mercancía (:nMercancia). El campo nombreQuimico debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS.
    CCP086 Error en la mercancía (:nMercancia). El campo numeroCAS debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS.
    CCP087 Error en la mercancía (:nMercancia). El campo numRegSanPlagCOFEPRIS debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS.
    CCP088 Error en la mercancía (:nMercancia). El campo datosFabricante debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS.
    CCP089 Error en la mercancía (:nMercancia). El campo datosFormulador debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS.
    CCP090 Error en la mercancía (:nMercancia). El campo datosMaquilador debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS.
    CCP091 Error en la mercancía (:nMercancia). El campo usoAutorizado debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS.
    CCP092 Error en la mercancía (