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
- Probar conexión
- Obtener saldo disponible en su cuenta
CFDi Comerciales
- Timbrado de CFDi 4.0
- Generar Recibo Electrónico de Pago (Complemento para Recepción de Pagos) 2.0
- Cancelar CFDi
- Obtener información de un CFDi previamente generado
- Obtener listado de comprobantes emitidos
- Enviar por correo un comprobante previamente generado
Nómina
- Timbrado de comprobante de nómina asalariado
- Timbrado de comprobante de nómina asimilable
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.
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.
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.
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.
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.
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.
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.
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.
Partidas / InformacionAduanera
numeroPedimentoEste campo cambió de ser atributo a ser un nodo donde puede llevar multiples numero de pedimentos.
Partidas / Partes / InformacionAduanera
numeroPedimento Este campo cambió de ser atributo a ser un nodo donde puede llevar multiples numero de pedimentos.
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:
- Es necesario contar con la Modalidad API activa en tu cuenta.
- Contar con un token de autenticación.
- Tener Series de Folios para la modalidad API en el módulo de Datos Fiscales.
- Tener un Certificado de Sello Digital (CSD) configurado en tu cuenta.
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.
- Cuando nos encontramos realizando la implementación inicial del API es muy útil poder realizar pruebas de generación de comprobantes "sin efectos fiscales" para asegurarnos de que todo funciona correctamente.
- Al utilizar el valor debug se generan comprobantes de prueba "sin valor fiscal" permitiendo verificar que todos los demás elementos del comprobante sean correctos, como si fuese uno real (diseño del comprobante, envío de correo, configuración de impuestos, etc).
| 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.
- Debe tener la cantidad de decimales que soporte la moneda.
| 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.
- Debe de tener hasta la cantidad de decimales que soporte la moneda.
- El valor debe de ser menor o igual que el subtotal.
- Debe registrarse éste campo cuando al menos una de las partidas tenga descuento. En caso de que no se apliquen descuentos, éste campo no debe existir.
- Debe ser igual a la suma de los campos descuento de cada una de las partidas, redondeado al número de decimales que soporta la moneda utilizada.
| 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.
- Debe de tener la misma cantidad de decimales que soporte la moneda.
- Cuando el tipo de comprobante sea de tipo Traslado (Carta Porte) éste campo debe ser igual a cero.
| 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.
- El diseño a utilizar y el nombre asignado se pueden consultar en el portal web de Enlace Fiscal.
- En caso de no especificarse se utilizará el diseño predeterminado del portal web de su cuenta de Enlace 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
- Cuando se registre el valor "02", se debe incluir el Complemento para Comercio Exterior
| 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.
- En el caso en el que se utilice más de una forma de pago , se debe señalar con la que se liquida la mayor cantidad del pago. Cuando se reciban distintas formas de pago con el mismo importe, se debe registrar una de ellas a consideración del usuario.
- En caso de que no se reciba el pago de la operación en el momento de la emisión del comprobante (PPD), se debe seleccionar la clave 99 (Por definir).
- Este campo debe contener la clave 99 cuando el campo
metodoDePagocontenga el valor "PPD".
| 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.
- En este campo se podrán registrar de 1 hasta 1000 caracteres.
| 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.
- Esta campo es informativo y se recomienda capturar la fecha cuando el método de pago es PPD.
| 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.
- En caso de haber utilizado un valor en el nodo formaDePago que no requiera especificar un dato numérico (ejemplo: Efectivo) se debe omitir éste nodo por completo.
| 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.
- Cuando el valor de este campo sea "05" el campo
RegimenFiscaldebe ser "621".
| 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.
- Cuando el valor del campo
periodicidadsea "05", este campo debe contener alguno de los valores "13", "14", "15", "16", "17" o "18" - Si el campo
periodicidadcontiene un valor diferente de "05", este campo debe contener alguno de los valores "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11" o "12".
| 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.
- El valor registrado debe ser igual al año en curso o hasta 5 ejercicios anteriores.
| 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.
- Si el comprobante generado es una Nota de Crédito, en éste campo se señala el comprobante tipo "I" (Ingreso) al que se relaciona ésta Nota de Crédito.
- En el caso de que el comprobante generado sea de tipo "T" (Traslado), en éste campo se indica el comprobante de tipo "I" (Ingreso) o "E" (Egreso) relacionados a éste comprobante.
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.
- Sólo se puede utilizar la opción de Serie-Folio cuando el comprobante a relacionar se haya emitido también en Enlace Fiscal. En caso contrario, se debe utilizar el UUID.
| Tipo | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| string | Requerido | UUID o Serie-Folio | eeca15af-e9b1-4a45-9861-8d51c4fa8219FA-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.
- Si el RFC es genérico (XAXX010101000, XEXX010101000) el nodo DomicilioFiscal del receptor es opcional.
- 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 |
nombre Campo requerido, es el nombre fiscal del receptor (cliente) y se debe registrar en MAYÚSCULAS de la siguiente manera:
- Tratándose de persona física: En mayúsculas el nombre, primer apellido y segundo apellido.
- Tratándose de persona moral: En mayúsculas denominación o razón social registrados en el RFC.
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.
- Si el contribuyente receptor es genérico (XEXX010101000, XAXX010101000) se debe registrar la clave "616" Sin obligaciones fiscales.
| 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.
- En el caso de que se emita un CFDI a un residente en el extranjero con RFC genérico XEXX010101000, en este campo se debe registrar la clave "S01" (sin_efectos_fiscales).
- El valor que registre en este atributo debe aplicar para el tipo de persona del receptor y el régimen correspondiente, es decir, si el RFC tiene longitud de 12 posiciones, debe ser de persona moral y si tiene longitud de 13 posiciones debe ser de persona física
| 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.
- Por ejemplo, la Escuela ABC emite facturas a sus alumnos por el pago de colegiatura, la escuela identifica a sus alumnos por número de matrícula y desea que este dato se muestre en la versión impresa del comprobante fiscal.
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
- Se pueden agregar hasta 200 partidas por comprobante.
- Se requiere al menos una partida por comprobante.
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.
- En el caso de que la clave de un producto o servicio no se encuentre en el catálogo se debe registrar la clave "01010101".
| 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.
- No se permiten valores negativos.
- La precisión con la que se indica éste dato deberá ser el indicado para la moneda utilizada.
| 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.
- Debe de ser el equivalente al resultado de multiplicar la cantidad por el valor unitario de la partida sin considerar descuentos.
- No se permiten valores negativos.
| 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.
- Si el valor registrado en este campo es "02" (Sí objeto de impuesto) se deben desglosar los Impuestos a nivel de Concepto.
- Si el valor registrado en este campo es "01" (No objeto de impuesto), "03" (Sí objeto del impuesto y no obligado al desglose), "04" (Sí objeto del impuesto y no causa impuesto) o "05" (Sí objeto del impuesto, IVA crédito PODEBI) no se desglosan Impuestos a nivel Concepto.
| 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.
- Debe de tener el mismo número de decimales que el campo de
importe. - No se permiten valores negativos.
- Debe ser menor o igual al campo de
importe.
| 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.
- Cuando el tipo de comprobante sea "T" o "P", este elemento no debe existir.
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.
- Uno de los impuestos más comunes es el IVA con tasa del 16%, en éste caso el
tipoFactorestasa.
| 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.
- Este campo No es requerido cuando el campo
tipoFactorseaexento.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| float | Condicional | 0.16 |
baseImpuesto Es el valor base para el cálculo del impuesto de la partida.
- El valor de éste campo debe de ser mayor a cero.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| float | Requerido | 500.00 |
importe Es el importe del impuesto que aplica a la partida.
- Este campo No es requerido cuando el campo
tipoFactorseaexento. - Este campo es requerido cuando el campo
tipoFactorse haya registrado comotasaocuota. - No se permiten valores negativos.
| 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.
- La clave registrada en este campo debe ser diferente a la clave registrada en los campos RFC del Emisor y Receptor.
| 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.
- En el caso de personas morales se debe adicionar el régimen societario.
| 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.
- En el caso de personas morales se debe adicionar el régimen societario.
| 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.
- El código postal, debe estar asociado a la clave de RFC registrado en el campo rfc de cuentas a terceros.
| 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.
- En este campo se podrán agregar multiples números de cuenta predial.
| 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.
- Solo se incluye éste campo cuando el comprobante No incluya el complemento de comercio exterior.
| 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.
- Solo se incluye éste campo cuando el comprobante No incluya el complemento de comercio exterior.
| 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.
- Este campo No es requerido cuando solo se envian
Impuestosde tipotraslado.
| 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.
- Este campo No es requerido cuando solo se envian
Impuestosde tiporetencion.
| 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.
- No se permiten valores negativos y debe ser igual al redondeo de la suma de los importes de los campos Base trasladados registrados en los conceptos, donde el impuesto del concepto sea igual al campo impuesto de este apartado y la tasaOCuota del concepto sea igual al campo tasaOCuota de este apartado.
- En caso de que solo existan conceptos con tipoFactor exento, la suma de este atributo debe ser igual al redondeo de la suma de los importes de los campos Base registrados en los conceptos.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| float | Requerido | 15000.00 |
importe Es el importe del impuesto que aplica a la partida.
- Este campo es requerido cuando el campo
tipoFactorse haya registrado comotasaocuota. - No se permiten valores negativos.
- Debe de tener el número de decimales que soporte la moneda.
- Debe ser igual al redondeo de la suma de los importes de los impuestos registrados en las partidas que correspondan al mismo tipo.
| 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.
- Aplican las mismas reglas y estructura que el Bloque Inferior.
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.
- Se permite solamente un bloque superior y un bloque inferior.
- Pueden aparecer ambos bloques o solamente uno de los bloques.
- Existen dos opciones para el texto del bloque: un solo bloque de texto libre
textoo renglones definidos utilizando la etiquetaTextoRenglonesy separando cada renglón con una coma. Se debe utilizar solo una de las dos opciones por petición.
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.
- Se puede incluir un máximo de 10 renglones dentro del bloque de información adicional.
| 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.
- Si requiere especificar más de una dirección de correo electrónico, es necesario dividir cada dirección con una coma.
| 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.
- Cuando el receptor del correo es un sistema, se debe utilizar el tipo
sistemapara que el formato de correo sea texto plano y se adjunte la versión XML.
| 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.
- Se pueden incluir un máximo de 6 campos personalizados.
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 |
|---|---|---|
| Efectivo | ||
| Cheque nominativo | ||
| Transferencia electrónica de fondos | ||
| Tarjeta de crédito | ||
| Monedero electrónico | ||
| Dinero electrónico | ||
| Vales de despensa | ||
| Dación en pago | ||
| Pago por subrogación | ||
| Pago por consignación | ||
| Condonación | ||
| Compensación | ||
| Novación | ||
| Confusión | ||
| Remisión de deuda | ||
| Prescripción o caducidad | ||
| A satisfacción del acreedor | ||
| Tarjeta de débito | ||
| Tarjeta de servicios | ||
| Aplicación de anticipos | ||
| Intermediario pagos | ||
| Por definir |
Validación cuenta ordenante o destinatario
Cuando se emite un recibo electrónico de pagos, si se decide capturar el dato ctaOrdenante o ctaBeneficiario, es necesario tomar en cuenta que el valor a enviar pasará por una validación que depende del atributo formaDePago enviado. Lo anterior aplica para las formas de pago bancarizadas.
| formaDePago | Validación ctaOrdenante | Validación ctaBeneficiario | |
|---|---|---|---|
| 02 | cheque | Exactamente 11 dígitos numéricos (Ejemplo: 12345678901) o Exactamente 18 dígitos numéricos (Ejemplo: 123456789012345678) |
Un número de 10 u 11 dígitos (Ejemplo: 1234567890 o 12345678901) o Un número de 15 o 16 dígitos (Ejemplo: 123456789012345 o 1234567890123456) o Un número de 18 dígitos (Ejemplo: 123456789012345678) o Una combinación de letras mayúsculas números o guiones bajos de entre 10 y 50 caracteres (Ejemplo: ABCD1234_XYZ o CLAVE_00192873645) |
| 03 | transferencia | Exactamente 10 dígitos numéricos (Ejemplo: 1234567890) o Exactamente 16 dígitos numéricos (Ejemplo: 1234567812345678) o Exactamente 18 dígitos numéricos (Ejemplo: 123456789012345678) |
Exactamente 10 dígitos numéricos (Ejemplo: 1234567890) o Exactamente 18 dígitos numéricos (Ejemplo: 123456789012345678) |
| 04 | tarjeta_credito | Exactamente 16 dígitos numéricos (Ejemplo: 1234567812345678) | Un número de 10 u 11 dígitos (Ejemplo: 1234567890 o 12345678901) o Un número de 15 o 16 dígitos (Ejemplo: 123456789012345 o 1234567890123456) o Un número de 18 dígitos (Ejemplo: 123456789012345678) o Una combinación de letras mayúsculas números o guiones bajos de entre 10 y 50 caracteres (Ejemplo: ABCD1234_XYZ o CLAVE_00192873645) |
| 05 | monedero | Un número de 10 u 11 dígitos (Ejemplo: 1234567890 o 12345678901) o Un número de 15 o 16 dígitos (Ejemplo: 123456789012345 o 1234567890123456) o Un número de 18 dígitos (Ejemplo: 123456789012345678) o Una combinación de letras mayúsculas, números o guiones bajos de entre 10 y 50 caracteres (Ejemplo: ABCD1234_XYZ o CLAVE_00192873645) |
Un número de 10 u 11 dígitos (Ejemplo: 1234567890 o 12345678901) o Un número de 15 o 16 dígitos (Ejemplo: 123456789012345 o 1234567890123456) o Un número de 18 dígitos (Ejemplo: 123456789012345678) o Una combinación de letras mayúsculas números o guiones bajos de entre 10 y 50 caracteres (Ejemplo: ABCD1234_XYZ o CLAVE_00192873645) |
| 06 | dinero_electronico | Exactamente 10 dígitos numéricos (Ejemplo: 1234567890) | No |
| 29 | tarjeta_servicio | Un número de 15 o 16 dígitos (Ejemplo: 123456789012345 o 1234567890123456) | Un número de 10 u 11 dígitos (Ejemplo: 1234567890 o 12345678901) o Un número de 15 o 16 dígitos (Ejemplo: 123456789012345 o 1234567890123456) o Un número de 18 dígitos (Ejemplo: 123456789012345678) o Una combinación de letras mayúsculas números o guiones bajos de entre 10 y 50 caracteres (Ejemplo: ABCD1234_XYZ o CLAVE_00192873645) |
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 |
|---|---|---|---|---|
| Impuesto Sobre la Renta | Si | No | ||
| Impuesto al Valor Agregado | Si | Si | ||
| Impuesto Especial sobre Producción y Servicios | Si | Si |
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 |
|---|---|
| Pago en una sola exhibición | |
| 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 |
|---|---|
| Alemania | |
| Argentina | |
| Brasil | |
| Canadá | |
| Chile | |
| Estados Unidos (los) | |
| México | |
| Italia | |
| Japón |
Cátalogo de Países (c_Pais)
| Clave | País |
|---|---|
| Afganistán | |
| Islas Åland | |
| Albania | |
| Alemania | |
| Andorra | |
| Angola | |
| Anguila | |
| Antártida | |
| Antigua y Barbuda | |
| Arabia Saudita | |
| Argelia | |
| Argentina | |
| Armenia | |
| Aruba | |
| Australia | |
| Austria | |
| Azerbaiyán | |
| Bahamas (las) | |
| Bangladés | |
| Barbados | |
| Baréin | |
| Bélgica | |
| Belice | |
| Benín | |
| Bermudas | |
| Bielorrusia | |
| Myanmar | |
| Bolivia, Estado Plurinacional de | |
| Bosnia y Herzegovina | |
| Botsuana | |
| Brasil | |
| Brunéi Darussalam | |
| Bulgaria | |
| Burkina Faso | |
| Burundi | |
| Bután | |
| Cabo Verde | |
| Camboya | |
| Camerún | |
| Canadá | |
| Catar | |
| Bonaire, San Eustaquio y Saba | |
| Chad | |
| Chile | |
| China | |
| Chipre | |
| Colombia | |
| Comoras | |
| Corea (la República Democrática Popular de) | |
| Corea (la República de) | |
| Côte d'Ivoire | |
| Costa Rica | |
| Croacia | |
| Cuba | |
| Curaçao | |
| Dinamarca | |
| Dominica | |
| Ecuador | |
| Egipto | |
| El Salvador | |
| Emiratos Árabes Unidos (Los) | |
| Eritrea | |
| Eslovaquia | |
| Eslovenia | |
| España | |
| Estados Unidos (los) | |
| Estonia | |
| Etiopía | |
| Filipinas (las) | |
| Finlandia | |
| Fiyi | |
| Francia | |
| Gabón | |
| Gambia (La) | |
| Georgia | |
| Ghana | |
| Gibraltar | |
| Granada | |
| Grecia | |
| Groenlandia | |
| Guadalupe | |
| Guam | |
| Guatemala | |
| Guayana Francesa | |
| Guernsey | |
| Guinea | |
| Guinea-Bisáu | |
| Guinea Ecuatorial | |
| Guyana | |
| Haití | |
| Honduras | |
| Hong Kong | |
| Hungría | |
| India | |
| Indonesia | |
| Irak | |
| Irán (la República Islámica de) | |
| Irlanda | |
| Isla Bouvet | |
| Isla de Man | |
| Isla de Navidad | |
| Isla Norfolk | |
| Islandia | |
| Islas Caimán (las) | |
| Islas Cocos (Keeling) | |
| Islas Cook (las) | |
| Islas Feroe (las) | |
| Georgia del sur y las islas sandwich del sur | |
| Isla Heard e Islas McDonald | |
| Islas Malvinas [Falkland] (las) | |
| Islas Marianas del Norte (las) | |
| Islas Marshall (las) | |
| Pitcairn | |
| Islas Salomón (las) | |
| Islas Turcas y Caicos (las) | |
| Islas de Ultramar Menores de Estados Unidos (las) | |
| Islas Vírgenes (Británicas) | |
| Islas Vírgenes (EE.UU.) | |
| Israel | |
| Italia | |
| Jamaica | |
| Japón | |
| Jersey | |
| Jordania | |
| Kazajistán | |
| Kenia | |
| Kirguistán | |
| Kiribati | |
| Kuwait | |
| Lao, (la) República Democrática Popular | |
| Lesoto | |
| Letonia | |
| Líbano | |
| Liberia | |
| Libia | |
| Liechtenstein | |
| Lituania | |
| Luxemburgo | |
| Macao | |
| Madagascar | |
| Malasia | |
| Malaui | |
| Maldivas | |
| Malí | |
| Malta | |
| Marruecos | |
| Martinica | |
| Mauricio | |
| Mauritania | |
| Mayotte | |
| México | |
| Micronesia (los Estados Federados de) | |
| Moldavia (la República de) | |
| Mónaco | |
| Mongolia | |
| Montenegro | |
| Montserrat | |
| Mozambique | |
| Namibia | |
| Nauru | |
| Nepal | |
| Nicaragua | |
| Níger (el) | |
| Nigeria | |
| Niue | |
| Noruega | |
| Nueva Caledonia | |
| Nueva Zelanda | |
| Omán | |
| Países Bajos (los) | |
| Pakistán | |
| Palaos | |
| Palestina, Estado de | |
| Panamá | |
| Papúa Nueva Guinea | |
| Paraguay | |
| Perú | |
| Polinesia Francesa | |
| Polonia | |
| Portugal | |
| Puerto Rico | |
| Reino Unido (el) | |
| República Centroafricana (la) | |
| República Checa (la) | |
| Macedonia (la antigua República Yugoslava de) | |
| Congo | |
| Congo (la República Democrática del) | |
| República Dominicana (la) | |
| Reunión | |
| Ruanda | |
| Rumania | |
| Rusia, (la) Federación de | |
| Sahara Occidental | |
| Samoa | |
| Samoa Americana | |
| San Bartolomé | |
| San Cristóbal y Nieves | |
| San Marino | |
| San Martín (parte francesa) | |
| San Pedro y Miquelón | |
| San Vicente y las Granadinas | |
| Santa Helena, Ascensión y Tristán de Acuña | |
| Santa Lucía | |
| Santo Tomé y Príncipe | |
| Senegal | |
| Serbia | |
| Seychelles | |
| Sierra leona | |
| Singapur | |
| Sint Maarten (parte holandesa) | |
| Siria, (la) República Árabe | |
| Somalia | |
| Sri Lanka | |
| Suazilandia | |
| Sudáfrica | |
| Sudán (el) | |
| Sudán del Sur | |
| Suecia | |
| Suiza | |
| Surinam | |
| Svalbard y Jan Mayen | |
| Tailandia | |
| Taiwán (Provincia de China) | |
| Tanzania, República Unida de | |
| Tayikistán | |
| Territorio Británico del Océano Índico (el) | |
| Territorios Australes Franceses (los) | |
| Timor-Leste | |
| Togo | |
| Tokelau | |
| Tonga | |
| Trinidad y Tobago | |
| Túnez | |
| Turkmenistán | |
| Turquía | |
| Tuvalu | |
| Ucrania | |
| Uganda | |
| Uruguay | |
| Uzbekistán | |
| Vanuatu | |
| Santa Sede[Estado de la Ciudad del Vaticano] (la) | |
| Venezuela, República Bolivariana de | |
| Viet Nam | |
| Wallis y Futuna | |
| Yemen | |
| Yibuti | |
| Zambia | |
| Zimbabue | |
| 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 |
|---|---|
| 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 |
|---|---|---|---|
| Peso Mexicano | 2 | 500% | |
| Dolar americano | 2 | 500% | |
| Dolar Canadiense | 2 | 500% | |
| Euro | 2 | 500% |
Catálogo de Monedas (c_Moneda)
| Clave | Descripción | Número de Decimales | Porcentaje de Variación |
|---|---|---|---|
| Dirham de EAU | 2 | 500% | |
| Afghani | 2 | 500% | |
| Lek | 2 | 500% | |
| Dram armenio | 2 | 500% | |
| Florín antillano neerlandés | 2 | 500% | |
| Kwanza | 2 | 500% | |
| Peso Argentino | 2 | 500% | |
| Dólar Australiano | 2 | 500% | |
| Aruba Florin | 2 | 500% | |
| Azerbaijanian Manat | 2 | 500% | |
| Convertibles marca | 2 | 500% | |
| Dólar de Barbados | 2 | 500% | |
| Taka | 2 | 500% | |
| Lev búlgaro | 2 | 500% | |
| Dinar de Bahrein | 3 | 500% | |
| Burundi Franc | 0 | 500% | |
| Dólar de Bermudas | 2 | 500% | |
| Dólar de Brunei | 2 | 500% | |
| Boliviano | 2 | 500% | |
| Mvdol | 2 | 500% | |
| Real brasileño | 2 | 500% | |
| Dólar de las Bahamas | 2 | 500% | |
| Ngultrum | 2 | 500% | |
| Pula | 2 | 500% | |
| Rublo bielorruso | 0 | 500% | |
| Dólar de Belice | 2 | 500% | |
| Dolar Canadiense | 2 | 500% | |
| Franco congoleño | 2 | 500% | |
| WIR Euro | 2 | 500% | |
| Franco Suizo | 2 | 500% | |
| Franc WIR | 2 | 500% | |
| Unidad de Fomento | 4 | 500% | |
| Peso chileno | 0 | 500% | |
| Yuan Renminbi | 2 | 500% | |
| Peso Colombiano | 2 | 500% | |
| Unidad de Valor real | 2 | 500% | |
| Colón costarricense | 2 | 500% | |
| Peso Convertible | 2 | 500% | |
| Peso Cubano | 2 | 500% | |
| Cabo Verde Escudo | 2 | 500% | |
| Corona checa | 2 | 500% | |
| Franco de Djibouti | 0 | 500% | |
| Corona danesa | 2 | 500% | |
| Peso Dominicano | 2 | 500% | |
| Dinar argelino | 2 | 500% | |
| Libra egipcia | 2 | 500% | |
| Nakfa | 2 | 500% | |
| Birr etíope | 2 | 500% | |
| Euro | 2 | 500% | |
| Dólar de Fiji | 2 | 500% | |
| Libra malvinense | 2 | 500% | |
| Libra Esterlina | 2 | 500% | |
| Lari | 2 | 500% | |
| Cedi de Ghana | 2 | 500% | |
| Libra de Gibraltar | 2 | 500% | |
| Dalasi | 2 | 500% | |
| Franco guineano | 0 | 500% | |
| Quetzal | 2 | 500% | |
| Dólar guyanés | 2 | 500% | |
| Dolar De Hong Kong | 2 | 500% | |
| Lempira | 2 | 500% | |
| Kuna | 2 | 500% | |
| Gourde | 2 | 500% | |
| Florín | 2 | 500% | |
| Rupia | 2 | 500% | |
| Nuevo Shekel Israelí | 2 | 500% | |
| Rupia india | 2 | 500% | |
| Dinar iraquí | 3 | 500% | |
| Rial iraní | 2 | 500% | |
| Corona islandesa | 0 | 500% | |
| Dólar Jamaiquino | 2 | 500% | |
| Dinar jordano | 3 | 500% | |
| Yen | 0 | 500% | |
| Chelín keniano | 2 | 500% | |
| Som | 2 | 500% | |
| Riel | 2 | 500% | |
| Franco Comoro | 0 | 500% | |
| Corea del Norte ganó | 2 | 500% | |
| Won | 0 | 500% | |
| Dinar kuwaití | 3 | 500% | |
| Dólar de las Islas Caimán | 2 | 500% | |
| Tenge | 2 | 500% | |
| Kip | 2 | 500% | |
| Libra libanesa | 2 | 500% | |
| Rupia de Sri Lanka | 2 | 500% | |
| Dólar liberiano | 2 | 500% | |
| Loti | 2 | 500% | |
| Dinar libio | 3 | 500% | |
| Dirham marroquí | 2 | 500% | |
| Leu moldavo | 2 | 500% | |
| Ariary malgache | 2 | 500% | |
| Denar | 2 | 500% | |
| Kyat | 2 | 500% | |
| Tugrik | 2 | 500% | |
| Pataca | 2 | 500% | |
| Ouguiya | 2 | 500% | |
| Rupia de Mauricio | 2 | 500% | |
| Rupia | 2 | 500% | |
| Kwacha | 2 | 500% | |
| Peso Mexicano | 2 | 500% | |
| México Unidad de Inversión (UDI) | 2 | 500% | |
| Ringgit malayo | 2 | 500% | |
| Mozambique Metical | 2 | 500% | |
| Dólar de Namibia | 2 | 500% | |
| Naira | 2 | 500% | |
| Córdoba Oro | 2 | 500% | |
| Corona noruega | 2 | 500% | |
| Rupia nepalí | 2 | 500% | |
| Dólar de Nueva Zelanda | 2 | 500% | |
| Rial omaní | 3 | 500% | |
| Balboa | 2 | 500% | |
| Nuevo Sol | 2 | 500% | |
| Kina | 2 | 500% | |
| Peso filipino | 2 | 500% | |
| Rupia de Pakistán | 2 | 500% | |
| Zloty | 2 | 500% | |
| Guaraní | 0 | 500% | |
| Qatar Rial | 2 | 500% | |
| Leu rumano | 2 | 500% | |
| Dinar serbio | 2 | 500% | |
| Rublo ruso | 2 | 500% | |
| Franco ruandés | 0 | 500% | |
| Riyal saudí | 2 | 500% | |
| Dólar de las Islas Salomón | 2 | 500% | |
| Rupia de Seychelles | 2 | 500% | |
| Libra sudanesa | 2 | 500% | |
| Corona sueca | 2 | 500% | |
| Dolar De Singapur | 2 | 500% | |
| Libra de Santa Helena | 2 | 500% | |
| Leona | 2 | 500% | |
| Chelín somalí | 2 | 500% | |
| Dólar de Suriname | 2 | 500% | |
| Libra sudanesa Sur | 2 | 500% | |
| Dobra | 2 | 500% | |
| Colon El Salvador | 2 | 500% | |
| Libra Siria | 2 | 500% | |
| Lilangeni | 2 | 500% | |
| Baht | 2 | 500% | |
| Somoni | 2 | 500% | |
| Turkmenistán nuevo manat | 2 | 500% | |
| Dinar tunecino | 3 | 500% | |
| Pa'anga | 2 | 500% | |
| Lira turca | 2 | 500% | |
| Dólar de Trinidad y Tobago | 2 | 500% | |
| Nuevo dólar de Taiwán | 2 | 500% | |
| Shilling tanzano | 2 | 500% | |
| Hryvnia | 2 | 500% | |
| Shilling de Uganda | 0 | 500% | |
| Dolar americano | 2 | 500% | |
| Dólar estadounidense (día siguiente) | 2 | 500% | |
| Peso Uruguay en Unidades Indexadas (URUIURUI) | 0 | 500% | |
| Peso Uruguayo | 2 | 500% | |
| Uzbekistán Sum | 2 | 500% | |
| Bolívar | 2 | 500% | |
| Dong | 0 | 500% | |
| Vatu | 0 | 500% | |
| Tala | 2 | 500% | |
| Franco CFA BEAC | 0 | 500% | |
| Plata | 0 | 500% | |
| Oro | 0 | 500% | |
| Unidad de Mercados de Bonos Unidad Europea Composite (EURCO) | 0 | 500% | |
| Unidad Monetaria de Bonos de Mercados Unidad Europea (UEM-6) | 0 | 500% | |
| Mercados de Bonos Unidad Europea unidad de cuenta a 9 (UCE-9) | 0 | 500% | |
| Mercados de Bonos Unidad Europea unidad de cuenta a 17 (UCE-17) | 0 | 500% | |
| Dólar del Caribe Oriental | 2 | 500% | |
| DEG (Derechos Especiales de Giro) | 0 | 500% | |
| Franco CFA BCEAO | 0 | 500% | |
| Paladio | 0 | 500% | |
| Franco CFP | 0 | 500% | |
| Platino | 0 | 500% | |
| Sucre | 0 | 500% | |
| Códigos reservados específicamente para propósitos de prueba | 0 | 500% | |
| Unidad ADB de Cuenta | 0 | 500% | |
| Los códigos asignados para las transacciones en que intervenga ninguna moneda | 0 | 500% | |
| Rial yemení | 2 | 500% | |
| Rand | 2 | 500% | |
| Kwacha zambiano | 2 | 500% | |
| 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.
- Cuando el tipo de relación tenga la clave "01" o "02", no se deben registrar notas de crédito y débito con comprobante de tipo "T" (Traslado), "P" (Pago) o "N" (Nómina).
- Cuando el tipo de relación tenga la clave "03", no se deben registrar devoluciones de mercancías sobre comprobantes de tipo "E" (Egreso), "P" (Pago) o "N" (Nómina).
- Cuando el tipo de relación tenga la clave "04", si este documento que se está generando es de tipo "I" (Ingreso) o "E" (Egreso), puede sustituir a un comprobante de tipo "I" (Ingreso) o "E" (Egreso), en otro caso debe de sustituir a un comprobante del mismo tipo.
- Cuando el tipo de relación sea "05", este documento que se ésta generando debe ser de tipo "T" (Traslado), y los documentos relacionados deben ser un comprobante de tipo "I" (Ingreso) o "E" (Egreso).
- Cuando el tipo de relación sea "06", este documento que se ésta generando debe ser de tipo "I" (Ingreso) o "E" (Egreso) y los documentos relacionados deben ser de tipo "T" (Traslado).
- Cuando el tipo de relación sea "07", este documento que se ésta generando debe ser de tipo "I" (Ingreso) o "E" (Egreso) y los documentos relacionados deben ser de tipo "I" (Ingreso) o "E" (Egreso).
Catálogo de Tipo de Relación (c_TipoRelacion)
| Clave | Tipo | Clave Texto |
|---|---|---|
| Nota de crédito de los documentos relacionados | ||
| Nota de débito de los documentos relacionados | ||
| Devolución de mercancía sobre facturas o traslados previos | ||
| Sustitución de los CFDI previos | ||
| Traslados de mercancías facturados previamente | ||
| Factura generada por los traslados previos | ||
| CFDI por aplicación de 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 |
|---|---|---|---|---|
| Adquisición de mercancías. | Si | Si | ||
| Devoluciones, descuentos o bonificaciones. | Si | Si | ||
| Gastos en general. | Si | Si | ||
| Construcciones. | Si | Si | ||
| Mobiliario y equipo de oficina por inversiones. | Si | Si | ||
| Equipo de transporte. | Si | Si | ||
| Equipo de computo y accesorios. | Si | Si | ||
| Dados, troqueles, moldes, matrices y herramental. | Si | Si | ||
| Comunicaciones telefónicas. | Si | Si | ||
| Comunicaciones satelitales. | Si | Si | ||
| Otra maquinaria y equipo. | Si | Si | ||
| Honorarios médicos, dentales y gastos hospitalarios. | Si | No | ||
| Gastos médicos por incapacidad o discapacidad. | Si | No | ||
| Gastos funerales. | Si | No | ||
| Donativos. | Si | No | ||
| Intereses reales efectivamente pagados por créditos hipotecarios (casa habitación). | Si | No | ||
| Aportaciones voluntarias al SAR. | Si | No | ||
| Primas por seguros de gastos médicos. | Si | No | ||
| Gastos de transportación escolar obligatoria. | Si | No | ||
| Depósitos en cuentas para el ahorro, primas que tengan como base planes de pensiones. | Si | No | ||
| Pagos por servicios educativos (colegiaturas). | Si | No | ||
| Sin efectos fiscales. | Si | Si | ||
| Pagos | Si | Si | ||
| Nómina | 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 |
|---|---|
| 601, 603, 606, 612, 620, 621, 622, 623, 624, 625, 626 | |
| 601, 603, 606, 612, 620, 621, 622, 623, 624, 625, 626 | |
| 601, 603, 606, 612, 620, 621, 622, 623, 624, 625, 626 | |
| 601, 603, 606, 612, 620, 621, 622, 623, 624, 625, 626 | |
| 601, 603, 606, 612, 620, 621, 622, 623, 624, 625, 626 | |
| 601, 603, 606, 612, 620, 621, 622, 623, 624, 625, 626 | |
| 601, 603, 606, 612, 620, 621, 622, 623, 624, 625, 626 | |
| 601, 603, 606, 612, 620, 621, 622, 623, 624, 625, 626 | |
| 601, 603, 606, 612, 620, 621, 622, 623, 624, 625, 626 | |
| 601, 603, 606, 612, 620, 621, 622, 623, 624, 625, 626 | |
| 601, 603, 606, 612, 620, 621, 622, 623, 624, 625, 626 | |
| 605, 606, 608, 611, 612, 614, 607, 615, 625 | |
| 605, 606, 608, 611, 612, 614, 607, 615, 625 | |
| 605, 606, 608, 611, 612, 614, 607, 615, 625 | |
| 605, 606, 608, 611, 612, 614, 607, 615, 625 | |
| 605, 606, 608, 611, 612, 614, 607, 615, 625 | |
| 605, 606, 608, 611, 612, 614, 607, 615, 625 | |
| 605, 606, 608, 611, 612, 614, 607, 615, 625 | |
| 605, 606, 608, 611, 612, 614, 607, 615, 625 | |
| 605, 606, 608, 611, 612, 614, 607, 615, 625 | |
| 605, 606, 608, 611, 612, 614, 607, 615, 625 | |
| 601, 603, 605, 606, 608, 610, 611, 612, 614, 616, 620, 621, 622, 623, 624, 607, 615, 625, 626 | |
| 601, 603, 605, 606, 608, 610, 611, 612, 614, 616, 620, 621, 622, 623, 624, 607, 615, 625, 626 | |
| 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 |
|---|---|---|---|
| General de Ley Personas Morales | No | Sí | |
| Personas Morales con Fines no Lucrativos | No | Sí | |
| Sueldos y Salarios e Ingresos Asimilados a Salarios | Sí | No | |
| Arrendamiento | Sí | No | |
| Régimen de Enajenación o Adquisición de Bienes | No | Sí | |
| Demás ingresos | Sí | No | |
| Residentes en el Extranjero sin Establecimiento Permanente en México | Sí | Sí | |
| Ingresos por Dividendos (socios y accionistas) | Sí | No | |
| Personas Físicas con Actividades Empresariales y Profesionales | Sí | No | |
| Ingresos por intereses | Sí | No | |
| Régimen de los ingresos por obtención de premios | Sí | No | |
| Sin obligaciones fiscales | Sí | No | |
| Sociedades Cooperativas de Producción que optan por diferir sus ingresos | No | Sí | |
| Incorporación Fiscal | Sí | No | |
| Actividades Agrícolas, Ganaderas, Silvícolas y Pesqueras | No | Sí | |
| Opcional para Grupos de Sociedades | No | Sí | |
| Coordinados | No | Sí | |
| Régimen de las Actividades Empresariales con ingresos a través de Plataformas Tecnológicas | Sí | No | |
| Régimen Simplificado de Confianza | Sí | Sí |
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 |
|---|---|---|
| No objeto de impuesto | ||
| Sí objeto de impuesto | ||
| Sí objeto del impuesto y no obligado al desglose | ||
| Sí objeto del impuesto y no causa impuesto | ||
| Sí objeto del impuesto, IVA crédito PODEBI | ||
| Sí objeto del IVA, No traslado IVA | ||
| No traslado del IVA, Sí desglose IEPS | ||
| No traslado del IVA, No desglose IEPS |
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 |
|---|---|---|
| No aplica | ||
| Definitiva con clave A1 | ||
| Temporal | ||
| Definitiva con clave distinta a A1 o cuando no existe enajenación en términos del CFF |
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 |
|---|---|
| Diario | |
| Semanal | |
| Quincenal | |
| Mensual | |
| 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 |
|---|---|
| Enero | |
| Febrero | |
| Marzo | |
| Abril | |
| Mayo | |
| Junio | |
| Julio | |
| Agosto | |
| Septiembre | |
| Octubre | |
| Noviembre | |
| Diciembre | |
| Enero-Febrero | |
| Marzo-Abril | |
| Mayo-Junio | |
| Julio-Agosto | |
| Septiembre-Octubre | |
| 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 |
|---|---|---|
| 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. | |
| 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. | |
| No se llevó a cabo la operación | Cuando se cancela un CFDi porque la operación no se concretó. | |
| 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 |
|---|---|
| Factura | |
| Nota de Crédito | |
| Recibo de Honorarios | |
| Recibo de Arrendamiento | |
| Recibo de Donativo | |
| Comprobante de Ingreso | |
| Nota de Cargo | |
| Comprobante de Traslado | |
| Recibo Electrónico de Pago | |
| 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 |
|---|---|---|
| Definitivo de importación. | Entrada | |
| Definitivo de exportación. | Salida | |
| Temporales de importación para retomar al extranjero en el mismo estado. | Entrada | |
| Temporales de importación para elaboración, transformación o reparación para empresas con programa IMMEX. | Entrada | |
| Temporales de exportación para retornar al país en el mismo estado. | Salida | |
| Temporales de exportación para elaboración, transformación o reparación. | Salida | |
| Depósito Fiscal. | Salida,Entrada | |
| Elaboración, transformación o reparación en recinto fiscalizado. | Salida,Entrada | |
| Recinto fiscalizado estratégico. | Salida,Entrada | |
| 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 |
|---|---|
| Medicamento | |
| Precursores y químicos de uso dual | |
| Psicotrópicos y estupefacientes | |
| Sustancias tóxicas | |
| 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 |
|---|---|
| Tableta | |
| Capsulas | |
| Comprimidos | |
| Grageas | |
| Suspensión | |
| Solución | |
| Emulsión | |
| Jarabe | |
| Inyectable | |
| Crema | |
| Ungüento | |
| Aerosol | |
| Gas medicinal | |
| Gel | |
| Implante | |
| Óvulo | |
| Parche | |
| Pasta | |
| Polvo | |
| 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 |
|---|---|
| Congelados | |
| Refrigerados | |
| Temperatura controlada | |
| 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 |
|---|---|
| No aplica | |
| Materia prima | |
| Materia procesada | |
| Materia terminada(producto terminado) | |
| Materia para la industria manufacturera | |
| 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 |
|---|---|
| Pedimento | |
| Autorización de importación temporal | |
| Autorización de importación temporal de embarcaciones | |
| Autorización de importación temporal de mercancías, destinadas al mantenimiento y reparación de las mercancías importadas temporalmente | |
| 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 | |
| Aviso de exportación temporal | |
| Aviso de traslado de mercancías de empresas con Programa IMMEX, RFE u Operador Económico Autorizado | |
| 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 | |
| Constancia de importación temporal, retorno o transferencia de contenedores | |
| Constancia de transferencia de mercancías | |
| Autorización de donación de mercancías al Fisco Federal que se encuentren en el extranjero | |
| Cuaderno ATA | |
| Listas de intercambio | |
| Permiso de Importación Temporal | |
| Permiso de importación temporal de casa rodante | |
| Permiso de importación temporal de embarcaciones | |
| Solicitud de donación de mercancías en casos de emergencias o desastres naturales | |
| Aviso de consolidado | |
| Aviso de cruce de mercancias | |
| 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 |
|---|---|
| Camión unitario | |
| Camión | |
| Tractocamión | |
| Remolque | |
| Semirremolque | |
| Vehículo ligero de carga | |
| Grúa | |
| Aeronave | |
| Barco o buque | |
| Carro o vagón | |
| Contenedor | |
| 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 |
|---|---|
| Coatzacoalcos I | |
| Coatzacoalcos II | |
| Texistepec | |
| San Juan Evangelista | |
| Salina Cruz | |
| 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.
- Cuando nos encontramos realizando la implementación inicial del API es muy útil poder realizar pruebas de generación de comprobantes "sin efectos fiscales" para asegurarnos de que todo funciona correctamente.
- Al utilizar el valor debug se generan comprobantes de prueba "sin valor fiscal" permitiendo verificar que todos los demás elementos del comprobante sean correctos, como si fuese uno real (diseño del comprobante, envío de correo, configuración de impuestos, etc).
| 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.
- Debe tener la cantidad de decimales que soporte la moneda.
| 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.
- Debe de tener hasta la cantidad de decimales que soporte la moneda.
- El valor debe de ser menor o igual que el subtotal.
- Debe registrarse éste campo cuando al menos una de las partidas tenga descuento. En caso de que no se apliquen descuentos, éste campo no debe existir.
- Debe ser igual a la suma de los campos descuento de cada una de las partidas, redondeado al número de decimales que soporta la moneda utilizada.
| 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.
- Debe de tener la misma cantidad de decimales que soporte la moneda.
- Cuando el tipo de comprobante sea de tipo Traslado (Carta Porte) éste campo debe ser igual a cero.
| 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.
- El diseño a utilizar y el nombre asignado se pueden consultar en el portal web de Enlace Fiscal.
- En caso de no especificarse se utilizará el diseño predeterminado del portal web de su cuenta de Enlace 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
- Cuando se registre el valor "02", se debe incluir el Complemento para Comercio Exterior
| 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.
- Se debe registrar siempre la clave “PUE” (Pago en una sola exhibición), de conformidad con el catálogo métodos de pago.
| 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.
- Se debe registrar la clave de forma de pago con la que se liquidó el comprobante de operaciones con el público en general de mayor monto de entre los contenidos en el CFDI global, en caso de haber dos o más comprobantes con el mismo monto pero distintas formas de pago, el contribuyente podrá registrar a su consideración una de las formas de pago con las que se recibio el mismo.
| 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.
- Cuando el valor de este campo sea "05" el campo
RegimenFiscaldebe ser "621".
| 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.
- Cuando el valor del campo
periodicidadsea "05", este campo debe contener alguno de los valores "13", "14", "15", "16", "17" o "18" - Si el campo
periodicidadcontiene un valor diferente de "05", este campo debe contener alguno de los valores "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11" o "12".
| 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.
- El valor registrado debe ser igual al año en curso o al año inmediato anterior considerando el registrado en la Fecha de emisión del comprobante.
| 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.
- Se debe registrar la clave de la relación que existe entre éste comprobante (factura global) que se está generando y el o los CFDI previos que tienen alguna relación entre si.
- Cuando el tipo de relación tenga la clave “04” sustitución, el comprobante que se está generando (factura global) como sustituto es de tipo “I” (Ingreso).
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.
- Sólo se puede utilizar la opción de Serie-Folio cuando el comprobante a relacionar se haya emitido también en Enlace Fiscal. En caso contrario, se debe utilizar el UUID relacionado con el presente comprobante.
| Tipo | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| string | Requerido | UUID o Serie-Folio | eeca15af-e9b1-4a45-9861-8d51c4fa8219FA-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.
- Se debe registrar el valor “XAXX010101000”.
| 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:
- En este campo se debe de registrar el valor “PUBLICO EN GENERAL”.
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.
- Si el contribuyente receptor es genérico (XEXX010101000, XAXX010101000) se debe registrar la clave "616" Sin obligaciones fiscales.
| 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.
- En este campo se debe registrar la clave "S01" (sin_efectos_fiscales).
| 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.
- Este campo se debe omitir, debido a que nuestro API internamente asignará el mismo del emisor conforme a la guía de llenado del SAT.
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
- Se pueden agregar hasta 200 partidas por comprobante.
- Se requiere al menos una partida por comprobante.
- En comprobante global algunos campos de la partida llevan valores default que el SAT indica en su guía de llenado.
cantidad Es el número de articulos o servicios de la partida.
- Se debe registrar el valor “1”.
| 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.
- Se debe registrar la clave “ACT” del 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.
- En este campo se debe registrar la clave "01010101" del catálogo publicado en el Portal del SAT.
| 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.
- Puede conformarse desde 1 hasta 100 caracteres alfanuméricos.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Requerido | 421412321212321 |
descripcion Es la descripción del bien o servicio de la partida.
- Se debe registrar el valor “Venta”.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Requerido | Venta |
valorUnitario Es el valor o precio unitario de los bienes o servicios de la partida.
- No se permiten valores negativos.
- La precisión con la que se indica éste dato deberá ser el indicado para la moneda utilizada.
| 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.
- Debe de ser el equivalente al resultado de multiplicar la cantidad por el valor unitario de la partida sin considerar descuentos.
- No se permiten valores negativos.
| 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.
- Si el valor registrado en este campo es "02" (Sí objeto de impuesto) se deben desglosar los Impuestos a nivel de Concepto.
- Si el valor registrado en este campo es "01" (No objeto de impuesto), "03" (Sí objeto del impuesto y no obligado al desglose), "04" (Sí objeto del impuesto y no causa impuesto) o "05" (Sí objeto del impuesto, IVA crédito PODEBI) no se desglosan Impuestos a nivel Concepto.
| 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.
- Debe de tener el mismo número de decimales que el campo de
importe. - No se permiten valores negativos.
- Debe ser menor o igual al campo de
importe.
| 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.
- Cuando el tipo de comprobante sea "T" o "P", este elemento no debe existir.
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.
- Uno de los impuestos más comunes es el IVA con tasa del 16%, en éste caso el
tipoFactorestasa.
| 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.
- Este campo No es requerido cuando el campo
tipoFactorseaexento.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| float | Condicional | 0.16 |
baseImpuesto Es el valor base para el cálculo del impuesto de la partida.
- El valor de éste campo debe de ser mayor a cero.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| float | Requerido | 500.00 |
importe Es el importe del impuesto que aplica a la partida.
- Este campo No es requerido cuando el campo
tipoFactorseaexento. - Este campo es requerido cuando el campo
tipoFactorse haya registrado comotasaocuota. - No se permiten valores negativos.
| 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.
- Este nodo No debe existir.
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.
- No se permiten valores negativos y debe ser igual al redondeo de la suma de los importes de los campos Base trasladados registrados en los conceptos, donde el impuesto del concepto sea igual al campo impuesto de este apartado y la tasaOCuota del concepto sea igual al campo tasaOCuota de este apartado.
- En caso de que solo existan conceptos con tipoFactor exento, la suma de este atributo debe ser igual al redondeo de la suma de los importes de los campos Base registrados en los conceptos.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| float | Requerido | 15000.00 |
importe Es el importe del impuesto que aplica a la partida.
- Este campo es requerido cuando el campo
tipoFactorse haya registrado comotasaocuota. - No se permiten valores negativos.
- Debe de tener el número de decimales que soporte la moneda.
- Debe ser igual al redondeo de la suma de los importes de los impuestos registrados en las partidas que correspondan al mismo tipo.
| 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.
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.
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.
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.
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.
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:
- Cuando la contraprestación se pague en parcialidades
- En estos casos se debe emitir un CFDi por el valor total de la operación en el momento que se realice.
- Posteriormente se deberá emitir un Recibo Electrónico de Pago por cada pago que se reciba.
- Cuando al momento de expedir un CFDi no se reciba el pago correspondiente (pago diferido).
- Al momento que se liquide la operación, se deberá emitir un Recibo Electrónico de Pago para reflejar el pago de la operación.
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.
- Cuando nos encontramos realizando la implementación inicial del API es muy útil poder realizar pruebas de generación de comprobantes "sin efectos fiscales" para asegurarnos de que todo funciona correctamente.
- Al utilizar el valor debug se generan comprobantes de prueba "sin valor fiscal" permitiendo verificar que todos los demás elementos del comprobante sean correctos, como si fuese uno real (diseño del comprobante, envío de correo, configuración de impuestos, etc).
| 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.
- El diseño a utilizar y el nombre asignado se pueden consultar en el portal web de Enlace Fiscal.
- En caso de no especificarse se utilizará el diseño predeterminado del portal web de su cuenta de Enlace 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.
- Para Recibo Electrónico de Pago la única relación permitida en esta versión es la clave "04" (sustitución), si este documento que se está generando es de tipo “I” (Ingreso) o “E” (Egreso), puede sustituir a un comprobante de tipo “I” (Ingreso) o “E” (Egreso), en otro caso debe de sustituir a un comprobante del mismo tipo.
| 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.
- Sólo se puede utilizar la opción de Serie-Folio cuando el comprobante a relacionar se haya emitido también en Enlace Fiscal. En caso contrario, se debe utilizar el UUID.
- No deberá haber más de un comprobante en esta sección ya que como máximo solo se puede sustituir a otro comprobante.
| Tipo | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| string | Requerido | UUID o Serie-Folio | eeca15af-e9b1-4a45-9861-8d51c4fa8219FA-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.
- La clave registrada en este campo debe ser diferente a la clave registrada en los campos RFC del Emisor y Receptor.
| 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.
- En el caso de personas morales se debe adicionar el régimen societario.
| 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.
- En el caso de personas morales se debe adicionar el régimen societario.
| 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.
- El código postal, debe estar asociado a la clave de RFC registrado en el campo rfc de cuentas a terceros.
| 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.
- Por ejemplo, la Escuela ABC emite facturas a sus alumnos por el pago de colegiatura, la escuela identifica a sus alumnos por número de matrícula y desea que este dato se muestre en la versión impresa del comprobante fiscal.
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.
- A pesar de que el estándar del SAT no contempla el domicilio fiscal del receptor, Enlace Fiscal te recomienda incluírlo para evitar rechazos por parte de receptores.
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.
- El CFDI que se emita puede contener uno o más de un complemento para recepción de pagos.
- El complemento para recepción de pagos puede convivir con los complementos Timbre fiscal digital y CFDI Registro fiscal.
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.
-
Debe ser igual al redondeo de la suma del resultado de multiplicar cada uno de los importes de los campos
importede los impuestos retenidos registrados en el elementoimpuestosdonde el campoclaveImpuestocontenga el valor IVA por el valor registrado en el campotipoCambiode cada nodo Pago.
| 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.
-
Debe ser igual al redondeo de la suma del resultado de multiplicar cada uno de los importes de los campos
importede los impuestos retenidos registrados en el elementoimpuestosdonde el campoclaveImpuestocontenga el valor ISR por el valor registrado en el campotipoCambiode cada nodo Pago.
| 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.
-
Debe ser igual al redondeo de la suma del resultado de multiplicar cada uno de los importes de los campos
importede los impuestos retenidos registrados en el elementoimpuestosdonde el campoclaveImpuestocontenga el valor IEPS por el valor registrado en el campotipoCambiode cada nodo Pago.
| 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.
-
Debe ser igual al redondeo de la suma del resultado de multiplicar cada uno de los importes de los campos
basede los impuestos trasladados registrados en el elementoimpuestosdonde los campos contengan enclaveImpuestoel valor IVA, entipoFactorel valor Tasa y entasaOCuotael valor 0.160000, por el valor registrado en el campotipoCambiode cada nodo Pago.
| 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.
-
Debe ser igual al redondeo de la suma del resultado de multiplicar cada uno de los importes de los campos
importede los impuestos trasladados registrados en el elementoimpuestosdonde los campos contengan enclaveImpuestoel valor IVA, entipoFactorel valor Tasa y entasaOCuotael valor 0.160000, por el valor registrado en el campotipoCambiode cada nodo Pago.
| 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.
-
Debe ser igual al redondeo de la suma del resultado de multiplicar cada uno de los importes de los campos
basede los impuestos trasladados registrados en el elementoimpuestosdonde los campos contengan enclaveImpuestoel valor IVA, entipoFactorel valor Tasa y entasaOCuotael valor 0.080000, por el valor registrado en el campotipoCambiode cada nodo Pago.
| 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.
-
Debe ser igual al redondeo de la suma del resultado de multiplicar cada uno de los importes de los campos
importede los impuestos trasladados registrados en el elementoimpuestosdonde los campos contengan enclaveImpuestoel valor IVA, entipoFactorel valor Tasa y entasaOCuotael valor 0.080000, por el valor registrado en el campotipoCambiode cada nodo Pago.
| 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.
-
Debe ser igual al redondeo de la suma del resultado de multiplicar cada uno de los importes de los campos
basede los impuestos trasladados registrados en el elementoimpuestosdonde los campos contengan enclaveImpuestoel valor IVA, entipoFactorel valor Tasa y entasaOCuotael valor 0.000000, por el valor registrado en el campotipoCambiode cada nodo Pago.
| 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.
-
Debe ser igual al redondeo de la suma del resultado de multiplicar cada uno de los importes de los campos
importede los impuestos trasladados registrados en el elementoimpuestosdonde los campos contengan enclaveImpuestoel valor IVA, entipoFactorel valor Tasa y entasaOCuotael valor 0.000000, por el valor registrado en el campotipoCambiode cada nodo Pago.
| 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.
-
Debe ser igual al redondeo de la suma del resultado de multiplicar cada uno de los importes de los campos
basede los impuestos trasladados registrados en el elementoimpuestosdonde los campos contengan enclaveImpuestoel valor IVA y entipoFactorel valor Exento, por el valor registrado en el campotipoCambiode cada nodo Pago.
| 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.
-
El valor de este campo debe ser igual al redondeo de la suma del resultado de multiplicar cada uno de los campos Monto por el valor registrado en el campo
tipoCambiode cada nodo Pago.
| 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.
- La naturaleza de éste comprobante es identificar a detalle el pago recibido. Por lo tanto, la forma de pago debe de ser diferente a la clave 99 (Por definir).
| 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.
- No se puede utilizar el código
XXX(código asignado para las transacciones en que intervenga ninguna moneda) - Si se utiliza el código
MXN, se debe registrar el valor "1" en el atributo tipoCambio.
| 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.
- El máximo de decimales que se pueden utilizar son los que soporte la moneda. Los límites se pueden consultar en el catálogo de monedas.
| 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 | Dependiente de la forma de pago | 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 | Dependiente de la forma de pago | 123456789101114558 |
tipoCadPago Campo opcional para indicar el tipo de cadena de pago que genera la entidad receptora del pago.
- Si se indica éste campo es obligatorio registrar los campos de
certPago,cadenaPagoyselloPago.
| 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.
- Es requerido cuando se indique el campo de
tipoCadPago.
| 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.
- Es requerido cuando se indique el campo de
tipoCadPago.
| 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.
- Es requerido cuando se indique el campo de
tipoCadPago.
| 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.
- Si el documento relacionado no especifica una moneda, se tiene que registrar MXN (Peso Mexicano)
- Los montos registrados en los montos
impoSaldoInsoluto,importePagadoysaldoAnteriordeben de corresponder a ésta moneda. - No se puede utilizar la clave
XXX(código asignado para las transacciones en que intervenga ninguna moneda) en ésta sección. - Si la moneda utilizada para emitir el Recibo Electrónico de Pago es diferente al del documento relacionado, se debe de indicar también el tipo de cambio del documento relacionado en el campo
DocumentosRelacionados/equivalencia - Si el Recibo de Pago se emitió con una moneda diferente al peso mexicano y el documento relacionado si fue emitido en pesos mexicanos (MXN), entonces el campo de
DocumentosRelacionados/equivalenciadebe tener el valor de "1"
| 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.
- En el caso de que sea un pago diferido, este campo debe tener el valor de "1".
| 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.
- El monto indicado en éste campo debe ser mayor a 0.
- El máximo de decimales que se pueden utilizar son los que soporte la moneda. Los límites se pueden consultar en el catálogo de monedas.
| 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
- Es obligatorio cuando exista más de un documento relacionado o cuando el campo
equivalenciadel documento relacionado tiene algún valor. - Es opcional cuando no exista el campo
equivalenciay solo exista un documento relacionado. - Si se indica éste campo debe ser mayor a 0.
- El importe pagado debe corresponder al tipo de moneda registrado en el campo
tipoMonedadel documento relacionado. - El máximo de decimales que se pueden utilizar son los que soporte la moneda. Los límites se pueden consultar en el catálogo de monedas.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| float | Condicional | 100.00 |
impoSaldoInsoluto Es la diferencia entre el importe del saldo anterior y el monto pagado.
- El monto señalado debe ser mayor o igual a 0 y es el resultado de la resta
saldoAnterior-importePagado. - En el caso de que el campo
importePagadono exista, debe calcularse de los campossaldoAnterior-montoconsiderando que los dos importes están en la misma moneda. - El importe de éste campo debe corresponder al tipo de moneda registrado en el campo
tipoMonedadel documento relacionado. - El máximo de decimales que se pueden utilizar son los que soporte la moneda. Los límites se pueden consultar en el catálogo de monedas.
| 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
- Si el valor registrado en este campo es “02” el nodo hijo
Impuestosdel nodo documento relacionado debe existir. - Si el valor registrado en este campo es “01” o “03” el nodo hijo
Impuestosdel nodo documento relacionado no debe existir.
| 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.
- Este campo es requerido cuando el campo
tipoFactorse haya registrado comotasaocuota. - No se permiten valores negativos.
- Debe de tener el número de decimales que soporte la moneda.
- Debe ser igual al redondeo de la suma de los importes de los impuestos registrados en las partidas que correspondan al mismo tipo.
| 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.
- Si se registra un valor en este campo, el valor debe ser mayor a 0.
| 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.
- Este campo es requerido cuando el campo
tipose haya registrado comotraslado, en caso contrario omitir este campo.
| 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.
- Este campo es requerido cuando el campo
tipose haya registrado comotraslado, en caso contrario omitir este campo.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| float | Condicional | 0.16 |
importe Es el importe del impuesto que aplica a la partida.
- Este campo es requerido cuando el campo
tipoFactorse haya registrado comotasaocuota. - No se permiten valores negativos.
- Debe de tener el número de decimales que soporte la moneda.
- Debe ser igual al redondeo de la suma de los importes de los impuestos registrados en las partidas que correspondan al mismo tipo.
-
Si el tipo es igual a retencion entonces, deben existir al menos uno de los atributos dentro del nodo Totales:
retencionesIVA,retencionesISR,retencionesIEPS. -
Si el tipo es igual a traslado entonces, deben existir al menos uno de los atributos dentro del nodo Totales:
trasladosImpuestoIVA16,trasladosImpuestoIVA8,trasladosImpuestoIVA0cuando existan conceptos con un tipoFactor distinto aexento.
| 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.
- Este campo es requerido cuando el campo
tipose haya registrado comotraslado, en caso contrario omitir este campo. - Si se registra un valor en este campo, el valor debe ser mayor a 0.
- Si el tipo es igual a traslado entonces, deben existir al menos uno de los atributos dentro del nodo Totales:
trasladosBaseIVA16,trasladosBaseIVA8,trasladosBaseIVA0otrasladosBaseIVAExento. - Si el tipo es igual a traslado entonces, en caso de que solo existan documentos relacionados con
tipoFactorExento, la suma de este atributo debe ser igual a la suma de los importes de los atributosbaseregistrados en los documentos relacionados.
| 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.
- Aplican las mismas reglas y estructura que el Bloque Inferior.
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.
- Se permite solamente un bloque superior y un bloque inferior.
- Pueden aparecer ambos bloques o solamente uno de los bloques.
- Existen dos opciones para el texto del bloque: un solo bloque de texto libre
textoo renglones definidos utilizando la etiquetaTextoRenglonesy separando cada renglón con una coma. Se debe utilizar solo una de las dos opciones por petición.
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.
- Se puede incluir un máximo de 10 renglones dentro del bloque de información adicional.
| 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.
- Si requiere especificar más de una dirección de correo electrónico, es necesario dividir cada dirección con una coma.
| 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.
- Cuando el receptor del correo es un sistema, se debe utilizar el tipo
sistemapara que el formato de correo sea texto plano y se adjunte la versión XML.
| 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.
- Se pueden incluir un máximo de 6 campos personalizados.
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.
- No se permiten valores negativos.
- Debe de tener el número de decimales que soporte la moneda.
| 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.
- No se permiten valores negativos.
- Debe de tener el número de decimales que soporte la moneda.
| 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
- Cambio de valor de 3.0 a 3.1 en el atributo
versionIr a documentación del atributo version - Se elimina el atributo
regimenAduanero - Se agrega el nodo
RegimenesAduanerosIr a documentación del nodo RegimenesAduaneros
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
- Cuando el atributo
transporteInternacionalcontenga el valor Sí y el campoentradaSalidaMercanciascontenga un valor, este atributo debe existir y contener mínimo uno y máximo diez valores del catálogo catCartaPorte:c_RegimenAduanero. - Cuando el atributo
entradaSalidaMercanciascontenga el valor Entrada, debe contener un valor del catálogo c_RegimenAduanero donde la columna ImpoExpo contenga el valor Entrada o Salida,Entrada. - Cuando el atributo
entradaSalidaMercanciascontenga el valor Salida, debe contener un valor del catálogo c_RegimenAduanero donde la columna ImpoExpo contenga el valor Salida o Salida,Entrada.
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.
- Si este campo contiene el valor "Sí" se debe registrar información en
los campos
ubicacionPoloOrigenyubicacionPoloDestino. - Si este campo contiene el valor "No" los campos
ubicacionPoloOrigenyubicacionPoloDestinono deben existir.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| string | Requerido | Sí 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.
- Cuando el atributo
registroISTMOcontenga el valor Sí este atributo debe existir. - Cuando el atributo
registroISTMOcontenga el valor No este atributo no debe existir.
| 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.
- Cuando el atributo
registroISTMOcontenga el valor Sí este atributo debe existir. - Cuando el atributo
registroISTMOcontenga el valor No este atributo no debe existir.
| 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.
- Si este campo contiene el valor "Sí" se debe registrar información en
los campos
entradaSalidaMercanciasyviaEntradaSalida. - Si este campo contiene el valor "No" los campos
entradaSalidaMercanciasyviaEntradaSalidano deben existir. - Si este campo contiene el valor "No", y el comprobante es de tipo "I" (Ingreso) y si existe la sección AutotransporteFederal de la sección Mercancías entonces debe existir información en las secciones Traslados y Retenciones de la sección Partidas a nivel CFDI.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| string | Requerido | Sí No |
No |
entradaSalidaMercancias Campo condicional para registrar si los bienes o mercancías ingresan o salen del territorio nacional.
- Cuando el atributo
transporteInternacionalcontenga el valor Sí este atributo debe existir. - Cuando el atributo
transporteInternacionalcontenga el valor No este atributo no debe existir.
| 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í.
- Cuando el atributo
transporteInternacionalcontenga el valor Sí este atributo debe existir y contener un valor del catálogo c_Pais, que corresponda al país de origen o destino de las mercancías que se están trasladando en los distintos medios de transporte. - Cuando el atributo
transporteInternacionalcontenga el valor No este atributo no debe existir.
| 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.
- Cuando el atributo
transporteInternacionalcontenga el valor Sí este atributo debe existir y contener una clave del catálogo c_CveTransporte, que corresponda al medio de transporte en el que se están trasladando los bienes y/o mercancías. - Cuando el atributo
transporteInternacionalcontenga el valor No este atributo no debe existir.
| 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.
- Si existe la sección AutotransporteFederal o TransporteFerroviario de la sección Mercancias, este campo debe contener un valor; en caso de que no exista alguna de las secciones antes mencionadas, este campo no debe existir.
- El valor registrado deberá corresponder con la suma de los campos distanciaRecorrida de la sección Ubicacion, siempre que exista al menos una ubicación de tipo Destino.
| 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.
- Para transporte terrestre, marítimo y aéreo debe existir por lo menos una ubicación Origen y una Destino.
- Para transporte ferroviario debe existir al menos una ubicación de tipo Origen y al menos 5 ubicaciones de tipo Destino.
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.
- Cuando tipoUbicacion sea Origen estará compuesto de la siguiente forma: el acrónimo "OR" seguido de 6 dígitos numéricos asignados por el contribuyente que emite el comprobante para su identificación.
- Cuando tipoUbicacion sea Destino estará compuesto de la siguiente forma: el acrónimo "DE" seguido de 6 dígitos numéricos asignados por el contribuyente que emite el comprobante para su identificación.
- Si existe la sección CantidadTransporta de la sección Mercancias este campo debe existir, en caso contrario este atributo no debe existir.
| 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.
- Cuando el valor registrado en el atributo
nombreRemitenteDestinatariosea el RFC genérico extranjero (XEXX010101000), este atributo debe contener un valor, en caso contrario se debe omitir - Si el campo
nombreRemitenteDestinatarioes el mismo que el RFC emisor este campo se puede omitir, en caso de que el remitente sea extranjero este campo debe contener un valor, para lo cual se debe identificar el país de residencia para efectos fiscales del remitente usando la clave del país registrada en el camporesidenciaFiscalde esta sección.
| 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.
- Cuando el valor registrado en el atributo
nombreRemitenteDestinatariosea el RFC genérico extranjero (XEXX010101000), este atributo debe contener un valor y debe ser distinto a MEX, en caso contrario se debe omitir - Si se registra información en el campo
numeroRegistroIdTributariode esta sección, este campo debe existir, en caso contrario este campo no debe existir.
| 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.
- Si el campo
transporteInternacionalcontiene el valor "No" y si existe la sección TransporteFerroviario, TransporteMaritimo o TransporteAereo de la sección Mercancias, este campo se debe registrar y debe contener una clave conforme a las disponibles en el catálogo c_TipoEstacion del SAT. - En otro caso, si el campo
transporteInternacionalcontiene el valor "Sí" este campo no debe registrarse siempre que el Origen o Destino de los bienes o mercancías sea fuera de territorio nacional, por lo que el campopaisde la sección Ubicacion debe contener una clave distinta de "MEX", en caso contrario se debe registrar una clave conforme a las disponibles en el catálogo c_TipoEstacion del SAT. - Cuando la clave registrada en el atributo
numeroEstacioncorresponda a una estación extranjera, este atributo no debe existir
| 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.
- Si existe la sección Autotransporte de la sección Mercancias, este campo no debe existir.
- En caso de que exista la sección TransporteMaritimo, que corresponde a la clave "02", TransporteAereo con clave "03" o TransporteFerroviario con clave "04" de la columna Clave transporte del catálogo c_Estaciones este campo debe contener un valor de la columna clave identificación que corresponde al mismo catálogo.
| 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.
- Cuando el atributo
numeroEstacioncontenga un valor, este atributo debe existir y la descripción debe corresponder con el catálogo c_Estaciones, en caso contrario se debe omitir - En caso de que la clave del atributo
numeroEstacion, sea la referida a una extranjera, se debe registrar el nombre de dicha estación y no la descripción contenida en el catálogo.
| 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".
- Si existe la sección TransporteMaritimo de la sección Mercancias, este campo debe contener un valor, en caso contrario este campo no debe existir.
| 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.
- Si existe la sección AutotransporteFederal o TransporteFerroviario de la sección Mercancias, y la sección Destino de la sección Ubicacion, este campo será requerido.
- Si existe la sección AutotransporteFederal y la secciones Origen y Destino, corresponden al mismo domicilio ubicado en la sección Ubicacion, este campo será requerido.
| 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.
- Si existe el campo
tipoEstacionde la sección Ubicacion con valor "02" (Intermedia), y la sección TransporteFerroviario de la sección Mercancias, esta sección no debe existir. - Si existe el campo
tipoEstacionde la sección Ubicacion con valor "01" (Origen Nacional) o "03" (Destino Final Nacional) se debe registrar esta sección.
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.
- Si la clave del país es distinta a "MEX", se debe registrar texto libre, en caso contrario este campo se vuelve requerido y debe contener una clave conforme a los disponibles en el catálogo c_Colonia del SAT donde la columna c_CodigoPostal debe ser igual a la clave registrada en el campo
cp.
| 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.
- Si la clave del país es distinta a "MEX" se debe registrar texto libre.
- Si la clave del país es “MEX” este campo se vuelve requerido y debe contener una clave conforme a los disponibles en el catálogo c_Localidad del SAT, donde la columna c_Estado, tiene el valor seleccionado en el campo
estado.
| 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.
- Si la clave del país es distinta a "MEX", se debe registrar texto libre; en caso contrario este campo se vuelve requerido y debe contener una clave conforme a los disponibles en el catálogo c_Municipio del SAT donde la columna c_Estado, debe ser igual a la clave registrada en el campo
estado.
| 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.
- Si la clave del país es distinta a "MEX", "USA" o "CAN", se debe registrar texto libre; en caso contrario el campo Estado debe contener una clave conforme a los disponibles en el catálogo c_Estado del SAT, donde la columna c_Pais tenga el valor "MEX", "USA" o "CAN".
| 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.
- Si la clave del país es distinta a "MEX", se debe registrar texto libre; en caso contrario el campo
cpdebe contener una clave conforme a los disponibles en el catálogo c_CodigoPostal del SAT, donde la clave de la columna c_Estado, debe ser igual a la clave registrada en el campoestado, la columna c_Municipio, debe ser igual a la clave registrada en el campomunicipio, y si existe el campo de Localidad, la columna de clave c_Localidad, debe ser igual a la clave registrada en el campolocalidad.
| 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.
- Se debe validar que al menos se registre una sección AutortransporteFederal, TransporteMaritimo, TransporteAereo o TransporteFerroviario en esta sección.
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.
- Cuando exista el nodo
TransporteMaritimo, el valor de este atributo debe ser igual a la suma de los valores registrados en los atributospesoNeto. - Cuando exista el nodo
TransporteFerroviario, el valor de este atributo debe ser igual a la suma de los valores registrados en los atributosToneladasNetasCarro
| 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.
- Cuando exista el nodo
Autotransportees opcional capturar este atributo, en caso contrario se debe omitir.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| string | Condicional | Sí No |
Sí |
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".
- Si el valor registrado en el campo
bienesTransportadoscontiene el valor "0,1" o "1" en la columna Material peligroso del catálogo c_ClaveProdServCP publicado en el portal del SAT, este campo debe existir, en caso contrario se debe omitir. - Si el comprobante es de tipo "I" (Ingreso), este campo debe existir, en caso contrario se debe omitir, cuando el campo
bienesTransportadosno exista.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| string | Condicional | Sí No |
No |
claveMaterialPeligroso Campo condicional para registrar la clave del tipo de material peligroso que se transporta.
- Si el valor registrado en el campo
materialPeligrosoes "Sí", este campo debe contener una clave conforme a los disponibles en el catálogo c_MaterialPeligroso del SAT. - Si el valor registrado en el campo
materialPeligrosoes "No", este campo no debe existir.
| 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.
- Este campo debe existir siempre que el campo
claveMaterialPeligrosotenga un valor del catálogo c_MaterialPeligroso publicado en el portal del SAT, en caso contrario este campo no debe existir.
| 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.
- Si existe la sección TransporteAereo de la sección Mercancias este campo debe contener un valor.
- Para el caso en el que se registre alguna de las siguientes secciones: AutotransporteFederal, TransporteMaritimo o TransporteFerroviario de la sección Mercancias, este campo puede contener un valor.
| 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.
- Si existe la sección TransporteAereo de la sección Mercancias este campo debe contener un valor.
- Para el caso en el que se registre alguna de las siguientes secciones AutotransporteFederal, TransporteMaritimo o TransporteFerroviario de la sección Mercancias, este campo puede contener un valor.
| 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.
- Si el campo TranspInternac contiene el valor "Sí", este campo puede contener alguna de las claves del catálogo del complemento de comercio exterior, c_FraccionArancelaria, en caso de que el campo
transporteInternacionalcontenga el valor "No", este campo no debe existir.
| 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".
- Este campo puede existir siempre que el valor registrado en el campo
transporteInternacionales "Sí" y el campoentradaSalidaMercanciascontiene el valor "Salida" y si la exportación es considerada definitiva (de tipo A1), en caso contrario este campo no debe existir.
| 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.
- Este campo debe existir siempre que el valor registrado en el campo
transporteInternacionales "Sí", en caso contrario este campo no debe existir.
| 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.
- Este campo debe existir siempre que el valor registrado en el campo
tipoMateriasea "05", en caso contrario este campo no debe existir.
| 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.
- Se debe incluir cuando el campo transporteInternacional contenga el valor "Si" y el campo entradaSalidaMercancias contenga el valor "Entrada".
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.
- Si existe más de una sección Destino de la sección Ubicacion, esta sección puede existir, siempre que los bienes o mercancías que se trasladan se recojan en diferentes orígenes o se entreguen en diferentes destinos, en caso de que solo exista una sección Destino de la sección Ubicacion, esta sección no debe existir.
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".
- Si existe el campo
idOrigende la sección Ubicacion, el valor que se registre en este campo debe coincidir con al menos un valor registrado en los camposidOrigende 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.
- Si existe el campo
idDestinode la sección Ubicacion, el valor que se registre en este campo debe coincidir con al menos un valor registrado en los camposidDestinode 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).
- Este campo debe existir solo si hay más de una sección en Mercancia y más de un tipo de transporte, debe contener un valor del catálogo c_CveTransporte del SAT, TransporteMaritimo que corresponde a la clave "02", TransporteAereo con clave "03" o TransporteFerroviario con clave "04", en caso contrario este campo no debe existir.
| 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.
- Esta sección se debe registrar solo si existe una sección TransporteMaritimo de la sección Mercancias, en caso contrario la información de esta sección no debe existir.
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.
- Cuando exista el campo
rfcEmbarcador, este campo se debe omitir. - En caso de que el embarcador sea extranjero este campo debe contener un valor, para lo cual se debe identificar el país de residencia para efectos fiscales del embarcador, usando la clave del país registrada en el campo
residenciaFiscalEmbarcador.
| 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.
- Si no se registra valor en el campo
rfcEmbarcadoreste campo debe contener un valor que corresponda a alguna de las claves del catálogo.
| 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.
- La información de este campo debe ser diferente del campo Rfc de la sección Emisor del comprobante y debe estar contenido en la lista de contribuyentes inscritos no cancelados del SAT.
| 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.
- Si existe el campo
pesoNetoMercanciade la sección Contenedor de la sección Carro entonces el valor de este campo debe ser igual a la suma de los valores registrados en los campos mencionados; en caso contrario se podrá registrar el valor correspondiente a las toneladas netas que contiene el carro.
| 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.
- Si la figura de transporte que interviene en el traslado de bienes y/o mercancías es un residente en el extranjero, este campo se debe omitir.
| 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.
- Cuando se registre información en el campo
rfcFigura, este campo se debe omitir. - En caso de que la figura de transporte sea extranjero este campo debe contener un valor.
| 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.
- Si no se registra valor en el campo
rfcFiguray si existe información en el camponumeroRegistroIdTributarioFigura, este campo debe existir y debe contener un valor que corresponda a alguna de las claves del catálogo c_Pais.
| 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.
- Esta sección solo debe existir si la clave registrada en el campo tipoFigura corresponde al valor 02 - Propietario o 03 - Arrendador, y se podrá registrar tantas veces sea necesario.
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.
- Aplican las mismas reglas y estructura que el bloque de
Domicilio Origen/Destinoexcepto por las reglas del campotipoEstacion.
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.
- El atributo está conformado por el tipo de comprobante al cual hace referencia, por ejemplo:
CFDIseguido de tres números que corresponden al número de error interno.
| Tipo de Dato | Opciones | Ejemplo |
|---|---|---|
| string | CFDI### REP### |
CFDI219 |
descripcionError Texto descriptivo del atributo codigoError.
-
Cuando existe uno o más errores con el mismo codigoError, se concatenan mediante una
",".
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.
- Cada descripción es única y específica, que indica el error detectado.
| 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 |
|---|---|
| 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. | |
| La fecha de emisión :fechaEmision no puede ser mayor a la fecha y hora actual en su zona horaria fechaActual. | |
| El campo exportación tiene el valor No Aplica (01), por lo tanto, el CFDi no debe contener el complemento para Comercio Exterior. | |
| El campo exportación tiene el valor No Aplica (02), por lo tanto, el CFDi debe contener el complemento para Comercio Exterior. | |
| El campo tipoCambio debe ser igual a "1" cuando la moneda es Peso Mexicano (MXN). | |
| El campo tipoCambio es obligatorio cando el tipo de moneda es diferente de Peso Mexicano (MXN) y Ninguna moneda (XXX). | |
| El campo tipoCambio no debe existir cando el tipo de moneda es Ninguna moneda (XXX). | |
| El campo tipoCambio no puede exceder la cantidad de :decimales decimales. | |
| El campo tipoCambio no cumple con el patrón requerido. | |
| Las condiciones de pago se pueden registrar cuando el tipo de comprobante sea de Ingreso (I) o Egreso (E). | |
| El nodo InformacionGlobal solo debe de venir cuando el rfc receptor es "XAXX010101000" Y el nombre del receptor es "PUBLICO EN GENERAL". | |
| El campo facAtrAdquirente no tiene un número de operación valido. | |
| El comprobante se encuentra timbrado y la petición es diferente a la original. | |
| El comprobante enviado contiene errores de estructura. | |
| El valor registrado en el atributo Comprobantes dentro de nodo ComprobantesRelacionados se encuentra vacío o no cuenta con la estructura correcta. | |
| Cuando el nodo Exportacion contenga la clave 01 o 03, el complemento de Comercio Exterior no debe existir. | |
| El valor del campo subTotal no tiene la cantidad de decimales que indica la moneda el cual debe ser de :decimales. | |
| 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). | |
| El valor del campo subTotal dentro de CFDi debe ser igual a cero. | |
| 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. | |
| El valor del campo total no puede ser negativo. | |
| El valor del campo total no tiene la cantidad de decimales que indica la moneda el cual debe ser de :decimales. | |
| 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 |
|---|---|
| El campo formaDePago dentro de DatosDePago no debe existir cuando el tipo de comprobante es Traslado (T), Nómina (N) o Pago (P). | |
| El campo formaDePago dentro de DatosDePago es obligatorio cuando el tipo de comprobante es Ingreso (I) o Egreso (E). | |
| El campo formaDePago dentro de DatosDePago debe ser igual a "99" cuando el metodo de pago es Pago en Parcialidades o Diferido (PPD). | |
| El campo metodoDePago dentro de DatosDePago no debe existir cuando el tipo de comprobante es Traslado (T) o Pago (P). | |
| El campo metodoDePago dentro de DatosDePago es obligatorio cuando el tipo de comprobante es Ingreso (I), Egreso (E) o Nómina (N). | |
| El campo fechapago dentro de DatosDePago solo aplica para el método de pago (PUE) Pago en una sola exhibición. | |
| El nodo de cuentasPago dentro de DatosDePago solo puede tener una cuenta cuando es (PUE) Pago en una sola exhibición. | |
| 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. | |
| 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. | |
| 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 |
|---|---|
| Cuando el campo periodicidad es Mensual (05) el regimen fiscal debe ser Incorporación Fiscal (621). | |
| 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". | |
| El campo meses cuando la periodicidad es Mensual (05) debe contener alguna de las siguientes claves: "13", "14", "15", "16", "17" o "18". | |
| El campo metodoDePago dentro de DatosDePago debe tener el valor PUE cuando el comprobante es global. | |
| El nombre del receptor debe ser 'PUBLICO EN GENERAL' cuando el comprobante es global. |
Emisor
| Clave | Descripción |
|---|---|
| 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 |
|---|---|
| Este RFC del receptor no existe en la lista de RFC inscritos no cancelados del SAT. | |
| El atributo nombre del receptor, debe pertenecer al nombre asociado al RFC registrado en el atributo rfc del Receptor. | |
| El nodo DomicilioFiscal del receptor, debe pertenecer al nombre asociado al RFC registrado en el atributo rfc del Receptor. | |
| El campo nombre del receptor tiene el valor de "PUBLICO EN GENERAL", por lo tanto el RFC del receptor debe ser "XAXX010101000". | |
| El país debe ser diferente de (:clavePais) :pais cuando el RFC receptor es extranjero. | |
| El campo cp (código postal) del receptor no tiene el formato válido para el país de :pais (:clavePais). | |
| 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. | |
| El campo residenciaFiscal no puede ser México. | |
| El campo residenciaFiscal es obligatorio cuando el número de registro ID tributario se registra información. | |
| 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. | |
| El campo numeroRegistroIdTributario del receptor no debe existir cuando es un RFC incrito no cancelado en el SAT o un RFC genérico nacional. | |
| 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. | |
| 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. | |
| El campo regimenFiscal debe corresponder con el tipo de persona del receptor. | |
| El campo regimenFiscal debe tener la clave "616" cuando el RFC del receptor contiene el valor "XAXX010101000" o el valor "XEXX010101000". | |
| El campo usoCfdi debe aplicar para el tipo de persona del receptor y el régimen correspondiente conforme al catálogo c_UsoCFDI. | |
| El uso del CFDi ":usoCFDi" no es un valor válido para esta versión de Comprobante. | |
| El campo cp (código postal) del receptor debe contener una clave del catálogo del SAT (catCFDI:c_CodigoPostal). | |
| 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 |
|---|---|
| Error en la partida :numPartida: el valor del campo cantidad no puede exceder la cantidad de :decimales decimales. | |
| Error en la partida :numPartida: el valor del campo valorUnitario debe ser :simbolo cero (0) cuando el tipo de comprobante es :tipoComprobante. | |
| Error en la partida :numPartida: el valor del campo valorUnitario no puede exceder la cantidad de :decimales decimales. | |
| Error en la partida :numPartida: el valor del campo importe no puede exceder la cantidad de :decimales decimales. | |
| Error en la partida :numPartida: el valor del campo importe no se encuentra entre el límite inferior y superior permitido. | |
| Error en la partida :numPartida: el valor del campo importe no puede ser negativo. | |
| 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). | |
| Error en la partida :numPartida: el campo descuento no puede exceder la cantidad de :decimales decimales. | |
| Error en la partida :numPartida: el valor del campo descuento debe ser menor o igual al mondo del Importe. | |
| Error en la partida :numPartida: el valor del campo descuento no puede ser negativo. | |
| Error en la partida :numPartida: si el valor del campo objetoDeImpuesto es "02" debe existir impuestos en la partida. | |
| 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 |
|---|---|
| El nodo de impuestos no debe existir cuando el tipo de comprobante es Traslado (T) o Pago (P). | |
| El nodo impuestos de retención es obligatorio cuando las partidas tienen impuestos de retención. | |
| El campo traslados en los totales de impuestos es obligatorio cuando las partidas tienen impuestos de traslados. | |
| 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. | |
| En el nodo de Impuestos del comprobante no se encontraron impuestos de tipo retención para validar. | |
| En el nodo de Impuestos del comprobante debe haber sólo un registro por cada :impuesto retenido. | |
| En el nodo de Impuestos del comprobante no se encontraron impuestos de tipo trasladado para validar. | |
| 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. | |
| El nodo de impuestos en el comprobante no debe existir cuando no existen impuestos en las partidas. | |
| El nodo de Impuestos es obligatorio cuando las partidas tienen impuestos. | |
| 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. | |
| 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. | |
| Las siguientes Claves de Unidades (:ClaveUnidad) no se encuentran en el catalogo proporcionado por el SAT (c_ClaveUnidad) o no estan vigentes. | |
| El valor del campo descuento no puede ser mayor al subTotal dentro de CFDi. | |
| El campo descuento solo esta permitido en la emision de comprobantes de Ingreso (I), Egreso (E) y Nómina (N) | |
| 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). | |
| El valor del campo descuento no tiene la cantidad de decimales que indica la moneda el cual debe ser de :decimales. | |
| Error en la partida :numPartida: el campo noIdentificacion solo es requerido cuando el nodo InformacionGlobal este presente. | |
| Error en la partida :numPartida: el campo unidad no debe existir cuando el comprobante es global. | |
| Error en la partida :numPartida: el valor del campo claveUnidad debe ser ACT cuando el comprobante es global. | |
| 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 |
|---|---|
| Error en la partida :numPartida: el valor del campo nombre dentro del nodo ACuentaTerceros debe contener el valor ':nombre' cuando el rfc sea :rfc. | |
| Error en la partida :numPartida: el valor del campo rfc dentro del nodo ACuentaTerceros debe contener el valor 'EXT990101NI1' cuando el nombre sea :nombre. | |
| Error en la partida :numPartida: el valor del campo regimenFiscal dentro del nodo ACuentaTerceros debe contener el valor '616' cuando el rfc sea :rfc. | |
| 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. | |
| 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 |
|---|---|
| Error en informacionAduanera de la partida :numPartida: el campo numeroPedimento no debe existir si se incluye el complemento de comercio exterior. | |
| 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. | |
| 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. | |
| 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. | |
| 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 |
|---|---|
| Error en la partida :numPartida: en el nodo de partes :nParte: el campo valorUnitario no puede exceder la cantidad de :decimales decimales. | |
| Error en la partida :numPartida: en el nodo de partes :nParte: el valor del campo valorUnitario debe ser mayor a cero (0). | |
| 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. | |
| Error en la partida :numPartida: en el nodo de partes :nParte: el campo cantidad no puede exceder la cantidad de :decimales decimales. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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 |
|---|---|
| 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. | |
| 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. | |
| 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. | |
| Error en la partida :numPartida, en los impuestos totales del impuesto :impuesto:tipo: el campo tasaOCuota no puede exceder la cantidad de :decimales decimales. | |
| 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. | |
| 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. | |
| Error en la partida :numPartida, en los impuestos totales del impuesto :impuesto:tipo: el campo importe no puede exceder la cantidad de :decimales decimales. | |
| Error en la partida :numPartida, en los impuestos totales del impuesto :impuesto:tipo: el valor del campo importe no puede ser negativo. | |
| Error en la partida :numPartida, en los impuestos totales del impuesto :impuesto:tipo: el campo base no puede exceder la cantidad de :decimales decimales. | |
| Error en la partida :numPartida, en los impuestos totales del impuesto :impuesto:tipo: el valor del campo baseImpuesto debe ser mayor a cero (0). | |
| 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. | |
| 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. | |
| Error en los impuestos totales del impuesto :impuesto:tipo: el valor del campo importe no puede ser negativo. | |
| 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. | |
| 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. | |
| 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. | |
| Error en el total de impuestos retenidos: el valor del campo retenciones no puede ser negativo. | |
| 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. | |
| 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. | |
| Error en el total de impuestos trasladados: el valor del campo traslados no puede ser negativo. | |
| Es obligatorio enviar el nodo Impuestos cuando las partidas tienen impuestos trasladados. | |
| Es obligatorio enviar el nodo Impuestos cuando las partidas tienen impuestos retenidos. | |
| Es obligatorio enviar el nodo Impuestos Locales cuando las partidas tienen impuestos locales. | |
| 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. | |
| 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. | |
| 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:
-
":", Estos dos puntos denotan que se trata de una variable interna en el mensaje de descripción del error. -
Seguido a estos dos puntos
":"continúa un nombre auto-descriptivo, que permite darse una idea con respecto al mensaje mostrado.
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 |
|---|---|
| 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 |
|---|---|
| Debe existir al menos uno de los atributos retencionesIVA, retencionesISR, retencionesIEPS en el nodo Totales del nodo Pago #:nPago. | |
| 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". | |
| 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 |
|---|---|
| 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. | |
| El atributo tipoCambio del nodo Pago #:nPago debe contener el valor 1 si el atributo tipoMoneda es MXN. | |
| 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. | |
| El valor del atributo monto del nodo Pago #:nPago no es mayor que cero "0". | |
| 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. | |
| El atributo rfcEmisorCtaBen no se debe registrar en el nodo Pago #:nPago. | |
| El atributo nombreBancoOrdExt se debe registrar en el nodo Pago #:nPago. | |
| El atributo ctaOrdenante no se debe registrar en el nodo Pago #:nPago. | |
| El atributo ctaOrdenante no cumple con el patrón requerido en el nodo Pago #:nPago. | |
| El atributo ctaBeneficiario no cumple con el patrón requerido en el nodo Pago #:nPago. | |
| El atributo rfcEmisorCtaBen no se debe registrar en el nodo Pago #:nPago. | |
| El atributo ctaBeneficiario no se debe registrar en el nodo Pago #:nPago. | |
| El atributo tipoCadPago no se debe registrar en el nodo Pago #:nPago. | |
| El atributo certPago se debe registrar en el nodo Pago #:nPago. | |
| El atributo certPago no se debe registrar en el nodo Pago #:nPago. | |
| El atributo cadenaPago se debe registrar en el nodo Pago #:nPago. | |
| El atributo cadenaPago no se debe registrar en el nodo Pago #:nPago. | |
| El atributo selloPago se debe registrar en el nodo pago #:nPago. | |
| El atributo selloPago no se debe registrar en el nodo Pago #:nPago. | |
| Según el catálogo de formaPago, el atributo :attr en el nodo Pago #:nPago no debe venir en la petición. | |
| El atributo :attr, es requerido según el catálogo de formaPago en el nodo Pago #:nPago. | |
| 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 |
|---|---|
| El atributo equivalencia del nodo DocumentosRelacionados #:nDocRel del nodo Pago #:nPago se debe registrar. | |
| El atributo equivalencia del nodo DocumentosRelacionados #:nDocRel del nodo Pago #:nPago debe contener el valor "1". | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| El valor del atributo :attr del nodo DocumentosRelacionados #:nDocRel del nodo Pago #:nPago debe ser mayor a cero. | |
| 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. | |
| 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 |
|---|---|
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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 |
|---|---|
| Debe haber sólo un registro por cada tipo de impuesto retenido en el nodo Impuestos #:nImp del nodo Pago #:nPago. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| El nodo hijo Impuestos del nodo DocumentosRelacionados #:nDocRel del nodo Pago #:nPago, no debe existir. | |
| El valor del atributo tasaOCuota debe tener hasta la cantidad de decimales (:nDecimales) en el nodo Impuestos #:nImp :sDocRel del nodo Pago #:nPago. | |
| El Impuesto #:nImp no existe en el :sDocRel nodo Pago #:nPago. | |
| 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. | |
| El valor del atributo monto del nodo Pago #:nPago debe ser mayor a cero. | |
| 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. | |
| 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. | |
| Es necesario enviar el atributo :sAtributoFaltante debido a que se envió el atributo :sAtributoEnviado. | |
| 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. | |
| El valor del campo importePagado del documento relacionado no se encuentra entre el limite inferior y superior permitido. | |
| 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:
-
":", Estos dos puntos denotan que se trata de una variable interna en el mensaje de descripción del error. -
Seguido a estos dos puntos
":"continúa un nombre auto-descriptivo, que permite darse una idea con respecto al mensaje mostrado.
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 |
|---|---|
| La versión del comprobante es diferente a 4.0. | |
| El valor del campo subtotal debe ser cero, cuando el tipo de comprobante es (T) Traslado. | |
| El valor del campo moneda debe ser XXX, cuando el tipo de comprobante es (T) Traslado. | |
| El valor del campo moneda no debe ser XXX, cuando el tipo de comprobante es (I) Ingreso. | |
| El valor del campo total debe ser cero, cuando el tipo de comprobante es (T) Traslado. | |
| El valor del campo objetoDeImpuesto en los conceptos no contiene un valor del catálago c_ObjetoImp. | |
| El campo rfc del receptor debe ser igual al rfc del emisor, cuando el tipo de comprobante es (T) Traslado. | |
| El campo rfc del receptor no se encontró en la lista del RFC inscritos no cancelados del SAT (l_RFC). | |
| El campo rfc del receptor no tiene un formato válido. | |
| El campo claveProdServ registrado en las partidas es diferente de alguna de las claves de servicio requeridas por el SAT. | |
| Debe existir más de un nodo de transporte cuando viene una clave de servicio relacionado con el transporte intermodal. | |
| El campo usoCfdi debe ser (S01) Sin efectos fiscales. | |
| Debe existir el nodo CartaPorte (un solo nodo) dentro del nodo CFDi:Complementos. | |
| Se ha registrado un complemento que no es compatible con el complemento Carta Porte. | |
| El tipo de comprobante debe ser (I) Ingreso o (T) Traslado. | |
| La versión del complemento carta porte es diferente a 3.0. | |
| El campo regimenAduanero no debe existir, cuando el valor registrado en el atributo transporteInternacional sea igual a "No". | |
| El campo regimenAduanero debe existir, cuando el valor registrado en el atributo transporteInternacional sea igual a "Sí". | |
| El valor del campo regimenAduanero no coincide con alguno de los valores del catalogo c_RegimenAduanero para una importación. | |
| El valor del campo regimenAduanero no coincide con alguno de los valores del catalogo c_RegimenAduanero para una exportación. | |
| El campo entradaSalidaMercancias debe existir, cuando el valor registrado en el campo transporteInternacional sea igual a "Sí". | |
| El campo entradaSalidaMercancias no debe existir, cuando el valor registrado en el campo transporteInternacional sea igual a "No". | |
| 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í". | |
| El campo paisOrigenDestino no debe existir, cuando el valor registrado en el campo transporteInternacional sea igual a "No". | |
| 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í". | |
| El campo viaEntradaSalida no debe existir, cuando el valor registrado en el campo transporteInternacional sea igual a "No". | |
| El campo totalDistanciaRecorrida debe existir, cuando existan el nodo Autotransporte o TransporteFerroviario en las mercancias. | |
| El campo totalDistanciaRecorrida no debe existir, cuando no existan los nodos Autotransporte o TransporteFerroviario en las mercancias. | |
| El campo totalDistanciaRecorrida debe ser igual a la suma de los campos distanciaRecorrida de las Ubicaciones. | |
| Los campos ubicacionPoloOrigen y ubicacionPoloDestino deben existir, cuando el valor registrado en el campo registroISTMO sea igual a "Sí". | |
| Los campos ubicacionPoloOrigen y ubicacionPoloDestino no deben existir, cuando el campo cuando registroISTMO no exista o el valor sea igual a "No". | |
| Cuando se registre el TransporteFerroviario, deben existir al menos 1 nodo Ubicaciones:Ubicacion de tipo Origen. | |
| Cuando se registre el TransporteFerroviario, deben existir al menos 5 nodos Ubicaciones:Ubicacion de tipo Destino. | |
| 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. | |
| 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. | |
| 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). | |
| Error en la ubicación (:nUbicacion). El campo numeroRegistroIdTributario es obligatorio cuando el rfcRemitenteDestinatario es extranjero. | |
| Error en la ubicación (:nUbicacion). El campo residenciaFiscal es obligatorio cuando exista el numeroRegistroIdTributario, en caso contrario se debe omitir. | |
| Error en la ubicación (:nUbicacion). El campo numeroEstacion no debe de existir cuando solo existe un nodo Mercancias:Autotransporte. | |
| 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". | |
| Error en la ubicación (:nUbicacion). El campo numeroEstacion es obligatorio. | |
| 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. | |
| Error en la ubicación (:nUbicacion). El campo nombreEstacion no debe contener la palabra extranjera y debe registrar el nombre de dicha estación. | |
| Error en la ubicación (:nUbicacion). El campo nombreEstacion no debe existir cuando el campo numeroEstacion no existe. | |
| 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. | |
| Error en la ubicación (:nUbicacion). El campo tipoEstacion no debe existir cuando la descripción del numero de estación sea Extranjera. | |
| 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. | |
| Error en la ubicación (:nUbicacion). El campo tipoEstacion no debe existir cuando el tipo de transporte sea Autotransporte. | |
| 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. | |
| Error en la ubicación (:nUbicacion). El campo distanciaRecorrida no debe existir cuando el tipo de ubicación sea Origen. | |
| 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. | |
| Error en la ubicación (:nUbicacion). El nodo Domicilio es obligatorio. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| El nodo mercancías debe contener por lo menos un nodo Mercancias:AutortransporteFederal, Mercancias:TransporteMaritimo, Mercancias:TransporteAereo o Mercancias:TransporteFerroviario. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| El campo logisticaInversaRecoleccionDevolucion no debe existir, cuando el tipo de tranporte sea transporte aéreo, transporte marítimo o transporte ferroviario. | |
| 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. | |
| Error en la mercancía (:nMercancia). El campo bienesTransportados tiene una clave (:nBienesTransportados) no soportada para carta porte. | |
| 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. | |
| Error en la mercancía (:nMercancia). El campo materialPeligroso no debe existir. | |
| Error en la mercancía (:nMercancia). El campo claveMaterialPeligroso es obligatorio cuando el campo materialPeligroso contiene el valor Sí. | |
| Error en la mercancía (:nMercancia). El campo claveMaterialPeligroso no debe existir cuando el campo materialPeligroso contiene el valor No. | |
| Error en la mercancía (:nMercancia). El campo embalaje es obligatorio, cuando existe el campo claveMaterialPeligroso. | |
| Error en la mercancía (:nMercancia). El campo embalaje no debe existir. | |
| El campo sectorCOFEPRIS debe contener un valor del catálogo c_SectorCOFEPRIS. | |
| Error en la mercancía (:nMercancia). El campo denominacionGenericaProd debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS. | |
| Error en la mercancía (:nMercancia). El campo denominacionDistintivaProd debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS. | |
| Error en la mercancía (:nMercancia). El campo fabricante debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS. | |
| Error en la mercancía (:nMercancia). El campo fechaCaducidad debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS. | |
| Error en la mercancía (:nMercancia). El campo loteMedicamento debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS. | |
| Error en la mercancía (:nMercancia). El campo formaFarmaceutica debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS. | |
| Error en la mercancía (:nMercancia). El campo condicionesEspTransp debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS. | |
| Error en la mercancía (:nMercancia). El campo registroSanitarioFolioAutorizacion debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS. | |
| Error en la mercancía (:nMercancia). El campo nombreIngredienteActivo debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS. | |
| Error en la mercancía (:nMercancia). El campo nombreQuimico debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS. | |
| Error en la mercancía (:nMercancia). El campo numeroCAS debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS. | |
| Error en la mercancía (:nMercancia). El campo numRegSanPlagCOFEPRIS debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS. | |
| Error en la mercancía (:nMercancia). El campo datosFabricante debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS. | |
| Error en la mercancía (:nMercancia). El campo datosFormulador debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS. | |
| Error en la mercancía (:nMercancia). El campo datosMaquilador debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS. | |
| Error en la mercancía (:nMercancia). El campo usoAutorizado debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS. | |
| Error en la mercancía (:nMercancia). El campo denominacionGenericaProd no debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS. | |
| Error en la mercancía (:nMercancia). El campo denominacionDistintivaProd no debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS. | |
| Error en la mercancía (:nMercancia). El campo fabricante no debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS. | |
| Error en la mercancía (:nMercancia). El campo fechaCaducidad no debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS. | |
| Error en la mercancía (:nMercancia). El campo loteMedicamento no debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS. | |
| Error en la mercancía (:nMercancia). El campo formaFarmaceutica no debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS. | |
| Error en la mercancía (:nMercancia). El campo condicionesEspTransp no debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS. | |
| Error en la mercancía (:nMercancia). El campo registroSanitarioFolioAutorizacion no debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS. | |
| Error en la mercancía (:nMercancia). El campo nombreIngredienteActivo no debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS. | |
| Error en la mercancía (:nMercancia). El campo nombreQuimico no debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS. | |
| Error en la mercancía (:nMercancia). El campo numeroCAS no debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS. | |
| Error en la mercancía (:nMercancia). El campo numRegSanPlagCOFEPRIS no debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS. | |
| Error en la mercancía (:nMercancia). El campo datosFabricante no debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS. | |
| Error en la mercancía (:nMercancia). El campo datosFormulador no debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS. | |
| Error en la mercancía (:nMercancia). El campo datosMaquilador no debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS. | |
| Error en la mercancía (:nMercancia). El campo usoAutorizado no debe existir, cuando el sectorCOFEPRIS es :sectorCOFEPRIS. | |
| Error en la mercancía (:nMercancia). El campo permisoImportacion debe existir, cuando el campo transporteInternacional se registre Sí, el campo entradaSalidaMercancias sea Entrada y el campo sectorCOFEPRIS contenga el valor (01) Medicamentos, (02) Precursores y químicos de uso dual o (03) Psicotrópicos y estupefacientes. | |
| Error en la mercancía (:nMercancia). El campo permisoImportacion no debe existir. | |
| Error en la mercancía (:nMercancia). El campo folioImportacionVUCEM debe existir, cuando el campo transporteInternacional se registre Sí, el campo entradaSalidaMercancias sea Entrada y el campo sectorCOFEPRIS contenga el valor (01) Medicamentos, (02) Precursores y químicos de uso dual o (04) Sustancias tóxicas, (05) Plaguicidas y fertilizantes. | |
| Error en la mercancía (:nMercancia). El campo folioImportacionVUCEM no debe existir. | |
| Error en la mercancía (:nMercancia). El campo razonSocialEmpImp debe existir, cuando el campo transporteInternacional se registre Sí, el campo entradaSalidaMercancias sea Entrada y el campo sectorCOFEPRIS sea (04) Sustancias tóxicas. | |
| Error en la mercancía (:nMercancia). El campo razonSocialEmpImp no debe existir. | |
| Error en la mercancía (:nMercancia). El campo valorMercancia debe contener un valor siempre que se registre el nodo Mercancias:TransporteAereo. | |
| Error en la mercancía (:nMercancia). El campo moneda debe existir, cuando existe el campo valorMercancia. | |
| Error en la mercancía (:nMercancia). El campo fraccionArancelaria debe existir y una clave diferente a las establecidas en el catálogo catComExt:c_FraccionArancelaria. | |
| Error en la mercancía (:nMercancia). El campo fraccionArancelaria no debe existir. | |
| Error en la mercancía (:nMercancia). El campo tipoMateria debe existir, cuando el campo transporteInternacional se registre Sí. | |
| Error en la mercancía (:nMercancia). El campo tipoMateria debe contener una clave del catalogo c_TipoMateria. | |
| Error en la mercancía (:nMercancia). El campo tipoMateria no debe existir, cuando el transporte no es internacional. | |
| Error en la mercancía (:nMercancia). El campo descripcionMateria debe existir, cuando el campo tipoMateria contenga la clave (05) Otra. | |
| Error en la mercancía (:nMercancia). El campo descripcionMateria no debe existir, cuando el campo tipoMateria sea diferente a la clave (05) Otra. | |
| Error en la mercancía (:nMercancia). El nodo DocumentacionAduanera debe existir, cuando en el campo transporteInternacional se registre el valor Sí y el campo entradaSalidaMercancias contenga el valor Entrada. | |
| Error en la mercancía (:nMercancia). El nodo DocumentacionAduanera no debe existir, cuando en el campo transporteInternacional se registre el valor Sí y el campo entradaSalidaMercancias contenga el valor Salida. | |
| Error en la mercancía (:nMercancia). En el nodo DocumentacionAduanera (:nDocumento). El campo tipoDocumento debe ser distinta a la clave (01) Pedimento, cuando el campo entradaSalidaMercancias es Salida. | |
| Error en la mercancía (:nMercancia). En el nodo DocumentacionAduanera (:nDocumento). El campo pedimento debe existir, cuando el campo entradaSalidaMercancias es de Entrada y el campo tipoDocumento es (01) Pedimento. | |
| Error en la mercancía (:nMercancia). En el nodo DocumentacionAduanera (:nDocumento). El campo pedimento no debe existir. | |
| Error en la mercancía (:nMercancia). En el nodo DocumentacionAduanera (:nDocumento). El campo pedimento no cumple con el formato del SAT. | |
| Error en la mercancía (:nMercancia). En el nodo DocumentacionAduanera (:nDocumento). El campo identDocAduanero debe existir, cuando el campo tipoDocumento sea diferente a (01) Pedimento. | |
| Error en la mercancía (:nMercancia). En el nodo DocumentacionAduanera (:nDocumento). El campo identDocAduanero no debe existir, cuando el campo tipoDocumento sea (01) Pedimento. | |
| Error en la mercancía (:nMercancia). En el nodo DocumentacionAduanera (:nDocumento). El campo rfcImportador debe existir y contener un RFC que se encuentre en la lista de RFC inscritos no cancelados del SAT (l_RFC) o un RFC genérico, cuando el campo pedimento existe. | |
| Error en la mercancía (:nMercancia). En el nodo DocumentacionAduanera (:nDocumento). El campo rfcImportador no debe existir, cuando el campo pedimento no existe. | |
| Error en la mercancía (:nMercancia). El nodo GuiasIdentificacion es obligatorio cuando el tipo comprobante sea (T) Traslado y a nivel Concepto en el campo claveProdServ se registren las claves (31181701) Empaques o (24112700) Estibas. | |
| Error en la mercancía (:nMercancia). El nodo GuiasIdentificacion no debe existir. | |
| Error en la mercancía (:nMercancia). En el nodo CantidadTransporta (:nCantidadTransporta). El valor del campo idOrigen no existe, está vacío o no coincide con un valor registrado en los campos Ubicacion:idOrigen. | |
| Error en la mercancía (:nMercancia). En el nodo CantidadTransporta (:nCantidadTransporta). El valor del campo idDestino no existe, está vacío o no coincide con un valor registrado en los campos Ubicacion:idDestino. | |
| Error en la mercancía (:nMercancia). En el nodo CantidadTransporta (:nCantidadTransporta). El campo clavesTransporte es obligatorio cuando hay más de un tipo de transporte. | |
| Error en la mercancía (:nMercancia). En el nodo CantidadTransporta (:nCantidadTransporta). El campo clavesTransporte no debe existir. | |
| Error en la mercancía (:nMercancia). En el nodo DetalleMercancia es obligatorio cuando el tipo de transporte es maritimo. | |
| Error en la mercancía (:nMercancia). En el nodo DetalleMercancia no debe existir. | |
| Error en el nodo Autotransporte. El campo Autotransporte:Seguros:aseguraMedAmbiente es obligatorio cuando en el campo Mercancias:Mercancia:materialPeligroso se registre Sí. | |
| Error en el nodo Autotransporte. El campo Autotransporte:Seguros:aseguraMedAmbiente no debe existir. | |
| Error en el nodo Autotransporte. El campo Autotransporte:Seguros:polizaMedAmbiente es obligatorio cuando se registre un valor en el campo Mercancias:Autotransporte:Seguros:aseguraMedAmbiente. | |
| Error en el nodo Autotransporte. El campo Autotransporte:Seguros:polizaMedAmbiente no debe existir. | |
| Error en el nodo Autotransporte. El nodo Autotransporte:Remolques es obligatorio cuando el valor registrado en el campo Mercancias:Autotransporte:IdentificacionVehicular:configuracionVehicular del catálogo catCartaPorte:c_ConfigAutotransporte, contenga en la columna Remolque el valor 1. | |
| Error en el nodo Autotransporte. El nodo Autotransporte:Remolques no debe existir cuando el valor registrado en el campo Mercancias:Autotransporte:IdentificacionVehicular:configuracionVehicular del catálogo catCartaPorte:c_ConfigAutotransporte, contenga en la columna Remolque el valor 0. | |
| El campo TransporteMaritimo:permisoTempNavegacio no debe existir cuando el valor registrado en el campo TransporteMaritimo:nacionalidadEmbarcacion es (MEX) México. | |
| Cuando el campo TransporteMaritimo:Contenedor:tipoContenedor sea (CM011) Ferri: Los campos matriculaContenedor y numeroPrecinto no deben existir, en caso contrario deben existir y contener un valor; Los campos idCCPRelacionado, placaVMCCP y fechaCertificacionCCP deben existir y contener un valor, en caso contrario se deben omitir. | |
| Cuando el campo TransporteMaritimo:Contenedor:tipoContenedor sea (CM011) Ferri el campo TransporteMaritimo:remolquesCCP puede existir, en caso contrario se debe omitir. | |
| El campo TransporteAereo:rfcEmbarcador debe encontrarse en la lista del RFC inscritos no cancelados del SAT (l_RFC). | |
| El campo TransporteAereo:numeroRegistroIdTributarioEmbarcador debe existir, cuando el campo rfcEmbarcador no exista, en caso contrario no debe de existir. | |
| El campo TransporteAereo:residenciaFiscalEmbarcador debe existir, cuando el campo numeroRegistroIdTributarioEmbarcador exista y contenga la clave distinta a (MEX) México, en caso contrario no debe de existir. | |
| El campo TransporteFerroviario:Carro:toneladasNetasCarro es obligatorio y su valor debe ser igual a la suma de los valores registrados en kilogramos convertidos en toneladas de los campos Mercancias:TransporteFerroviario:Carro:Contenedor:pesoNetoMercancia. | |
| Error en el nodo TransporteFerroviario (Carro en la posición: :nCarro). El nodo Carro:Contenedor es obligatorio cuando el valor registrado en el campo Mercancias:TransporteFerroviario:tipoDeServicio del catálogo catCartaPorte:c_TipoDeServicio, contenga en la columna Contenedor el valor 1, en caso contrario no debe de existir. | |
| El nodo FiguraTransporte es obligatorio cuando exista el nodo Mercancias:Autotransporte. | |
| El campo tipoFigura debe existir al menos una vez y contenga la clave (01) Operador, cuando exista el nodo Mercancias:Autotransporte. | |
| Error en la figura de transporte (:nFigura). Error en el campo rfcFigura, debe encontrarse en la lista del RFC inscritos no cancelados del SAT (l_RFC), en caso contrario se debe omitir este campo y registrar la información correspondiente en el campo CartaPorte:FiguraTransporte:TiposFigura:NumRegIdTribFigura. | |
| Error en la figura de transporte (:nFigura). En el nodo numeroLicencia es obligatorio. | |
| Error en la figura de transporte (:nFigura). En el nodo numeroLicencia no debe existir. | |
| Error en la figura de transporte (:nFigura). Error en el campo numeroRegistroIdTributarioFigura, es obligatorio. | |
| Error en la figura de transporte (:nFigura). Error en el campo numeroRegistroIdTributarioFigura, no cumple con el formato del país. | |
| Error en la figura de transporte (:nFigura). Error en el campo numeroRegistroIdTributarioFigura, no debe existir. | |
| Error en la figura de transporte (:nFigura). Error en el campo residenciaFiscalFigura es obligatorio. | |
| Error en la figura de transporte (:nFigura). Error en el campo residenciaFiscalFigura, debe ser diferente a MEX. | |
| Error en la figura de transporte (:nFigura). Error en el campo residenciaFiscalFigura, no debe existir. | |
| Error en la figura de transporte (:nFigura). Error en el campo rfcFigura, debe ser diferente al RFC XAXX010101000 publico en general. | |
| Error en la figura de transporte (:nFigura). Error en el nodo partesTransporte, es obligatorio cuando en el campo tipoFigura se registre el valor 02 o 03. | |
| Error en la figura de transporte (:nFigura). El nodo partesTransporte, no debe existir. | |
| Error en la figura de transporte (:nFigura). 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. | |
| Error en la figura de transporte (:nFigura). 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. | |
| Error en la figura de transporte (:nFigura). 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. | |
| Error en la figura de transporte (:nFigura). El campo Domicilio:estado no existe o no contiene un valor o no corresponde con una clave del catCFDI:c_Estado. | |
| Error en la figura de transporte (:nFigura). 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. | |
| Error en la figura de transporte (:nFigura). 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. |
Descripción Errores CCP 3.0
Como se pudo observar en la tabla donde se muestran los códigos de error al consumir el API con un CFDi 4.0 con complemento Carta Porte 3.0, podemos ver distintas variables que tienen la siguiente estructura:
-
":", Estos dos puntos denotan que se trata de una variable interna en el mensaje de descripción del error. -
Seguido a estos dos puntos
":"continúa un nombre auto-descriptivo, que permite darse una idea con respecto al mensaje mostrado.
La siguiente tabla describe las variables que se pueden presentar en los errores al consumir el API con un CFDi 4.0 con complemento Carta Porte 3.0:
| Variable | Descripción |
|---|---|
- |
- |
Enviar Correo
Enviar Correo - Request:
{
"Solicitud": {
"rfc": "AAA010101AAA",
"accion": "enviarCorreo",
"CFDi": {
"serie": "APIFA",
"folio": "1",
"EnviarCFDI": {
"Correos": ["facturas@ef.com"],
"mensajeCorreo": "Correo de prueba via API"
}
}
}
}
Enviar Correo - Response:
{
"AckEnlaceFiscal": {
"numeroReferencia": 5,
"estatusDocumento": "aceptado",
"fechaMensaje": "2023-07-12 13:14:49",
"version": "1.0",
"estatus": "Enviado por correo electrónico"
}
}
Servicio para enviar por correo electrónico los links de descarga de XML y PDF de comprobantes previamente timbrados.
API Endpoint
POST https://api.enlacefiscal.com/v6/enviarCorreo
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 | enviarCorreo |
enviarCorreo |
CFDi Nodo que nos permite indicar los datos del comprobante a enviar por correo.
serie Es la serie con la que se identifica el tipo de comprobante.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Requerido | FA |
folio El número de folio, junto con la serie, identifican el comprobante a enviar por correo.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| int | Requerido | 1 |
EnviarCFDI Esta sección contiene la información necesaria para enviar el comprobante por correo electrónico.
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.
- Si requiere especificar más de una dirección de correo electrónico, es necesario dividir cada dirección con una coma, cada cuenta de correo es un elemento del arreglo.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| array | Requerido | cuentasxpagar@enlacefiscal.com |
mensajeCorreo Elemento para agregar un mensaje opcional que puede incluir el cuerpo del 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 |
Información CFDi
Información CFDi - Request:
{
"Solicitud": {
"rfc": "AAA010101AAA",
"accion": "informacionCfdi",
"CFDi": {
"serie": "A",
"folio": "1"
}
}
}
Información CFDi - Response:
{
"AckEnlaceFiscal": {
"numeroReferencia": 1234,
"estatusDocumento": "aceptado",
"fechaMensaje": "2021-12-31 23:59:59",
"version": "1.0",
"folioInterno": "1",
"folioFiscalUUID": "98652610-EF40-42F7-8464-C7FFF5BF281A",
"serie": "A",
"noSerieCertificado": "30001000000300023708",
"noSerieCertificadoSAT": "20001000000100005761",
"selloCFDi": "lpcE58yTOXdmgqIxO7Fdo6lo43Wzi1gsRizx9/gscMmuETvSCHmYFJxpOKBBJx3F6Hv1oRd/VJQ2G5lX/3JJqVdT4JjY5oG1hge4SEcJjn6K3zi4PtbLH4j2V21iMmWC3LKhJsLc7SA3rfi3Pn3AnJ5EcLk4rYHQFF6jjj5R+bEbjm/prfsDheEYIOoid/+6XOlLc7P/aydQD9Ie4kFuHwI41O547UVNZpoqxbIXO/PiOmjj+CKv/d5Q38K7l1S6FCedhmOsHA/CiF5079AKAovfX8jXhE/e+yg0SMFIAG7TCMylBKvJAKsH/Rp9CSZWxoQ5mqBNMGbeXewDMlATyA==",
"selloSAT": "dk0GTOKowcbRIbbjDoQiuIy5HBDj1kHFGKFonJVIliBpivaQFLcoLoCS1r8ioXJLxJIfVtS0EwQcA/b5kEBbKpUAAAHX8u46lqi8mM5wDdR08+nObaa4u6I9RS6NvAsJhOiEZyflY6Tvxgw+prcEEFJ97sUvAF2WfgWQAc109Ww=",
"cadenaTFD": "||1.1|88652610-EF40-42F7-8464-C7FFF5BF281E|2018-04-10T15:46:35|AAA010101AAA|lpcE58yTOXdmgqIxO7Fdo6lo43Wzi1gsRizx9/gscMmuETvSCHmYFJxpOKBBJx3F6Hv1oRd/VJQ2G5lX/3JJqVdT4JjY5oG1hge4SEcJjn6K3zi4PtbLH4j2V21iMmWC3LKhJsLc7SA3rfi3Pn3AnJ5EcLk4rYHQFF6jjj5R+bEbjm/prfsDheEYIOoid/+6XOlLc7P/aydQD9Ie4kFuHwI41O547UVNZpoqxbIXO/PiOmjj+CKv/d5Q38K7l1S6FCedhmOsHA/CiF5079AKAovfX8jXhE/e+yg0SMFIAG7TCMylBKvJAKsH/Rp9CSZWxoQ5mqBNMGbeXewDMlATyA==|20001000000100005761||",
"fechaGeneracionCFDi": "2018-04-07 20:03:43",
"fechaTFD": "2018-04-10T15:46:35",
"estadoCFDi": "vigente",
"archivoQR": "iVBORw0KGgoAAAANSUhEUgAAAasAAAGrAQMAAABE3youAAAABlBMVEUAAAD///+l2Z/dAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFQklEQVR4nO2bvXHjUAyEwVGg0CW4FJZGlqZSVIJCBRriHnYXj3R2M4YzMNGZfB8vwOBvAZrh2paPfT1t88/d3ffj9v7yuMbPYzvs7vHM3/b9sOvV2O+xJZ6ORzfcwyPfx82XrfsyXvJcHdjqxAY9njVWh30s/uCP6bwNu42DdosT4+Y77TtOmt0b+wvs/gKGEwv8x8e/vs4fHmnsbzCPHw9LDTeC/1yuMN9wnBHcvLFyjJErbDPSgyFI7Qxg4yWgI4M84x/3OPkj4DX2a4yXHOc/fq72bKwAc17IGSieInXIbmFTJG1/zbyO69lYGRaF6nMmC/pIOgecyvcIZ3Cc8C07ELkaq8IiL3wzSIVzMEjFo3ETXQRiVdAHIxct3FgVxkfj4CxN4wc5I/8CpVeujp6isTKMPRqN4ntErm800NHGHShbd3rMRmPu7Ckaq8SG3QyaBRo3/cVwlgfjh0IG8kljZZh65UXZmn206tUDOWM7q1d0EWwtGivCFmfkksFgG6PHOP3HZUXqe+Mmu47GajC7PFr3aRtka92EMUPYw5un4zRWgjlLKLoDxGwyLx6M8/6ZCR31VWOVmNKDTKWkraoJ/hMKNwrc6U3K3Y2VYM7cjcro8TOTh3o6laQ183pjtRgV0j3Tg+Y4n6xXw5gSUeFGELrjZGNl2DvnOPGISjWVJOjWGOeossV/kApGYzWY4/yMXIa/FLk0yXROGtBFZHPdWBUWqcPQlUFJypY5b3KUzOLpqmI3VochPShIYZIJ/wnzMUts7udgeY1Tr8bqMM0nc3DAAAbzPTBiiLFazvnVPkTqaKwKU8cmS6VolH00t1lYNSm4IZ80VojFtUkmOn+QTxTVcpKJqObXUXJjNdi6a6TP87NhoN004FcNNRW9xkqwq/XMzqSdN7+h79GpcIPJvrEyDLFKlnI9wvnUtPmS1bVxxN6usTLMZ1PACVrWSbOpUwDLk7RpY1UYs7UrLxw2E/M3pQtoqYhql5PPxsowxiot87KLeCg6ZWvBlnnLdVNFtcbKsFxZZ8d2ahbxUFNOSKo317Yj7dZYDXZTmr7nZqmfuy16CQ3GwXLarbEizGEUSqPr6SMwkdYcF9lUUe3G6rWxIkzyxFlD5RhhShfqsdO0jZViNJgmNzklWzzNd9l2PGhTCN2N1WFcGVqmiZge4DHx/LTiklP/ABqrwnhPg/pdKXxuUQAzm+N+LNS9vxorxeAOHFO6X4f4GqvNfV+bLV5jZVjuTdzkKjCRFn35rcGei+/ErLFSjMtazBnRKaBC9Yto9LCfM56LhtdYAcY5sfNjgZzVLB+VSwxntGKulBq+RmisCFvm/gqkC9pNriL/wSev2qSjMa2xMuzIbTn0ysvFbjlPc2fVlNmlsVIst1lylZF6RooV+LRskdDNFM7WorEqzNmjcW9XKsWGZMFeme/iVtE9e4rGajFVTcYeTeqpa4UO/RvEbJPCnYO0xkqwLFQtP6yJxZXP3Gp/zm2W3HHXSmljVVg6wrj2uVAnRU9TTj2DsprL8I3VYClPcI9deobyyZFDhTuT9n1WVI0VYpbpYTqHzaHl9XuzM69z8NNYCUaPmQoGaRrTtUTK2YKrj+bsubEqjFeq2HONWvXq/TU1PJuLjY1VYueqShoMShJFo5RU5/tn5GqsDOPS3JHmg0zk122WEblYy4qe4ndjhZjEbNdaV370HbeyolJX3difYMoLs49OCel8CVaN1NRZY3WY+1yRWLWuuJ19NMYIfHM6lfsZ8Br7NcZr0+cydJzcKkINpSWv/Oo+K9vGarB/sCQccNgGebkAAAAASUVORK5CYII=",
"descargaArchivoQR": "https://descarga.enlacefiscal.com/v6/qr/?i=7894ds6g8Q6UfdFBMDfEsdwMTfsAxQUFBLS1BQUEwMTAxMDFBQUEtMjAxODA0MDctRkFBUEkyLnBuZy0tMS0tNzE",
"descargaArchivoPDF": "https://descarga.enlacefiscal.com/v6/pdf/?i=VDBSbk1rNVVtruTVEkipOVkVGMrfeFVsVfdslpNRTFkukgETURCTmExa3pURlJuTUU1cVVYUlJlbVJIVW10Wk1WRnJXWGxQUkVaR0xTMU5VVDA5TFMxT2VrVjNMUzFSVlVaQ1RVUkZkMDFVUVhoUlZVWkNURlJKZDAxVVozZE9SRUV6VEZWYVFsRldRa3BOYVRWM1drZFpQUT09&b=0",
"xmlCFDi": "gfdhfdgPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48Y2ZkaTpDb21wcm9hfdghgfddiYW50ZSB4bWxuczpjZmRpPSJodHRwOi8vdfdsf3d3LnNhdC5nb2IubXgvY2ZkLzMiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL3d3dy5zYXQuZ29iLm14L2NmZC8zIGh0dHA6Ly93d3cuc2F0LmdvYi5teC9zaXRpb19pbnRlcm5ldC9jZmQvMy9jZmR2MzMueHNkIiBWZXJzaW9uPSIzLjMiIFNlcmllPSJGQUFQSSIgRm9saW89IjIiIEZlY2hhPSIyMDE4LTA0LTA3VDIwOjAzOjQzIiBTZWxsbz0ibHBjRTU4eVRPWGRtZ3FJeE83RmRvNmxvNDNXemkxZ3NSaXp4OS9nc2NNbXVFVHZTQ0htWUZKeHBPS0JCSngzRjZIdjFvUmQvVkpRMkc1bFgvM0pKcVZkVDRKalk1b0cxaGdlNFNFY0pqbjZLM3ppNFB0YkxINGoyVjIxaU1tV0MzTEtoSnNMYzdTQTNyZmkzUG4zQW5KNUVjTGs0cllIUUZGNmpqajVSK2JFYmptL3ByZnNEaGVFWUlPb2lkLys2WE9sTGM3UC9heWRRRDlJZTRrRnVId0k0MU81NDdVVk5acG9xeGJJWE8vUGlPbWpqK0NLdi9kNVEzOEs3bDFTNkZDZWRobU9zSEEvQ2lGNTA3OUFLQW92Zlg4alhoRS9lK3lnMFNNRklBRzdUQ015bEJLdkpBS3NIL1JwOUNTWld4b1E1bXFCTk1HYmVYZXdETWxBVHlBPT0iIEZvcm1hUGFnbz0iMDMiIE5vQ2VydGlmaWNhZG89IjMwMDAxMDAwMDAwMzAwMDIzNzA4IiBDZXJ0aWZpY2Fkbz0iTUlJRitUQ0NBK0dnQXdJQkFnSVVNekF3TURFd01EQXdNREF6TURBd01qTTNNRGd3RFFZSktvWklodmNOQVFFTEJRQXdnZ0ZtTVNBd0hnWURWUVFEREJkQkxrTXVJRElnWkdVZ2NISjFaV0poY3lnME1EazJLVEV2TUMwR0ExVUVDZ3dtVTJWeWRtbGphVzhnWkdVZ1FXUnRhVzVwYzNSeVlXTnB3N051SUZSeWFXSjFkR0Z5YVdFeE9EQTJCZ05WQkFzTUwwRmtiV2x1YVhOMGNtRmphY096YmlCa1pTQlRaV2QxY21sa1lXUWdaR1VnYkdFZ1NXNW1iM0p0WVdOcHc3TnVNU2t3SndZSktvWklodmNOQVFrQkZocGhjMmx6Ym1WMFFIQnlkV1ZpWVhNdWMyRjBMbWR2WWk1dGVERW1NQ1FHQTFVRUNRd2RRWFl1SUVocFpHRnNaMjhnTnpjc0lFTnZiQzRnUjNWbGNuSmxjbTh4RGpBTUJnTlZCQkVNQlRBMk16QXdNUXN3Q1FZRFZRUUdFd0pOV0RFWk1CY0dBMVVFQ0F3UVJHbHpkSEpwZEc4Z1JtVmtaWEpoYkRFU01CQUdBMVVFQnd3SlEyOTViMkZqdzZGdU1SVXdFd1lEVlFRdEV3eFRRVlE1TnpBM01ERk9Uak14SVRBZkJna3Foa2lHOXcwQkNRSU1FbEpsYzNCdmJuTmhZbXhsT2lCQlEwUk5RVEFlRncweE56QTFNVGd3TXpVME5UWmFGdzB5TVRBMU1UZ3dNelUwTlRaYU1JSGxNU2t3SndZRFZRUURFeUJCUTBORlRTQlRSVkpXU1VOSlQxTWdSVTFRVWtWVFFWSkpRVXhGVXlCVFF6RXBNQ2NHQTFVRUtSTWdRVU5EUlUwZ1UwVlNWa2xEU1U5VElFVk5VRkpGVTBGU1NVRk1SVk1nVTBNeEtUQW5CZ05WQkFvVElFRkRRMFZOSUZORlVsWkpRMGxQVXlCRlRWQlNSVk5CVWtsQlRFVlRJRk5ETVNVd0l3WURWUVF0RXh4QlFVRXdNVEF4TURGQlFVRWdMeUJJUlVkVU56WXhNREF6TkZNeU1SNHdIQVlEVlFRRkV4VWdMeUJJUlVkVU56WXhNREF6VFVSR1VrNU9NRGt4R3pBWkJnTlZCQXNVRWtOVFJEQXhYMEZCUVRBeE1ERXdNVUZCUVRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBSmRVY3NISUVJZ3dpdnZBYW50R25ZVklPMys3eVRkRDF0a0tvcGJMK3RLU2pSRm8xRXJQZEdKeFAzZ3hUNU8rQUNJRFFYTitIUzl1TVdEWW5hVVJhbFNJRjlDT0ZDZGgvT0gyUG4rVW1rTjRjdWxyMkRhbkt6dFZJTzhpZFhNNmM5YUhuNWhPbzdoRHhYTUMzdU91R1YzRlM0T2JreFRWKzlOc3ZPQVYybE1lMjdTSHJTQjBEaHVMdXJVYlp3WG0rL3I0ZHR6M2IydUxnQmMrRGl5OTVQRytNSXU3b05LTTg5YUJOR2NqVEp3KzlrK1d6SmlQZDNacFFnSWVkWUJEKzhRV3hsWUNneGhudGEzazl5bGdYS1lYQ1lrMGswcWF1dkJKMWpTUlZmNUJqaklVYk9zdGFRcDU5bmtnSGg0NWM5Z253SlJWNjE4TlcwZk1lRHp1S1IwQ0F3RUFBYU1kTUJzd0RBWURWUjBUQVFIL0JBSXdBREFMQmdOVkhROEVCQU1DQnNBd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFCS2owRENOTDFsaDQ0eStPY1dGclQyaWNuS0Y3V3lTT1ZpaHgwb1IrSFByV0tCTVh4bzlLdHJvZG5CMXRnSXg4ZitYanF5cGhoYncranVEU2VEcmI5OVBoQzQrRTZKZVhPa2RRY0p0NTBLeW9kbDlVUnBDVldOV2pVYjNGL3lwYThvVGNmZi9lTWZ0UVpUN01RMUxxaHQreG0zUWhWb3hUSUFTY2UwampzbkJUR0QySlE0dVQzb0NlbThibW9NWFYvZms5YUozdjArWklMNDJNcFk0UE9HVWEvaVRhYXdrbEtSQUwxWGo5SWRJUjA2Uks2OFJTNnhyR2s2andiRFRFS3hKcG1aM1NQTHRsc21QVVRPMWtyYVRQSW85RkNtVS96WmtXR3BkOFpFQUFGdytaZkkrYmRYQmZ2ZER3YU0yaU1HVFFaVFRFZ1U1S0tUSXZrQW5IbzlPNDVTcVNKd3FWOU5MZlBBeENvNWVSUjJPR2liZDlqaEhlODF6VXNwNUdkRTFtWmlTcUpVODJIM2N1NkJpRStEM1liWmVabmpyTlN4QmdLVElmOHcrS05ZUE00YVdudVVNbDBtTGd0T3hUVVhpOU1LblVjY3EzR1pMQTdieDdabjIxMXlQUnFFalNBcXliVU1WSU9obzZhcXprZmMzV0xaNkxuR1UraHlIdVpVZlB3Ym5DbGI3b0ZGejFQbHZHT3BORHNVYjBxUDQyUUNHQmlUVXNlR3VnQXpxT1A2RVlwVlBDNzNnRm91cm1kQlFnZmF5YUV2aTN4ak5hbkZrUGxXMVhFWU5yWUpCNHlOanBoRnJ2V3dUWTg2dkwybzhnWk4wVXRtYzVmbm9CVGZNOXIyelZLbUVpNkZVZUoxaWFEYVZOdjQ3dGU5aVMxYWk0VjR2Qlk4ciIgU3ViVG90YWw9IjIwNy4wMyIgTW9uZWRhPSJNWE4iIFRvdGFsPSIyNDAuMTUiIFRpcG9EZUNvbXByb2JhbnRlPSJJIiBNZXRvZG9QYWdvPSJQVUUiIEx1Z2FyRXhwZWRpY2lvbj0iNDU1MzAiPjxjZmRpOkVtaXNvciBSZmM9IkFBQTAxMDEwMUFBQSIgTm9tYnJlPSJDbGllbnRlIERlbW8gR2VuZXJhbCIgUmVnaW1lbkZpc2NhbD0iNjAxIiAvPjxjZmRpOlJlY2VwdG9yIFJmYz0iVENIODUwNzAxUk0xIiBOb21icmU9IlRpZW5kYXMgQ29tZXJjaWFsIE1leGljYW5hLCBTLkEuIGRlIEMuVi4iIFVzb0NGREk9IkcwMSIgLz48Y2ZkaTpDb25jZXB0b3M+PGNmZGk6Q29uY2VwdG8gQ2xhdmVQcm9kU2Vydj0iNDIxNzE2MDYiIENhbnRpZGFkPSIxIiBDbGF2ZVVuaWRhZD0iS0dNIiBEZXNjcmlwY2lvbj0iMSBLZyBkZSBhcnJveiIgVmFsb3JVbml0YXJpbz0iMjA3LjAzIiBJbXBvcnRlPSIyMDcuMDMiPjxjZmRpOkltcHVlc3Rvcz48Y2ZkaTpUcmFzbGFkb3M+PGNmZGk6VHJhc2xhZG8gQmFzZT0iMjA3LjAzIiBJbXB1ZXN0bz0iMDAyIiBUaXBvRmFjdG9yPSJUYXNhIiBUYXNhT0N1b3RhPSIwLjE2MDAwMCIgSW1wb3J0ZT0iMzMuMTIiIC8+PC9jZmRpOlRyYXNsYWRvcz48L2NmZGk6SW1wdWVzdG9zPjwvY2ZkaTpDb25jZXB0bz48L2NmZGk6Q29uY2VwdG9zPjxjZmRpOkltcHVlc3RvcyBUb3RhbEltcHVlc3Rvc1RyYXNsYWRhZG9zPSIzMy4xMiI+PGNmZGk6VHJhc2xhZG9zPjxjZmRpOlRyYXNsYWRvIEltcHVlc3RvPSIwMDIiIFRpcG9GYWN0b3I9IlRhc2EiIFRhc2FPQ3VvdGE9IjAuMTYwMDAwIiBJbXBvcnRlPSIzMy4xMiIgLz48L2NmZGk6VHJhc2xhZG9zPjwvY2ZkaTpJbXB1ZXN0b3M+PGNmZGk6Q29tcGxlbWVudG8+PHRmZDpUaW1icmVGaXNjYWxEaWdpdGFsIHhtbG5zOnRmZD0iaHR0cDovL3d3dy5zYXQuZ29iLm14L1RpbWJyZUZpc2NhbERpZ2l0YWwiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL3d3dy5zYXQuZ29iLm14L1RpbWJyZUZpc2NhbERpZ2l0YWwgaHR0cDovL3d3dy5zYXQuZ29iLm14L3NpdGlvX2ludGVybmV0L2NmZC9UaW1icmVGaXNjYWxEaWdpdGFsL1RpbWJyZUZpc2NhbERpZ2l0YWx2MTEueHNkIiBWZXJzaW9uPSIxLjEiIFVVSUQ9Ijg4NjUyNjEwLUVGNDAtNDJGNy04NDY0LUM3RkZGNUJGMjgxRSIgRmVjaGFUaW1icmFkbz0iMjAxOC0wNC0xMFQxNTo0NjozNSIgUmZjUHJvdkNlcnRpZj0iQUFBMDEwMTAxQUFBIiBTZWxsb0NGRD0ibHBjRTU4eVRPWGRtZ3FJeE83RmRvNmxvNDNXemkxZ3NSaXp4OS9nc2NNbXVFVHZTQ0htWUZKeHBPS0JCSngzRjZIdjFvUmQvVkpRMkc1bFgvM0pKcVZkVDRKalk1b0cxaGdlNFNFY0pqbjZLM3ppNFB0YkxINGoyVjIxaU1tV0MzTEtoSnNMYzdTQTNyZmkzUG4zQW5KNUVjTGs0cllIUUZGNmpqajVSK2JFYmptL3ByZnNEaGVFWUlPb2lkLys2WE9sTGM3UC9heWRRRDlJZTRrRnVId0k0MU81NDdVVk5acG9xeGJJWE8vUGlPbWpqK0NLdi9kNVEzOEs3bDFTNkZDZWRobU9zSEEvQ2lGNTA3OUFLQW92Zlg4alhoRS9lK3lnMFNNRklBRzdUQ015bEJLdkpBS3NIL1JwOUNTWld4b1E1bXFCTk1HYmVYZXdETWxBVHlBPT0iIE5vQ2VydGlmaWNhZG9TQVQ9IjIwMDAxMDAwMDAwMTAwMDA1NzYxIiBTZWxsb1NBVD0iZGswR1RPS293Y2JSSWJiakRvUWl1SXk1SEJEajFrSEZHS0ZvbkpWSWxpQnBpdmFRRkxjb0xvQ1Mxcjhpb1hKTHhKSWZWdFMwRXdRY0EvYjVrRUJiS3BVQUFBSFg4dTQ2bHFpOG1NNXdEZFIwOCtuT2JhYTR1Nkk5UlM2TnZBc0poT2lFWnlmbFk2VHZ4Z3crcHJjRUVGSjk3c1V2QUYyV2ZnV1FBYzEwOVd3PSIgLz48L2NmZGk6Q29tcGxlbWVudG8+PC9jZmRpOkNvbXByb2JhbnRlPg",
"descargaXmlCFDi": "https://descarga.enlacefiscal.com/v6/cfdi/?i=QUFBMDEwMhgfdhfdgTAxQUFBLS1BQhgfdhfgdUEwMTAxMDFBhgfdQUEtMjAxODloiuA0loiMDctRkFBUEkyLnhtbC0tMS0tNzEw",
"infoCancelacion": [
{
"fechaSolicitud": "2018-08-17 12:15:29",
"justificacion": "Error en el monto",
"fechaLimiteAceptacion": "2018-08-22 23:59:59",
"estatus": "En proceso",
"fechaUltimaConsultaSat": "2018-08-17 12:25:00",
"fechaCancelacion": null,
"selloSat": null,
"xmlAcuse": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48QWN1c2UgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgUmZjRW1pc29yPSJBQUEwMTAxMDFBQUEiIEZlY2hhPSIyMDIxLTEyLTMxVDEwOjQzOjIxIj48Rm9saW9zIHhtbG5zPSJodHRwOi8vY2FuY2VsYWNmZC5zYXQuZ29iLm14Ij48VVVJRD4xRTI5NkM0RS0xNjBCLTQ0NzEtQUJCMy0xQzZEMTcyOTE2RkE8L1VVSUQ+PEVzdGF0dXNVVUlEPjIwMjwvRXN0YXR1c1VVSUQ+PC9Gb2xpb3M+PFNpZ25hdHVyZSBJZD0iU2VsbG9TQVQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIj48U2lnbmVkSW5mbz48Q2Fub25pY2FsaXphdGlvbk1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDEvUkVDLXhtbC1jMTRuLTIwMDEwMzE1IiAvPjxTaWduYXR1cmVNZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNobWFjLXNoYTUxMiIgLz48UmVmZXJlbmNlIFVSST0iIj48VHJhbnNmb3Jtcz48VHJhbnNmb3JtIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvVFIvMTk5OS9SRUMteHBhdGgtMTk5OTExMTYiPjxYUGF0aD5ub3QoYW5jZXN0b3Itb3Itc2VsZjo6Kltsb2NhbC1uYW1lKCk9J1NpZ25hdHVyZSddKTwvWFBhdGg+PC9UcmFuc2Zvcm0+PC9UcmFuc2Zvcm1zPjxEaWdlc3RNZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGVuYyNzaGE1MTIiIC8+PERpZ2VzdFZhbHVlPlc0NCszTDRXZ2ZkWnFSR1UyRmRzVHRxVjRpbWdUOXFNKzhBVHozYWgxVDIzM3N4ZzVnZGtDWkhmL1FyeDlieVJoTUovV0hjZz09PC9EaWdlc3RWYWx1ZT48L1JlZmVyZW5jZT48L1NpZ25lZEluZm8+PFNpZ25hdHVyZVZhbHVlPkw1a1Z3THFlSlFpd3JKY2s3Y2cxNUdZcnZZSHZjc0VoRDhlTS8wM2IyWVMrU1pJSEwyTW16NWlybUhZSC9FcnhJbUdEcGc9PTwvU2lnbmF0dXJlVmFsdWU+PEtleUluZm8+PEtleU5hbWU+MDAwMDAwMDAwMDAwMDAwMDAwMDE8L0tleU5hbWU+PEtleVZhbHVlPjxSU0FLZXlWYWx1ZT48TW9kdWx1cz54bkwyekRQdEg1angyRVp2YmZYYnBLOXVWRXhXUzg3NG9NZWxGek5xNjkvWXFTUmVUM0k3STh3citqb3k1TzdvdVpIKzRLV2RJR3A0U2k2bEhlMGtudHh6Tm11dUt5T1BrSjl0TWNudG5GdTVPNHBHTTk4Tno4cEFNPTwvTW9kdWx1cz48RXhwb25lbnQ+QVFBQjwvRXhwb25lbnQ+PC9SU0FLZXlWYWx1ZT48L0tleVZhbHVlPjwvS2V5SW5mbz48L1NpZ25hdHVyZT48L0FjdXNlPg=="
}
],
"peticion": "{\"Solicitud\":{\"modo\":\"produccion\",\"rfc\":\"AAA010101AAA\",\"accion\":\"informacionCfdi\",\"incluirPeticion\":1,\"CFDi\":{\"serie\":\"A\",\"folio\":\"1\"}}}"
}
}
El servicio de informacionCfdi permite obtener un comprobante previamente timbrado.
Este servicio es útil para consultar el estatus de una cancelación en proceso, o cuando se necesite recuperar nuevamente la información que obtenemos al momento del timbrado.
API Endpoint
POST https://api.enlacefiscal.com/v6/informacionCfdi
modo Es la modalidad del API en la que se va a obtener 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 |
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 | informacionCfdi |
informacionCfdi |
incluirPeticion Campo que nos permite indicar si queremos incluir los datos la petición.
| Tipo de Dato | Ocurrencia | Valores Posibles | Valor Predeterminado | Ejemplo |
|---|---|---|---|---|
| enum | Opcional | 0 1 |
0 |
1 |
CFDi
serie Es la serie asignada al comprobante fiscal que se desea obtener.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Requerido | B |
folio Es el folio que se asignó al comprobante que se desea obtener.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Requerido | 798 |
Listar Comprobantes
Listar Comprobantes - Request:
{
"Solicitud": {
"rfc": "AAA010101AAA",
"accion": "listarComprobantes",
"Comprobantes" : {
"fechaInicial" : "2022-01-01",
"fechaFinal" : "2022-01-31",
"rfcReceptor" : "XAXX010101000",
"serie" : "A",
"tipoCfdi" : "FA",
"pagina" : "2"
}
}
}
Listar Comprobantes - Response:
{
"AckEnlaceFiscal": {
"numeroReferencia": 1234,
"estatusDocumento": "aceptado",
"fechaMensaje": "2022-01-12 11:35:32",
"version": "1.0",
"totalRegistros": 1002,
"pagina": "2",
"totalPaginas": 2,
"totalRegistosPagina": 2,
"Comprobantes": [
{
"fecha": "2022-01-01 17:38:30",
"serie": "A",
"folio": 1,
"rfcReceptor": "XAXX010101000",
"nombreReceptor": "Público en general",
"estatus": "Vigente",
"moneda": "MXN",
"monto": "1116.00"
},
{
"fecha": "2020-01-02 19:07:35",
"serie": "A",
"folio": 2,
"rfcReceptor": "XAXX010101000",
"nombreReceptor": "Público en general",
"estatus": "Cancelado",
"moneda": "MXN",
"monto": "1699.00"
}
]
}
}
El servicio de listarComprobantes permite obtener información general de hasta 1,000 comprobantes por petición, si se desea información más detallada se puede obtener con el servicio informacionCfdi.
API Endpoint
POST https://api.enlacefiscal.com/v6/listarComprobantes
modo Es la modalidad del API en la que se van a obtener los comprobantes, siendo las opciones posibles: debug o produccion.
| Tipo de Dato | Ocurrencia | Valores Posibles | Valor Predeterminado | Ejemplo |
|---|---|---|---|---|
| enum | Opcional | produccion debug |
produccion |
debug |
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 | listarComprobantes |
listarComprobantes |
Comprobantes
Si no se envía este nodo no se aplicará ningún filtro en la consulta y se retornarán los primeros 1,000 resultados en orden ascendente.
fechaInicial Se puede indicar la fecha inicio para hacer la consulta, si se envía este valor también es necesario enviar la fecha final.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| date | Opcional | 2022-01-01 |
fechaFinal Se puede indicar la fecha final para hacer la consulta, si se envía este valor también es necesario enviar la fecha inicial.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| date | Opcional | 2022-01-31 |
rfcReceptor Se puede obtener el listado de los comprobantes que se han emitido a un RFC en especifico.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Opcional | XAXX010101000 |
serie Se puede obtener el listado de los comprobantes solo de una serie, por default se obtiene el listado de todas las series que se tengan registradas.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Requerido | A |
tipoCfdi Se puede obtener el listado de los comprobantes de un solo tipo (Factura, Nota de Crédito, Recibo de Pago...).
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| enum | Opcional | Consultar el catálogo de tipos de comprobantes | FA |
pagina Si nuestro resultado contiene más de 1,000 comprobantes en una siguiente petición se puede obtener un bloque en específico indicando la página.
- Si este campo no es enviado se retornara la página 1 por default.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| int | Opcional | 3 |
Cancelar CFDi 2022
Cancelar CFDi - Request:
{
"Solicitud": {
"modo": "produccion",
"rfc": "AAA010101AAA",
"accion": "cancelarCfdi",
"CFDi": {
"serie": "B",
"folio": 798,
"justificacion": "Error en descripción de producto",
"motivo": "01",
"ComprobanteSustitucion": {
"serie": "B",
"folio": 799
}
}
}
}
Cancelar CFDi - Response:
{
"AckEnlaceFiscal": {
"numeroReferencia": 423,
"estatusDocumento": "aceptado",
"fechaMensaje": "2021-12-31 10:43:20",
"version": "1.0",
"estatusCancelacion": "Cancelado",
"fechaCancelacion": "2021-12-31T10:43:21",
"uuid": "1E296C4E-160B-4471-ABB3-1C6D172916FA",
"folio": 798,
"serie": "B",
"infoCancelacion": {
"fechaSolicitud": "2021-12-31 10:43:20",
"justificacion": "Error en descripción de producto",
"fechaLimiteAceptacion": null,
"estatus": "Cancelado sin aceptación",
"fechaUltimaConsultaSat": "2021-12-31 10:43:21",
"fechaCancelacion": "2021-12-31T10:43:21",
"selloSat": "aecvgtRsDv9xXWIvRb70jNp65495jqvu+2F2ROg+eBUyqhXrKj+zn3VzPjBtE+UFDrp+/0fBfsdgf985fds5==",
"xmlAcuse": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48QWN1c2UgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgUmZjRW1pc29yPSJBQUEwMTAxMDFBQUEiIEZlY2hhPSIyMDIxLTEyLTMxVDEwOjQzOjIxIj48Rm9saW9zIHhtbG5zPSJodHRwOi8vY2FuY2VsYWNmZC5zYXQuZ29iLm14Ij48VVVJRD4xRTI5NkM0RS0xNjBCLTQ0NzEtQUJCMy0xQzZEMTcyOTE2RkE8L1VVSUQ+PEVzdGF0dXNVVUlEPjIwMjwvRXN0YXR1c1VVSUQ+PC9Gb2xpb3M+PFNpZ25hdHVyZSBJZD0iU2VsbG9TQVQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIj48U2lnbmVkSW5mbz48Q2Fub25pY2FsaXphdGlvbk1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDEvUkVDLXhtbC1jMTRuLTIwMDEwMzE1IiAvPjxTaWduYXR1cmVNZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNobWFjLXNoYTUxMiIgLz48UmVmZXJlbmNlIFVSST0iIj48VHJhbnNmb3Jtcz48VHJhbnNmb3JtIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvVFIvMTk5OS9SRUMteHBhdGgtMTk5OTExMTYiPjxYUGF0aD5ub3QoYW5jZXN0b3Itb3Itc2VsZjo6Kltsb2NhbC1uYW1lKCk9J1NpZ25hdHVyZSddKTwvWFBhdGg+PC9UcmFuc2Zvcm0+PC9UcmFuc2Zvcm1zPjxEaWdlc3RNZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGVuYyNzaGE1MTIiIC8+PERpZ2VzdFZhbHVlPlc0NCszTDRXZ2ZkWnFSR1UyRmRzVHRxVjRpbWdUOXFNKzhBVHozYWgxVDIzM3N4ZzVnZGtDWkhmL1FyeDlieVJoTUovV0hjZz09PC9EaWdlc3RWYWx1ZT48L1JlZmVyZW5jZT48L1NpZ25lZEluZm8+PFNpZ25hdHVyZVZhbHVlPkw1a1Z3THFlSlFpd3JKY2s3Y2cxNUdZcnZZSHZjc0VoRDhlTS8wM2IyWVMrU1pJSEwyTW16NWlybUhZSC9FcnhJbUdEcGc9PTwvU2lnbmF0dXJlVmFsdWU+PEtleUluZm8+PEtleU5hbWU+MDAwMDAwMDAwMDAwMDAwMDAwMDE8L0tleU5hbWU+PEtleVZhbHVlPjxSU0FLZXlWYWx1ZT48TW9kdWx1cz54bkwyekRQdEg1angyRVp2YmZYYnBLOXVWRXhXUzg3NG9NZWxGek5xNjkvWXFTUmVUM0k3STh3citqb3k1TzdvdVpIKzRLV2RJR3A0U2k2bEhlMGtudHh6Tm11dUt5T1BrSjl0TWNudG5GdTVPNHBHTTk4Tno4cEFNPTwvTW9kdWx1cz48RXhwb25lbnQ+QVFBQjwvRXhwb25lbnQ+PC9SU0FLZXlWYWx1ZT48L0tleVZhbHVlPjwvS2V5SW5mbz48L1NpZ25hdHVyZT48L0FjdXNlPg=="
}
}
}
El servicio de cancelación permite cancelar comprobantes ante el SAT de acuerdo al esquema de cancelación en vigor a partir del 1 de enero 2022.
Es recomendable esperar al menos 5 minutos antes de intentar cancelar un comprobante que recién se acaba de timbrar. Esto se debe a que es necesario que un comprobante esté registrado ante el SAT antes de poderlo cancelar.
API Endpoint
POST https://api.enlacefiscal.com/v6/cancelarCfdi
modo Es la modalidad del API en la que se va a cancelar el comprobante fiscal digital, siendo las opciones posibles: debug o produccion.
- El comprobante se intentará cancelar en la modalidad que se indica. Por ejemplo, para poder cancelar el folio FA-1 en modo debug, es necesario que primero se haya emitido el comprobante FA-1 en esta modalidad.
- Solo se pueden cancelar comprobantes que se hayan timbrado con el API de Enlace Fiscal.
| Tipo de Dato | Ocurrencia | Valores Posibles | Valor Predeterminado | Ejemplo |
|---|---|---|---|---|
| enum | Opcional | produccion debug |
produccion |
debug |
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 | cancelarCfdi |
cancelarCfdi |
CFDi
serie Es la serie asignada al comprobante fiscal que se desea cancelar.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Requerido | B |
folio Es el folio que se asignó al comprobante que se va a cancelar.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Requerido | 798 |
justificacion En este campo se puede indicar la razón por la cual se va a cancelar el comprobante. La información que se indica en este campo no viaja al SAT, solo es para control interno.
| Tipo de Dato | Ocurrencia | Longitud | Ejemplo |
|---|---|---|---|
| string | Opcional | Mínima: 1 caracter Máxima: 255 caracteres |
Error en la descripción del producto |
motivo En este campo se indica la clave del motivo de cancelación conforme al catálogo del SAT.
- Si se indica la clave
01es obligatorio registrar el bloqueComprobanteSustitucioncon la información del comprobante fiscal que sustituye al comprobante que se cancela.
| Tipo de Dato | Ocurrencia | Opciones | Valor Predeterminado | Ejemplo |
|---|---|---|---|---|
| enum | Opcional | Consultar el catálogo de motivos de cancelación | 03 |
01 |
ComprobanteSustitucion
En el caso de que se haya indicado la clave 01 como motivo de cancelación, en este bloque se indicará la Serie y Folio del comprobante fiscal que sustituye al comprobante que se está cancelando.
- Solo se puede utilizar la opción de Serie y Folio cuando el comprobante a relacionar se haya emitido también en Enlace Fiscal. En caso contrario, se debe utilizar el UUID.
- No deberá haber más de un comprobante en esta sección ya que como máximo solo se puede sustituir a otro comprobante.
serie Es la serie asignada al comprobante fiscal que sustituye al comprobante que se desea cancelar.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Opcional | B |
folio Es el folio interno asignado al comprobante fiscal que sustituye al comprobante que se desea cancelar.
- Este campo es requerido cuando se indica la Serie del comprobante
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Opcional | 798 |
uuid Es el folio fiscal que el SAT asigna al comprobante fiscal que sustituye al comprobante que se desea cancelar.
- Este campo es requerido cuando no se indica la Serie y Folio del comprobante.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Opcional | 560a8451-a29c-41d4-a716-544676554400 |
Cancelación Programada
La cancelación de un comprobante depende 100% de el SAT y en ocasiones no se obtiene una respuesta adecuada en el primer intento, por lo que al consumir este endpoint se podrá enviar un parámetro para programar la cancelación y con esto cada 5 minutos Enlace Fiscal intentará enviar la cancelación al SAT hasta obtener una respuesta.
Cancelar CFDi - Request:
{
"Solicitud": {
"rfc": "AAA010101AAA",
"accion": "cancelarCfdi",
"CFDi": {
"serie": "FA",
"folio": 1,
"justificacion": "Datos incorrectos",
"motivo": "02",
},
"reintentarAutomaticamente": 1
}
}
Cancelar CFDi - Response:
{
"AckEnlaceFiscal": {
"numeroReferencia": 12,
"estatusDocumento": "rechazado",
"fechaMensaje": "2022-05-26 10:08:04",
"version": "1.0",
"mensajeError": {
"codigoError": 819,
"descripcionError": "Servicio de cancelacion no disponible, el comprobante se intentara cancelar automáticamente"
}
}
}
reintentarAutomaticamente Elemento para especificar si se desea el reintento automático
de la cancelación del CDFi por medio de Enlace Fiscal al SAT.
- Si se obtiene la respuesta de error "Servicio de cancelacion no disponible, el comprobante se intentara cancelar automáticamente" para consultar si ya se procesó la cancelación se debe consumir el endpoint de la siguiente sección Información CFDi y consultar el nodo infoCancelacion
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| bool | Opcional | 0, 1 | 1 |
Respuestas de cancelación
Cancelado sin aceptación - Response:
{
"AckEnlaceFiscal": {
"numeroReferencia": 1008,
"estatusDocumento": "aceptado",
"fechaMensaje": "2023-06-01 12:27:53",
"version": "1.0",
"estatusCancelacion": "Cancelado",
"fechaCancelacion": "2023-06-01T12:27:52",
"uuid": "4E14B6AE-4F94-4227-AF3F-3BD743C5D207",
"folio": 1,
"serie": "FA",
"infoCancelacion": [
{
"fechaSolicitud": null,
"justificacion": "Error en el monto",
"fechaLimiteAceptacion": null,
"estatus": "Cancelado sin aceptación",
"fechaUltimaConsultaSat": null,
"fechaCancelacion": "2023-06-01T12:27:52",
"selloSat": "SLGmjdlsKy7WEM4i4SkMrrKl+1Wi8jDA7g4BFSGYwNPjL4WDSXuVF5ISPOGywufSaPDwx8Tt+dw=="
}
]
}
}
En proceso - Response:
{
"AckEnlaceFiscal": {
"numeroReferencia": 1008,
"estatusDocumento": "aceptado",
"fechaMensaje": "2023-06-01 12:27:53",
"version": "1.0",
"estatusCancelacion": "Vigente",
"fechaCancelacion": null,
"uuid": "4E14B6AE-4F94-4227-AF3F-3BD743C5D207",
"folio": 1,
"serie": "FA",
"infoCancelacion": [
{
"fechaSolicitud": "2023-06-01 12:15:29",
"justificacion": "Error en el monto",
"fechaLimiteAceptacion": "2023-06-04 23:59:59",
"estatus": "En proceso",
"fechaUltimaConsultaSat": "2023-06-01 12:25:00",
"fechaCancelacion": null,
"selloSat": null
}
]
}
}
Cancelado con aceptación - Response:
{
"AckEnlaceFiscal": {
"numeroReferencia": 1008,
"estatusDocumento": "aceptado",
"fechaMensaje": "2023-06-02 12:27:53",
"version": "1.0",
"estatusCancelacion": "Cancelado",
"fechaCancelacion": "2023-06-02T12:27:52",
"uuid": "4E14B6AE-4F94-4227-AF3F-3BD743C5D207",
"folio": 1,
"serie": "FA",
"infoCancelacion": [
{
"fechaSolicitud": "2023-06-01T12:27:52",
"justificacion": "Error en el monto",
"fechaLimiteAceptacion": "2023-06-04 23:59:59",
"estatus": "Cancelado aceptado",
"fechaUltimaConsultaSat": "2023-06-02T12:27:52",
"fechaCancelacion": "2023-06-02T12:27:52",
"selloSat": "SLGmjdlsKy7WEM4i4SkMrrKl+1Wi8jDA7g4BFSGYwNPjL4WDSXuVF5ISPOGywufSaPDwx8Tt+dw=="
}
]
}
}
Cancelado por plazo vencido - Response:
{
"AckEnlaceFiscal": {
"numeroReferencia": 1008,
"estatusDocumento": "aceptado",
"fechaMensaje": "2023-06-05 12:27:53",
"version": "1.0",
"estatusCancelacion": "Cancelado",
"fechaCancelacion": "2023-06-05T12:27:52",
"uuid": "4E14B6AE-4F94-4227-AF3F-3BD743C5D207",
"folio": 1,
"serie": "FA",
"infoCancelacion": [
{
"fechaSolicitud": "2023-06-01T12:27:52",
"justificacion": "Error en el monto",
"fechaLimiteAceptacion": "2023-06-04 23:59:59",
"estatus": "Cancelado plazo vencido",
"fechaUltimaConsultaSat": "2023-06-05T12:27:52",
"fechaCancelacion": "2023-06-05T12:27:52",
"selloSat": "SLGmjdlsKy7WEM4i4SkMrrKl+1Wi8jDA7g4BFSGYwNPjL4WDSXuVF5ISPOGywufSaPDwx8Tt+dw=="
}
]
}
}
Solicitud rechazada - Response:
{
"AckEnlaceFiscal": {
"numeroReferencia": 1008,
"estatusDocumento": "aceptado",
"fechaMensaje": "2023-06-01 12:27:53",
"version": "1.0",
"estatusCancelacion": "Vigente",
"fechaCancelacion": null,
"uuid": "4E14B6AE-4F94-4227-AF3F-3BD743C5D207",
"folio": 1,
"serie": "FA",
"infoCancelacion": [
{
"fechaSolicitud": "2023-06-01 12:15:29",
"justificacion": "Error en el monto",
"fechaLimiteAceptacion": "2023-06-04 23:59:59",
"estatus": "En proceso",
"fechaUltimaConsultaSat": "2023-06-01 12:25:00",
"fechaCancelacion": null,
"selloSat": null
},
{
"fechaSolicitud": "2023-06-01 12:15:29",
"justificacion": "Error en el monto",
"fechaLimiteAceptacion": "2023-06-04 23:59:59",
"estatus": "Solicitud rechazada",
"fechaUltimaConsultaSat": "2023-06-04 00:00:00",
"fechaCancelacion": null,
"selloSat": null
}
]
}
}
No cancelable - Response:
{
"AckEnlaceFiscal": {
"numeroReferencia": 1008,
"estatusDocumento": "rechazado",
"fechaMensaje": "2023-06-01 12:27:53",
"version": "1.0",
"mensajeError": {
"codigoError": 943,
"descripcionError": "El CFDi no es cancelable de acuerdo a las normas del SAT"
}
}
}
Comprobante no encontrado - Response:
{
"AckEnlaceFiscal": {
"numeroReferencia": 1008,
"estatusDocumento": "rechazado",
"fechaMensaje": "2023-06-01 12:27:53",
"version": "1.0",
"mensajeError": {
"codigoError": 809,
"descripcionError": "El comprobante que desea cancelar no se encuentra registrado ante el SAT. Si el comprobante se timbró recientemente favor de intentar más tarde."
},
"infoExtra": "fallaSATSinProgramar"
}
}
Servicio de cancelación no disponible - Response:
{
"AckEnlaceFiscal": {
"numeroReferencia": 1008,
"estatusDocumento": "rechazado",
"fechaMensaje": "2023-06-01 12:27:53",
"version": "1.0",
"mensajeError": {
"codigoError": 809,
"descripcionError": "Servicio no disponible, favor de intentar más tarde"
},
"infoExtra": "fallaSATSinProgramar"
}
}
Error al cancelar ante el SAT - Response:
{
"AckEnlaceFiscal": {
"numeroReferencia": 1008,
"estatusDocumento": "rechazado",
"fechaMensaje": "2023-06-01 12:27:53",
"version": "1.0",
"mensajeError": {
"codigoError": 956,
"descripcionError": "Error al cancelar el CFDi ante el SAT, favor de intentar nuevamente"
}
}
}
Error por intentos consecutivos - Response:
{
"AckEnlaceFiscal": {
"numeroReferencia": 1008,
"estatusDocumento": "rechazado",
"fechaMensaje": "2023-06-01 12:27:53",
"version": "1.0",
"mensajeError": {
"codigoError": 824,
"descripcionError": "Por favor, espere al menos 5 minutos antes de enviar una nueva solicitud de cancelación del mismo folio. Si lo prefiere, puede programar la cancelación enviando el atributo reintentarAutomaticamente"
}
}
}
La cancelación de un comprobante puede tener distintas respuestas dependiendo del estatus de cancelación, siendo las siguientes:
- Cancelado sin aceptación
- Comprobante cancelado exitosamente, en el caso de que el comprobante esté en uno de los casos definidos en la regla 2.7.1.39 de la Resolución Miscelánea Fiscal y no se requiera aceptación para cancelar el comprobante, el comprobante se cancela inmediatamente.
- En proceso
- La cancelación requiere aceptación por parte del receptor, se inicia el proceso de cancelación con aceptación y el SAT envía un mensaje al receptor a través del buzón tributario para que autorice la cancelación del comprobante.
- Cancelado con aceptación
- Comprobante cancelado exitosamente, el receptor autoriza de manera expresa la cancelación.
- Cancelado por plazo vencido
- Comprobante cancelado exitosamente, en el caso de que transcurran 3 días hábiles posteriores al envío de la solicitud de cancelación y el receptor no dé ninguna respuesta, se cancela el comprobante de manera automática. En el caso de que ya se haya rechazado al menos una vez una solicitud de cancelación, ya no se cancelará de manera automática el comprobante, para cancelarlo es necesario que el receptor de manera expresa autorice la cancelación.
- Solicitud rechazada
- El comprobante no se puede cancelar debido a que el receptor del comprobante rechaza la solicitud de cancelación.
- No cancelable
- El comprobante no se puede cancelar debido a que otro comprobante lo tiene relacionado, para poderlo cancelar es necesario primero cancelar el comprobante en el que se relacionó, comúnmente está relacionado en una nota de crédito o un recibo electrónico de pagos.
- Comprobante no encontrado
- El comprobante no se puede cancelar debido a que el UUID a cancelar no se encuentra registrado en el SAT, en caso de que el comprobante se timbró recientemente es necesario esperar unos minutos a que el SAT lo tenga actualizado en su base de datos.
- Servicio de cancelación no disponible
- El comprobante no se puede cancelar debido a que no se pudo establecer conexión al SAT, es necesario enviar nuevamente la cancelación esperando algunos minutos.
- Error al cancelar ante el SAT
- El comprobante no se puede cancelar debido a que el SAT no procesa la solicitud correctamente, es necesario intentar nuevamente la cancelación esperando algunos minutos.
- Error por intentos consecutivos
- Cuando ya se intento cancelar un folio y no se obtuvo una respuesta satisfactoria, es necesario intentar nuevamente la cancelación esperando al menos 5 minutos.
AutoFacturación
La autofactura es un módulo que puedes adquirir, y que te permitirá crear o relacionar desde un ticket de venta, orden de compra, etc, a un código que tu cliente podrá usar para generar su factura electrónica, la cual podrá descargar, enviar por correo o visualizar.
A continuación encontrarás la documentación completa de todos los elementos que componen la petición de un alta de ticket de una autofactura.
Requisitos:
- Es necesario contar con la Modalidad API activa en tu cuenta.
- Contar con un token de autenticación.
- Tener Series de Folios para la modalidad API en el módulo de Datos Fiscales.
- Tener un Certificado de Sello Digital (CSD) configurado en tu cuenta.
A su vez, también es necesario:
- Contratar el módulo de AutoFactura.
- Dar de alta la configuración para las autofacturas.
AF - Alta de Ticket
Este servicio (RESTful API), permite dar de alta un ticket. Algunos de los elementos son opcionales y permiten una mayor personalización del ticket al momento de realizar la autofactura.
API Endpoint
POST https://api.enlacefiscal.com/autofactura/v1/altaTicket
Ticket
Esta sección contiene los datos correspondientes al alta del Ticket.
Alta de Ticket - Request:
{
"Ticket": {
"rfc": "AAA010101AAA",
"modo": "produccion",
"versionAutofactura": "1.0",
"fecha": "2023-01-10",
"folioInterno": "250240",
"claveFacturacion": "YmZoY2Vq",
"total": "500.00",
"idSucursal": "2cd9f2a5-7f78-11ea-962f-0242ac120007",
"nombreDisenio": "Dise\u00f1o predeterminado",
...
}
}
Alta de Ticket - Response:
{
"AckEnlaceFiscal": {
"numeroReferencia": 1,
"estatusDocumento": "aceptado",
"fechaMensaje": "2023-01-10 11:59:55",
"version": "1.0",
"success": "Alta del ticket.",
"ticket": 1
}
}
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 |
modo Es la modalidad del API en la que se va a generar el ticket, siendo las opciones posibles: debug o produccion.
- Cuando nos encontramos realizando la implementación inicial del API es muy útil poder realizar pruebas de generación de tickets para asegurarnos de que todo funciona correctamente.
| Tipo de Dato | Ocurrencia | Valores Posibles | Valor Predeterminado | Ejemplo |
|---|---|---|---|---|
| enum | Opcional | produccion debug |
produccion |
debug |
versionAutofactura Versión del API de AutoFactura de Enlace Fiscal
| Tipo de Dato | Ocurrencia | Valor Requerido | Ejemplo |
|---|---|---|---|
| enum | Requerido | 1.0 |
1.0 |
fecha Fecha de la compra, debe corresponder con la fecha indicada en el ticket.
| Tipo de Dato | Ocurrencia | Formato | Ejemplo |
|---|---|---|---|
| date | Requerido | Y-m-d | 2023-01-31 |
folioInterno Se utiliza para identificar el comprobante fiscal digital generado, es para control interno.
El folio interno se utiliza 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 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 |
claveFacturacion
Clave de facturación descrita en el ticket. Sirve para diferenciar el ticket, siendo un valor único.
| Tipo de Dato | Ocurrencia | Longitud | Ejemplo |
|---|---|---|---|
| string | Requerido | 1 a 10 caracteres | YmZoY2Vq |
total Se debe registrar el total que se muestra en el ticket.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| float | Requerido | 160.00 |
idSucursal Se utiliza para identificar la sucursal a la cual pertenece el ticket.
| Tipo de Dato | Ocurrencia | Valor Predeterminado | Ejemplo |
|---|---|---|---|
| string | Opcional | La sucursal predeterminada de la cuenta | 2cd9f2a5-7f78-11ea-962f-0242ac120007 |
nombreDisenio Nombre del diseño que se utilizará para generar el PDF del comprobante fiscal.
- El diseño a utilizar y el nombre asignado se pueden consultar en el portal web de Enlace Fiscal.
- En caso de no especificarse se utilizará el diseño predeterminado del portal web de su cuenta de Enlace Fiscal.
| Tipo de Dato | Ocurrencia | Valor Predeterminado | Ejemplo |
|---|---|---|---|
| string | Opcional | El diseño predeterminado de la cuenta | Diseño Compacto |
AF - Datos de Pago
En esta sección se incluye la información sobre los datos de pago del ticket. Esta sección es requerida en la petición.
Datos de Pago [requerido] :
{
"Ticket": {
...
...
"DatosDePago": {
"formaDePago": "01",
"tipoMoneda": "MXN"
}
}
formaDePago Dato para expresar la Clave o Clave Texto que corresponda a la forma de pago utilizada para el pago del ticket.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| enum | Requerido | Las opciones se muestran en el catálogo de forma de pago del SAT | 01 |
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 |
AF - Ejemplo Básico
Ejemplo con el mínimo de campos que puede tener una petición.
Ejemplo Básico - Request:
{
"Ticket": {
"rfc": "AAA010101AAA",
"versionAutofactura": "1.0",
"fecha": "2023-01-02",
"folioInterno": "250240",
"claveFacturacion": "YmZoY2Vq",
"total": "500.00",
"DatosDePago": {
"formaDePago": "01"
}
}
}
Ejemplo Básico - Response:
{
"AckEnlaceFiscal": {
"numeroReferencia": 1,
"estatusDocumento": "aceptado",
"fechaMensaje": "2023-01-10 11:59:55",
"version": "1.0",
"success": "Alta del ticket.",
"ticket": 1
}
}
AF - Ejemplo Completo
Ejemplo con la mayoría de campos que puede tener una petición.
Ejemplo Completo Timbrado - Request:
{
"Ticket": {
"rfc": "AAA010101AAA",
"modo": "produccion",
"versionAutofactura": "1.0",
"fecha": "2023-01-10",
"folioInterno": "250240",
"claveFacturacion": "YmZoY2Vq",
"total": "500.00",
"idSucursal": "2cd9f2a5-7f78-11ea-962f-0242ac120007",
"nombreDisenio": "Dise\u00f1o predeterminado",
"DatosDePago": {
"formaDePago": "01",
"tipoMoneda":"MXN"
}
}
}
Ejemplo Completo Timbrado - Response:
{
"AckEnlaceFiscal": {
"numeroReferencia": 1,
"estatusDocumento": "aceptado",
"fechaMensaje": "2023-01-10 11:59:55",
"version": "1.0",
"success": "Alta del ticket.",
"ticket": 1
}
}
Diseños de PDF
Como parte del proceso de emisión de comprobantes fiscales digitales, se genera una representación impresa en formato PDF. Su objetivo es proporcionar la información del CFDi de una forma más amigable y de fácil lectura.
El uso de un PDF personalizado es una manera de mostrar profesionalismo ante tus clientes y promocionar tu negocio y servicios, así como destacar de la competencia.
Alta de Nuevo Diseño de PDF
Alta de Diseño PDF - Request:
{
"Solicitud": {
"modo": "produccion",
"rfc": "AAA010101AAA",
"accion": "agregarDisenioPdf",
"disenioPdf": {
"nombreDiseno": "Nuevo Diseño 01",
"predeterminado": 1,
"informacionEmisor": "#2C7DF5",
"titulosFueraBarras": "#70F8FF",
"fondoBarras": "#70E6A7",
"titulosDentroBarras": "#FC6F71",
"lineasDivisoras": "#7F6BF2",
"logo": "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",
"alineacionLogo": "centro",
"mostrarDomicilioEmisor": "0"
}
}
}
Alta de Diseño PDF - Response:
{
"AckEnlaceFiscal": {
"numeroReferencia": 32,
"estatusDocumento": "aceptado",
"fechaMensaje": "2021-09-30 19:23:31",
"version": "1.0"
}
}
API Endpoint
POST https://api.enlacefiscal.com/v6/configuracion/disenoPdf/alta
modo Es la modalidad del API en la que se va a generar la petición, siendo las opciones posibles: debug o produccion.
- Cuando nos encontramos realizando la implementación inicial del API es muy útil poder realizar pruebas sin afectar nuestra información.
- Al utilizar el valor debug se validará la peticion pero no se hará ningúna acción.
| Tipo de Dato | Ocurrencia | Valores Posibles | Valor Predeterminado | Ejemplo |
|---|---|---|---|---|
| enum | Opcional | produccion debug |
produccion |
debug |
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 | agregarDisenioPdf |
agregarDisenioPdf |
nombreDiseno En este campo se debe ingresar un nombre con el que se pueda identificar el diseño del PDF, no se puede repetir el nombre entre diseños.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Requerido | Nuevo Diseño 01 |
predeterminado Bandera que indica si el pdf será el predeterminado, este campo es útil enviarlo en 1 si se desea que en las peticiones de timbrado por default se tenga este diseño.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| bool | Opcional | 0, 1 | 1 |
informacionEmisor Color de la información del emisor, debe ser el valor hexadecimal del color deseado.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Opcional | #2C7DF5 |
titulosFueraBarras Color para títulos fuera de las barras, parte superior derecha del PDF y títulos de totales, debe ser el valor hexadecimal del color deseado.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Opcional | #70F8FF |
fondoBarras Color de fondo de barras, que separan la información en el pdf, debe ser el valor hexadecimal del color deseado.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Opcional | #70E6A7 |
titulosDentroBarras Color de títulos dentro de las barras, que separan la información en el pdf, debe ser el valor hexadecimal del color deseado.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Opcional | #FC6F71 |
lineasDivisoras Color de líneas divisoras que se encuentran debajo del fondo de barras en cada seccion del pdf, debe ser el valor hexadecimal del color deseado.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Opcional | #7F6BF2 |
logo Existe la opción de agregar un logo en el pdf ubicado en la parte superior izquierda, no es un campo obligatorio pero ayuda a mejorar la presentación del pdf ante los receptores, es necesario enviar la imágen codificada en Base 64.
- La medida recomendada es de 827px de ancho por 427px de alto, no debe pesar más 500 kbs, y puede tener alguno de los siguientes formatos: JPG, GIF, PNG, TIFF, BMP.
| Tipo de Dato | Ocurrencia |
|---|---|
| base64 | Opcional |
alineacionLogo El logotipo siempre aparece a la izquierda, la alineación que se configura en este atributo corresponde a los casos donde la imagen no es rectangular y desea que tome cierta posicion dentro del espacio designado para el logo.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| enum | Opcional | izquierda, derecha, centro | centro |
mostrarDomicilioEmisor Bandera que indica si el domicilio emisor se muestra en el pdf.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| bool | Opcional | 0, 1 | 0 |
Eliminar Diseño de PDF
Eliminar Diseño de PDF - Request:
{
"Solicitud" : {
"modo" : "produccion",
"rfc" : "AAA010101AAA",
"accion": "eliminarDisenioPdf",
"disenioPdf": {
"nombreDiseno": "Nuevo Diseño 01"
}
}
}
Eliminar Diseño de PDF - Response:
{
"AckEnlaceFiscal": {
"numeroReferencia": 32,
"estatusDocumento": "aceptado",
"fechaMensaje": "2021-09-30 19:23:31",
"version": "1.0"
}
}
API Endpoint
POST https://api.enlacefiscal.com/v6/configuracion/disenoPdf/eliminar
modo Es la modalidad del API en la que se va a generar la petición, siendo las opciones posibles: debug o produccion.
- Cuando nos encontramos realizando la implementación inicial del API es muy útil poder realizar pruebas sin afectar nuestra información.
- Al utilizar el valor debug se validará la peticion pero no se hará ningúna acción.
| Tipo de Dato | Ocurrencia | Valores Posibles | Valor Predeterminado | Ejemplo |
|---|---|---|---|---|
| enum | Opcional | produccion debug |
produccion |
debug |
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 | eliminarDisenioPdf |
eliminarDisenioPdf |
nombreDiseno En este campo se debe ingresar un nombre existente con el que se pueda identificar el PDF para su eliminación. No es posible eliminar el diseño configurado como predeterminado.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Requerido | Nuevo Diseño 01 |
Listado de Diseños de PDF
Listado de Diseños de PDF - Request:
{
"Solicitud" : {
"modo" : "produccion",
"rfc" : "AAA010101AAA",
"accion": "listarDisenioPdf"
}
}
Listado de Diseños de PDF - Response:
{
"AckEnlaceFiscal": {
"numeroReferencia": 46,
"estatusDocumento": "aceptado",
"fechaMensaje": "2021-09-30 19:56:01",
"version": "1.0",
"disenos": [
{
"nombre": "Diseño predeterminado",
"predeterminado": false,
"logo": false
},
{
"nombre": "Nuevo Diseño 01",
"predeterminado": true,
"logo": true
}
]
}
}
API Endpoint
POST https://api.enlacefiscal.com/v6/configuracion/disenoPdf
modo Es la modalidad del API en la que se va a generar la petición, siendo las opciones posibles: debug o produccion.
- Cuando nos encontramos realizando la implementación inicial del API es muy útil poder realizar pruebas sin afectar nuestra información.
- Al utilizar el valor debug se validará la peticion pero no se hará ningúna acción.
| Tipo de Dato | Ocurrencia | Valores Posibles | Valor Predeterminado | Ejemplo |
|---|---|---|---|---|
| enum | Opcional | produccion debug |
produccion |
debug |
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 | listarDisenioPdf |
listarDisenioPdf |
¿Tienes dudas? Contáctanos
Si no has encontrado la información que buscabas o tienes alguna duda sobre la implementación, contáctanos indicando tus dudas y un especialista en el API se pondrá en contacto contigo para proporcionarte más información.
Archivo
A continuación encontrarás la documentación de servicios que se encuentran obsoletos.
- Timbrado CFDi 3.3
- Timbrado Recibo Electrónico de Pago 1.0
- Catálogos SAT CFDi 3.3
- Complemento de Carta Porte 1.0
- Complemento de Carta Porte 2.0
- Complemento de Carta Porte 3.0
Timbrado CFDi 3.3
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 3.3).
Requisitos:
- Es necesario contar con la Modalidad API activa en tu cuenta.
- Contar con un token de autenticación.
- Tener Series de Folios para la modalidad API en el módulo de Datos Fiscales.
- Tener un Certificado de Sello Digital (CSD) configurado en tu cuenta.
Información General
Este servicio (RESTful API), permite generar y timbrar un comprobante fiscal digital en el esquema CFDi 3.3. Algunos de los elementos son opcionales y permiten una mayor personalización del CFDi versión 3.3.
Generar CFDi - Request:
{
"CFDi": {
"modo": "debug",
"versionEF": "6.0",
"serie": "FA",
"folioInterno": "1",
"fechaEmision": "2017-07-20 11:22:01",
"subTotal": "1500.00",
"descuentos": "50.00",
"total": "1587.00",
"tipoMoneda": "MXN",
"nombreDisenio": "Diseño Compacto",
"rfc": "AAA010101AAA",
...
API Endpoint
POST https://api.enlacefiscal.com/v6/generarCfdi
CFDi Encabezado del Comprobante
modo Es la modalidad del API en la que se va a generar el comprobante fiscal digital, siendo las opciones posibles: debug o produccion.
- Cuando nos encontramos realizando la implementación inicial del API es muy útil poder realizar pruebas de generación de comprobantes "sin efectos fiscales" para asegurarnos de que todo funciona correctamente.
- Al utilizar el valor debug se generan comprobantes de prueba "sin valor fiscal" permitiendo verificar que todos los demás elementos del comprobante sean correctos, como si fuese uno real (diseño del comprobante, envío de correo, configuración de impuestos, etc).
| 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.0 |
6.0 |
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 | 2017-07-20 11:22:01 |
subTotal Es la suma de los importes antes de descuentos e impuestos, no se permiten valores negativos.
- Debe tener la cantidad de decimales que soporte la moneda.
| 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.
- Debe de tener hasta la cantidad de decimales que soporte la moneda.
- El valor debe de ser menor o igual que el subtotal.
- Debe registrarse éste campo cuando al menos una de las partidas tenga descuento. En caso de que no se apliquen descuentos, éste campo no debe existir.
- Debe ser igual a la suma de los campos descuento de cada una de las partidas, redondeado al número de decimales que soporta la moneda utilizada.
| 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 o locales). No se permiten valores negativos.
- Debe de tener la misma cantidad de decimales que soporte la moneda.
- Cuando el tipo de comprobante sea de tipo Traslado (Carta Porte) éste campo debe ser igual a cero.
| 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 | 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.
- El diseño a utilizar y el nombre asignado se pueden consultar en el portal web de Enlace Fiscal.
- En caso de no especificarse se utilizará el diseño predeterminado del portal web de su cuenta de Enlace 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 |
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",
"condicionesDePago": "45 días",
"fechaVencimiento": "2021-12-31",
"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 | Opcional | Consultar el cátalogo de métodos de pago del SAT | 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.
- En el caso en el que se utilice más de una forma de pago , se debe señalar con la que se liquida la mayor cantidad del pago. Cuando se reciban distintas formas de pago con el mismo importe, se debe registrar una de ellas a consideración del usuario.
- En caso de que no se reciba el pago de la operación en el momento de la emisión del comprobante, se debe seleccionar la clave 99 (Por definir).
- Cuando el comprobante que se está emitiendo es una Carta Porte de tipo Traslado (T), éste campo no debe de existir. En los demás casos éste campo es requerido.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| enum | Condicional | Las opciones se muestran en el catálogo de forma de pago del SAT | 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.
- En este campo se podrán registrar de 1 hasta 1000 caracteres.
| 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.
- Esta campo es informativo y se recomienda capturar la fecha cuando el método de pago es PPD.
| 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.
- En caso de haber utilizado un valor en el nodo formaDePago que no requiera especificar un dato numérico (ejemplo: Efectivo) se debe omitir éste nodo por completo.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Opcional | 3444232132 |
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 Tipo de relación que existe entre el comprobante que se está generando y los generados previamente.
- Si el comprobante generado es una Nota de Crédito, en éste campo se señala el comprobante tipo "I" (Ingreso) al que se relaciona ésta Nota de Crédito.
- En el caso de que el comprobante generado sea de tipo "T" (Traslado), en éste campo se indica el comprobante de tipo "I" (Ingreso) o "E" (Egreso) relacionados a éste comprobante.
| 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.
- Sólo se puede utilizar la opción de Serie-Folio cuando el comprobante a relacionar se haya emitido también en Enlace Fiscal. En caso contrario, se debe utilizar el UUID.
| Tipo | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| string | Requerido | UUID o Serie-Folio | eeca15af-e9b1-4a45-9861-8d51c4fa8219FA-230 |
Receptor
Esta sección contiene los datos correspondientes al receptor del comprobante fiscal.
Receptor [requerido]
{
"CFDi": {
...
...
"Receptor": {
"rfc": "AAA010101AAA",
"nombre": "Empresa Demo, S.A. de C.V.",
"residenciaFiscal": "USA",
"numeroRegistroIdTributario": "121585958",
"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.
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 |
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 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 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 Complemento de Comercio Exterior.
| 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 esta factura el receptor del CFDi.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| enum | Requerido | Se encuentran en el catálogo de UsoCFDI del SAT, se puede mandar la 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.
- Por ejemplo, la Escuela ABC emite facturas a sus alumnos por el pago de colegiatura, la escuela identifica a sus alumnos por número de matrícula y desea que este dato se muestre en la versión impresa del comprobante fiscal.
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.
- A pesar de que el estándar del SAT no contempla el domicilio fiscal del receptor, Enlace Fiscal te recomienda incluírlo para evitar rechazos por parte de receptores.
calle Elemento que indica el nombre de la vialidad del domicilio fiscal del receptor.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Requerido | Rayo |
noExterior Elemento que contiene el valor del número exterior del domicilio fiscal del receptor.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Requerido | 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 | Requerido | Jalisco |
pais Elemento que indica el país del domicilio fiscal del receptor.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Requerido | 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 | Opcional | 44580 |
Partidas del Comprobante
Bloque requerido que agrupa a todas las partidas del Comprobante Fiscal Digital (CFDi 3.3)
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",
"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"
}
],
"numeroCuentaPredial": "49199",
"InformacionAduanera": {"numeroPedimento": "15 48 3009 0001234"}
},
{
"cantidad": "1",
"claveUnidad": "C62",
"unidad": "Uno",
"claveProdServ": "84101700",
"noIdentificacion": "4214123212123212",
"descripcion": "Manejo de deuda",
"valorUnitario": "500.00",
"importe": "500.00",
"Impuestos": [{
"tipo": "traslado",
"claveImpuesto": "IVA",
"tipoFactor": "tasa",
"tasaOCuota": "0.16",
"baseImpuesto": "500.00",
"importe": "80.00"
}],
"numeroCuentaPredial": "49199",
"InformacionAduanera": {"numeroPedimento": "15 48 3009 0001234"}
}
],
...
Partidas
- Se pueden agregar hasta 200 partidas por comprobante.
- Se requiere al menos una partida por comprobante.
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.
- En el caso de que la clave de un producto o servicio no se encuentre en el catálogo se debe registrar la clave "01010101".
| 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.
- No se permiten valores negativos.
- La precisión con la que se indica éste dato deberá ser el indicado para la moneda utilizada.
| 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.
- Debe de ser el equivalente al resultado de multiplicar la cantidad por el valor unitario de la partida sin considerar descuentos.
- No se permiten valores negativos.
| Tipo de Dato | Ocurrencia | Rango de valores | Ejemplo |
|---|---|---|---|
| float | Requerido | Mínimo: 0.01 Máximo: 9,223,372,036,854 |
1000.00 |
descuento Es el importe de los descuentos aplicables a cada partida.
- Debe de tener el mismo número de decimales que el campo de
importe. - No se permiten valores negativos.
- Debe ser menor o igual al campo de
importe.
| Tipo de Dato | Ocurrencia | Rango de valores | Ejemplo |
|---|---|---|---|
| float | Opcional | Mínimo: 0.01 Máximo: 9,223,372,036,854 |
50.00 |
numeroCuentaPredial 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 |
|---|---|---|---|
| int | Condicional | Se pueden registrar de 1 a 150 dígitos | 49199 |
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 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 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 de la partida.
- Uno de los impuestos más comunes es el IVA con tasa del 16%, en éste caso el
tipoFactorestasa.
| 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.
- El valor de éste campo debe de ser mayor a cero.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| float | Requerido | 500.00 |
importe Es el importe del impuesto que aplica a la partida.
- Este campo es requerido cuando el campo
tipoFactorse haya registrado comotasaocuota. - No se permiten valores negativos.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| float | Condicional | 80.00 |
Partidas / InformacionAduanera [condicional]
{
"CFDi": {
...
...
"Partidas": [
{
...
"InformacionAduanera": {"numeroPedimento": "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.
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.
- Solo se incluye éste campo cuando el comprobante No incluya el complemento de comercio exterior.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | 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"}
}
]
}
],
...
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 [condicional]
{
"CFDi": {
...
"Partidas": [
{
...
"Partes": [
{
...
"InformacionAduanera": {"numeroPedimento": "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.
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.
- Solo se incluye éste campo cuando el comprobante No incluya el complemento de comercio exterior.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Requerido | 15 48 3009 0001234 |
Impuestos del Comprobante
Impuestos [condicional]
{
"CFDi": {
...
...
"Impuestos": {
"Totales": {
"retenciones": "95.00",
"traslados": "232.00"
},
"Impuestos": [
{
"tipo": "traslado",
"claveImpuesto": "IVA",
"tipoFactor": "tasa",
"tasaOCuota": "0.16",
"importe": "232.00"
},
{
"tipo": "retencion",
"claveImpuesto": "ISR",
"tipoFactor": "tasa",
"tasaOCuota": "0.10",
"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
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 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.
- Este campo es requerido cuando el campo
tipoFactorse haya registrado comotasaocuota. - No se permiten valores negativos.
- Debe de tener el número de decimales que soporte la moneda.
- Debe ser igual al redondeo de la suma de los importes de los impuestos registrados en las partidas que correspondan al mismo tipo.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| float | Condicional | 232.00 |
Bloques de Información Adicional
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.
- Aplican las mismas reglas y estructura que el Bloque Inferior.
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.
- Se permite solamente un bloque superior y un bloque inferior.
- Pueden aparecer ambos bloques o solamente uno de los bloques.
- Existen dos opciones para el texto del bloque: un solo bloque de texto libre
textoo renglones definidos utilizando la etiquetaTextoRenglonesy separando cada renglón con una coma. Se debe utilizar solo una de las dos opciones por petición.
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.
- Se puede incluir un máximo de 10 renglones dentro del bloque de información adicional.
| 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
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.
- Si requiere especificar más de una dirección de correo electrónico, es necesario dividir cada dirección con una coma.
| 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.
- Cuando el receptor del correo es un sistema, se debe utilizar el tipo
sistemapara que el formato de correo sea texto plano y se adjunte la versión XML.
| Tipo de Dato | Ocurrencia | Opciones | Valor Predeterminado | Ejemplo |
|---|---|---|---|---|
| enum | Opcional | persona sistema |
persona |
persona |
Campos Personalizados
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.
- Se pueden incluir un máximo de 6 campos personalizados.
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é
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": "2017-04-01",
"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
Ejemplo con el mínimo de campos que puede tener una petición para el timbrado de CFDi.
Ejemplo Básico - Request:
{
"CFDi": {
"versionEF": "6.0",
"serie": "FA",
"folioInterno": "1",
"fechaEmision": "2017-02-22 11:03:43",
"subTotal": "20.00",
"total": "23.20",
"rfc": "AAA010101AAA",
"DatosDePago": {
"formaDePago": "03"
},
"Receptor": {
"rfc": "BBB010101BB1",
"nombre": "Empresa Demo's",
"usoCfdi": "adquisicion_mercancias"
},
"Partidas": [
{
"cantidad": "1",
"claveUnidad": "KGM",
"claveProdServ": "42171606",
"descripcion": "1 Kg de arroz",
"valorUnitario": "20.00",
"importe": "20.00",
"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",
"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
Ejemplo con la mayoría de campos que puede tener una petición.
Ejemplo Completo Timbrado - Request:
{
"CFDi": {
"modo": "debug",
"versionEF": "6.0",
"serie": "FA",
"folioInterno": "1",
"fechaEmision": "2017-07-20 11:22:01",
"subTotal": "1500.00",
"descuentos": "50.00",
"total": "1587.00",
"tipoMoneda": "MXN",
"nombreDisenio": "Diseño Compacto",
"rfc": "AAA010101AAA",
"DatosDePago": {
"metodoDePago": "PUE",
"formaDePago": "03",
"referenciaBancaria": "3444232132"
},
"ComprobantesRelacionados": {
"tipoRelacion": "nota_credito",
"Comprobantes": [
"eeca15af-e9b1-4a45-9861-8d51c4fa8219",
"FA-250"
]
},
"Receptor": {
"rfc": "AAA010101AAA",
"nombre": "Empresa Demo, S.A. de C.V.",
"residenciaFiscal": "USA",
"numeroRegistroIdTributario": "121585958",
"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",
"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"
}
],
"numeroCuentaPredial": "49199",
"InformacionAduanera": {"numeroPedimento": "15 48 3009 0001234"}
},
{
"cantidad": "1",
"claveUnidad": "C62",
"unidad": "Uno",
"claveProdServ": "84101700",
"noIdentificacion": "4214123212123212",
"descripcion": "Manejo de deuda",
"valorUnitario": "500.00",
"importe": "500.00",
"Impuestos": [{
"tipo": "traslado",
"claveImpuesto": "IVA",
"tipoFactor": "tasa",
"tasaOCuota": "0.16",
"baseImpuesto": "500.00",
"importe": "80.00"
}],
"numeroCuentaPredial": "49199",
"InformacionAduanera": {"numeroPedimento": "15 48 3009 0001234"}
}
],
"Impuestos": {
"Totales": {
"retenciones": "95.00",
"traslados": "232.00"
},
"Impuestos": [
{
"tipo": "traslado",
"claveImpuesto": "IVA",
"tipoFactor": "tasa",
"tasaOCuota": "0.16",
"importe": "232.00"
},
{
"tipo": "retencion",
"claveImpuesto": "ISR",
"tipoFactor": "tasa",
"tasaOCuota": "0.10",
"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"
}
}
Timbrado Recibo Electrónico de Pago 1.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:
- Cuando la contraprestación se pague en parcialidades
- En estos casos se debe emitir un CFDi por el valor total de la operación en el momento que se realice.
- Posteriormente se deberá emitir un Recibo Electrónico de Pago por cada pago que se reciba.
- Cuando al momento de expedir un CFDi no se reciba el pago correspondiente (pago diferido).
- Al momento que se liquide la operación, se deberá emitir un Recibo Electrónico de Pago para reflejar el pago de la operación.
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
POST https://api.enlacefiscal.com/v6/generarReciboElectronicoPago
Encabezado del Comprobante
Generar Recibo Electrónico de Pago - Request:
{
"CFDi": {
"modo": "debug",
"versionEF": "6.0",
"serie": "RE",
"folioInterno": "11",
"fechaEmision": "2017-10-31 00:00:01",
"nombreDisenio": "Diseño predeterminado",
"rfc": "AAA010101AAA",
...
CFDi
modo Es la modalidad del API en la que se va a generar el comprobante fiscal digital, siendo las opciones posibles: debug o produccion.
- Cuando nos encontramos realizando la implementación inicial del API es muy útil poder realizar pruebas de generación de comprobantes "sin efectos fiscales" para asegurarnos de que todo funciona correctamente.
- Al utilizar el valor debug se generan comprobantes de prueba "sin valor fiscal" permitiendo verificar que todos los demás elementos del comprobante sean correctos, como si fuese uno real (diseño del comprobante, envío de correo, configuración de impuestos, etc).
| 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.0 |
6.0 |
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 | 2017-07-20 11:22:01 |
nombreDisenio Nombre del diseño que se utilizará para generar el PDF del comprobante fiscal.
- El diseño a utilizar y el nombre asignado se pueden consultar en el portal web de Enlace Fiscal.
- En caso de no especificarse se utilizará el diseño predeterminado del portal web de su cuenta de Enlace 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
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.
- Para Recibo Electrónico de Pago la única relación permitida en esta versión es la de sustitución.
| Tipo de Dato | Ocurrencia | Valor Requerido | Ejemplo |
|---|---|---|---|
| enum | Requerido | sustitucion |
sustitucion |
Comprobantes Es un arreglo con la información de los comprobantes relacionados.
- Sólo se puede utilizar la opción de Serie-Folio cuando el comprobante a relacionar se haya emitido también en Enlace Fiscal. En caso contrario, se debe utilizar el UUID.
- No deberá haber más de un comprobante en esta sección ya que como máximo solo se puede sustituir a otro comprobante.
| Tipo | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| string | Requerido | UUID o Serie-Folio | eeca15af-e9b1-4a45-9861-8d51c4fa8219FA-230 |
Receptor Recibo Electrónico Pago
Esta sección contiene los datos correspondientes al receptor del comprobante fiscal.
Receptor [requerido]
{
"CFDi": {
...
...
"Receptor": {
"rfc": "XEXX010101000",
"nombre": "Empresa Demo, S.A. de C.V.",
"residenciaFiscal": "AFG",
"numeroRegistroIdTributario": "31289312983219",
"usoCfdi": "por_definir",
"IdentificadorCliente": {
"nombreCampo": "ID Cliente",
"valorCampo": "AER-4785"
},
"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á "por_definir".
| Tipo de Dato | Ocurrencia | Valor Requerido | Ejemplo |
|---|---|---|---|
| enum | Requerido | por_definir |
por_definir |
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.
- Por ejemplo, la Escuela ABC emite facturas a sus alumnos por el pago de colegiatura, la escuela identifica a sus alumnos por número de matrícula y desea que este dato se muestre en la versión impresa del comprobante fiscal.
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.
- A pesar de que el estándar del SAT no contempla el domicilio fiscal del receptor, Enlace Fiscal te recomienda incluírlo para evitar rechazos por parte de receptores.
calle Elemento que indica el nombre de la vialidad del domicilio fiscal del receptor.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Requerido | Rayo |
noExterior Elemento que contiene el valor del número exterior del domicilio fiscal del receptor.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Requerido | 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 | Requerido | Jalisco |
pais Elemento que indica el país del domicilio fiscal del receptor.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Requerido | 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 | Opcional | 44580 |
Complemento para Recepción de Pagos 1.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.
Complemento Pago [requerido]
{
"CFDi": {
...
...
"ComplementoPago": {
"Pago": {
"fechaPago": "2017-10-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": "...",
"DocumentosRelacionados": [{
"idDocumento": "431044D8-6CA5-FACE-EB18-4558ad859874",
"serie": "FA",
"folioInterno": "41",
"tipoMoneda": "USD",
"tipoCambio": "18.50",
"metodoDePago": "PPD",
"numParcialidad": "2",
"saldoAnterior": "900.00",
"importePagado": "100.00",
"impoSaldoInsoluto": "800.00"
},
{
"idDocumento": "1B361EAE-161A-43BE-9BC3-07E450825175",
"serie": "FA",
"folioInterno": "42",
"tipoMoneda": "MXN",
"tipoCambio": "1",
"metodoDePago": "PPD",
"numParcialidad": "4",
"saldoAnterior": "2000.00",
"importePagado": "500.00",
"impoSaldoInsoluto": "1500.00"
}
]
}
},
...
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 | 2017-10-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.
- La naturaleza de éste comprobante es identificar a detalle el pago recibido. Por lo tanto, la forma de pago debe de ser diferente a la clave 99 (Por definir).
| 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.
- No se puede utilizar el código
XXX(código asignado para las transacciones en que intervenga ninguna moneda)
| 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.
- El máximo de decimales que se pueden utilizar son los que soporte la moneda. Los límites se pueden consultar en el catálogo de monedas.
| 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.
- Si se indica éste campo es obligatorio registrar los campos de
certPago,cadenaPagoyselloPago.
| 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.
- Es requerido cuando se indique el campo de
tipoCadPago.
| 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.
- Es requerido cuando se indique el campo de
tipoCadPago.
| 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.
- Es requerido cuando se indique el campo de
tipoCadPago.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Condicional | ZQF8p0EnIkoa+Ty4llSRHgj1OLayIYi7y+VSwLOkcJwHxHbxUYp4Su |
Documentos Relacionados
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": {
...
"DocumentosRelacionados": [{
"idDocumento": "431044D8-6CA5-FACE-EB18-4558ad859874",
"serie": "FA",
"folioInterno": "41",
"tipoMoneda": "USD",
"tipoCambio": "18.50",
"metodoDePago": "PPD",
"numParcialidad": "2",
"saldoAnterior": "900.00",
"importePagado": "100.00",
"impoSaldoInsoluto": "800.00"
},
{
"idDocumento": "1B361EAE-161A-43BE-9BC3-07E450825175",
"serie": "FA",
"folioInterno": "42",
"tipoMoneda": "MXN",
"tipoCambio": "1",
"metodoDePago": "PPD",
"numParcialidad": "4",
"saldoAnterior": "2000.00",
"importePagado": "500.00",
"impoSaldoInsoluto": "1500.00"
}
]
...
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.
- Si el documento relacionado no especifica una moneda, se tiene que registrar MXN (Peso Mexicano)
- Los montos registrados en los montos
impoSaldoInsoluto,importePagadoysaldoAnteriordeben de corresponder a ésta moneda. - No se puede utilizar la clave
XXX(código asignado para las transacciones en que intervenga ninguna moneda) en ésta sección. - Si la moneda utilizada para emitir el Recibo Electrónico de Pago es diferente al del documento relacionado, se debe de indicar también el tipo de cambio del documento relacionado en el campo
DocumentosRelacionados/tipoCambio - Si el Recibo de Pago se emitió con una moneda diferente al peso mexicano y el documento relacionado si fue emitido en pesos mexicanos (MXN), entonces el campo de
DocumentosRelacionados/tipoCambiodebe tener el valor de "1"
| Tipo de Dato | Ocurrencia | Opciones | Valor Predeterminado | Ejemplo |
|---|---|---|---|---|
| enum | Opcional | Se muestran en el catálogo de monedas | MXN | MXN |
tipoCambio 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/tipoCambio= 1.114700
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| float | Condicional | 21.23 |
metodoDePago Elemento para especificar la Clave que corresponda al método de pago utilizado en el documento relacionado.
- Para el tipo de comprobante Recibo Electrónico de Pago se debe registrar la clave PPD (Pago en parcialidades o diferido)
| Tipo de Dato | Ocurrencia | Valor Requerido | Ejemplo |
|---|---|---|---|
| enum | Requerido | PPD |
PPD |
numParcialidad Es el número de parcialidad que corresponde al pago.
- En el caso de que sea un pago diferido, este campo debe tener el valor de "1".
| Tipo de Dato | Ocurrencia | Valor Predeterminado | Ejemplo |
|---|---|---|---|
| int | Opcional | 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.
- El monto indicado en éste campo debe ser mayor a 0.
- El máximo de decimales que se pueden utilizar son los que soporte la moneda. Los límites se pueden consultar en el catálogo de monedas.
| 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
- Es obligatorio cuando exista más de un documento relacionado o cuando el campo
tipoCambiodel documento relacionado tiene algún valor. - Es opcional cuando no exista el campo
tipoCambioy solo exista un documento relacionado. - Si se indica éste campo debe ser mayor a 0.
- El importe pagado debe corresponder al tipo de moneda registrado en el campo
tipoMonedadel documento relacionado. - El máximo de decimales que se pueden utilizar son los que soporte la moneda. Los límites se pueden consultar en el catálogo de monedas.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| float | Condicional | 100.00 |
impoSaldoInsoluto Es la diferencia entre el importe del saldo anterior y el monto pagado.
- El monto señalado debe ser mayor o igual a 0 y es el resultado de la resta
saldoAnterior-importePagado. - En el caso de que el campo
importePagadono exista, debe calcularse de los campossaldoAnterior-montoconsiderando que los dos importes están en la misma moneda. - El importe de éste campo debe corresponder al tipo de moneda registrado en el campo
tipoMonedadel documento relacionado. - El máximo de decimales que se pueden utilizar son los que soporte la moneda. Los límites se pueden consultar en el catálogo de monedas.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| float | Requerido | 100.00 |
Bloques de Información Adicional Recibo Electrónico Pago
É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: 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.
- Aplican las mismas reglas y estructura que el Bloque Inferior.
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.
- Se permite solamente un bloque superior y un bloque inferior.
- Pueden aparecer ambos bloques o solamente uno de los bloques.
- Existen dos opciones para el texto del bloque: un solo bloque de texto libre
textoo renglones definidos utilizando la etiquetaTextoRenglonesy separando cada renglón con una coma. Se debe utilizar solo una de las dos opciones por petición.
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.
- Se puede incluir un máximo de 10 renglones dentro del bloque de información adicional.
| 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
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.
- Si requiere especificar más de una dirección de correo electrónico, es necesario dividir cada dirección con una coma.
| 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.
- Cuando el receptor del correo es un sistema, se debe utilizar el tipo
sistemapara que el formato de correo sea texto plano y se adjunte la versión XML.
| Tipo de Dato | Ocurrencia | Opciones | Valor Predeterminado | Ejemplo |
|---|---|---|---|---|
| enum | Opcional | persona sistema |
persona |
persona |
Campos Personalizados Recibo Electrónico Pago
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.
- Se pueden incluir un máximo de 6 campos personalizados.
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
Ejemplo con el mínimo de campos que puede tener una petición.
Ejemplo Básico Timbrado Recibo Electrónico Pago - Request:
{
"CFDi": {
"modo": "debug",
"versionEF": "6.0",
"serie": "RE",
"folioInterno": "17",
"fechaEmision": "2017-10-31 00:00:01",
"rfc": "AAA010101AAA",
"Receptor": {
"rfc": "XAXX010101000",
"nombre": "Empresa Demo, S.A. de C.V.",
"usoCfdi": "por_definir"
},
"ComplementoPago": {
"Pago": {
"fechaPago": "2017-10-31 00:00:01",
"formaDePago": "03",
"tipoMoneda": "MXN",
"monto": "1000.00",
"numeroOperacion": "0000051",
"rfcCtaOrden": "BBA830831LJ2",
"ctaOrdenante": "123456789101112131",
"rfcEmisorCtaBen": "BMN930209927",
"ctaBeneficiario": "123456789101114558",
"DocumentosRelacionados": [{
"idDocumento": "431044D8-6CA5-FACE-EB18-4558ad859874",
"serie": "FA",
"folioInterno": "41",
"tipoMoneda": "MXN",
"metodoDePago": "PPD",
"numParcialidad": "2",
"saldoAnterior": "900.00",
"importePagado": "100.00",
"impoSaldoInsoluto": "800.00"
}
]
}
},
"EnviarCFDI": {
"Correos": [
"facturas@ef.com"
],
"mensajeCorreo": "Mensaje personalizado que se incluirá en el cuerpo del correo a enviar."
}
}
}
Ejemplo Básico Timbrado Recibo Electrónico Pago - Response:
{
"AckEnlaceFiscal": {
"numeroReferencia": 547,
"estatusDocumento": "aceptado",
"fechaMensaje": "2017-10-31 22:13:08",
"version": "1.0",
"folioInterno": "17",
"folioFiscalUUID": "eb84bd56-a5a0-4c06-a907-44ec8af87ea3",
"serie": "RE",
"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|2017-10-31T22:13:07|nPv+OUsiA+lCWu/dIAjD0Me8JW1b1toTWCU0irOXf7hjK80BFyT3lV83eS21Cjn4U7cUQgVF6enI1iJDS2pgd0pLzNd0PqqW/A3v2EuADIJAEoslhgwgiQ3h4tv2bd0lA9OQ5BYOEYg9DUGRduabgOcDhl2cshA6kyLVpPGZKLA=|20001000000200001428||",
"fechaGeneracionCFDi": "2017-10-31 00:00:01",
"fechaTFD": "2017-10-31T22:13:07",
"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
Ejemplo con la mayoría de campos que puede tener una petición.
Ejemplo Completo Timbrado Recibo Electrónico Pago - Request:
{
"CFDi": {
"modo": "debug",
"versionEF": "6.0",
"serie": "RE",
"folioInterno": "1",
"fechaEmision": "2017-10-31 00:00:01",
"nombreDisenio": "Diseño predeterminado",
"rfc": "AAA010101AAA",
"ComprobantesRelacionados": {
"tipoRelacion": "sustitucion",
"Comprobantes": [
"eeca15af-e9b1-4a45-9861-8d51c4fa8219"
]
},
"Receptor": {
"rfc": "XEXX010101000",
"nombre": "Empresa Demo, S.A. de C.V.",
"residenciaFiscal": "AFG",
"numeroRegistroIdTributario": "31289312983219",
"usoCfdi": "por_definir",
"IdentificadorCliente": {
"nombreCampo": "ID Cliente",
"valorCampo": "AER-4785"
},
"DomicilioFiscal": {
"calle": "Rayo",
"noExterior": "2835",
"noInterior": "1-A",
"colonia": "Jardines del norte",
"localidad": "Guadalajara",
"municipio": "Guadalajara",
"estado": "Jalisco",
"pais": "México",
"cp": "44580"
}
},
"ComplementoPago": {
"Pago": {
"fechaPago": "2017-10-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": "...",
"DocumentosRelacionados": [{
"idDocumento": "431044D8-6CA5-FACE-EB18-4558ad859874",
"serie": "FA",
"folioInterno": "41",
"tipoMoneda": "USD",
"tipoCambio": "18.50",
"metodoDePago": "PPD",
"numParcialidad": "2",
"saldoAnterior": "900.00",
"importePagado": "100.00",
"impoSaldoInsoluto": "800.00"
},
{
"idDocumento": "1B361EAE-161A-43BE-9BC3-07E450825175",
"serie": "FA",
"folioInterno": "42",
"tipoMoneda": "MXN",
"tipoCambio": "1",
"metodoDePago": "PPD",
"numParcialidad": "4",
"saldoAnterior": "2000.00",
"importePagado": "500.00",
"impoSaldoInsoluto": "1500.00"
}
]
}
},
"BloquesInfoAdicional": {
"BloqueSuperior": {
"titulo": "Información",
"texto": "Condiciones: Contado Vencimiento: 17/12/2013 Pedido interno: , A 1 SIIL: FA 1 17/12/2013 17:56:15"
},
"BloqueInferior": {
"titulo": "Información",
"texto": "Condiciones: Contado Vencimiento: 17/12/2013 Pedido interno: , A 1 SIIL: FA 1 17/12/2013 17:56:15"
}
},
"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": "2017-10-31 00:00:02",
"version": "1.0",
"folioInterno": "1",
"folioFiscalUUID": "4E80053F-74B9-4004-B7B6-09B30781B4F6",
"serie": "RE",
"noSerieCertificado": "20001000000200001111",
"noSerieCertificadoSAT": "20001000000100001111",
"selloCFDi": "...",
"selloSAT": "...",
"cadenaTFD": "...",
"fechaGeneracionCFDi": "2017-10-31 00:00:02",
"fechaTFD": "2017-10-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"
}
}
Catálogos SAT CFDi 3.3
En esta sección podrás encontrar los Catálogos del SAT necesarios para poder realizar peticiones al API de Enlace Fiscal.
Forma De Pago
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 |
|---|---|---|
| Efectivo | ||
| Cheque nominativo | ||
| Transferencia electrónica de fondos | ||
| Tarjeta de crédito | ||
| Monedero electrónico | ||
| Dinero electrónico | ||
| Vales de despensa | ||
| Dación en pago | ||
| Pago por subrogación | ||
| Pago por consignación | ||
| Condonación | ||
| Compensación | ||
| Novación | ||
| Confusión | ||
| Remisión de deuda | ||
| Prescripción o caducidad | ||
| A satisfacción del acreedor | ||
| Tarjeta de débito | ||
| Tarjeta de servicios | ||
| Aplicación de anticipos | ||
| Por definir |
Impuestos
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 |
|---|---|---|---|---|
| Impuesto Sobre la Renta | Si | No | ||
| Impuesto al Valor Agregado | Si | Si | ||
| Impuesto Especial sobre Producción y Servicios | Si | Si |
Método de Pago
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 |
|---|---|
| Pago en una sola exhibición | |
| Pago en parcialidades o diferido |
Países
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 |
|---|---|
| Alemania | |
| Argentina | |
| Brasil | |
| Canadá | |
| Chile | |
| Estados Unidos (los) | |
| México | |
| Italia | |
| Japón |
Cátalogo de Países (c_Pais)
| Clave | País |
|---|---|
| Afganistán | |
| Islas Åland | |
| Albania | |
| Alemania | |
| Andorra | |
| Angola | |
| Anguila | |
| Antártida | |
| Antigua y Barbuda | |
| Arabia Saudita | |
| Argelia | |
| Argentina | |
| Armenia | |
| Aruba | |
| Australia | |
| Austria | |
| Azerbaiyán | |
| Bahamas (las) | |
| Bangladés | |
| Barbados | |
| Baréin | |
| Bélgica | |
| Belice | |
| Benín | |
| Bermudas | |
| Bielorrusia | |
| Myanmar | |
| Bolivia, Estado Plurinacional de | |
| Bosnia y Herzegovina | |
| Botsuana | |
| Brasil | |
| Brunéi Darussalam | |
| Bulgaria | |
| Burkina Faso | |
| Burundi | |
| Bután | |
| Cabo Verde | |
| Camboya | |
| Camerún | |
| Canadá | |
| Catar | |
| Bonaire, San Eustaquio y Saba | |
| Chad | |
| Chile | |
| China | |
| Chipre | |
| Colombia | |
| Comoras | |
| Corea (la República Democrática Popular de) | |
| Corea (la República de) | |
| Côte d'Ivoire | |
| Costa Rica | |
| Croacia | |
| Cuba | |
| Curaçao | |
| Dinamarca | |
| Dominica | |
| Ecuador | |
| Egipto | |
| El Salvador | |
| Emiratos Árabes Unidos (Los) | |
| Eritrea | |
| Eslovaquia | |
| Eslovenia | |
| España | |
| Estados Unidos (los) | |
| Estonia | |
| Etiopía | |
| Filipinas (las) | |
| Finlandia | |
| Fiyi | |
| Francia | |
| Gabón | |
| Gambia (La) | |
| Georgia | |
| Ghana | |
| Gibraltar | |
| Granada | |
| Grecia | |
| Groenlandia | |
| Guadalupe | |
| Guam | |
| Guatemala | |
| Guayana Francesa | |
| Guernsey | |
| Guinea | |
| Guinea-Bisáu | |
| Guinea Ecuatorial | |
| Guyana | |
| Haití | |
| Honduras | |
| Hong Kong | |
| Hungría | |
| India | |
| Indonesia | |
| Irak | |
| Irán (la República Islámica de) | |
| Irlanda | |
| Isla Bouvet | |
| Isla de Man | |
| Isla de Navidad | |
| Isla Norfolk | |
| Islandia | |
| Islas Caimán (las) | |
| Islas Cocos (Keeling) | |
| Islas Cook (las) | |
| Islas Feroe (las) | |
| Georgia del sur y las islas sandwich del sur | |
| Isla Heard e Islas McDonald | |
| Islas Malvinas [Falkland] (las) | |
| Islas Marianas del Norte (las) | |
| Islas Marshall (las) | |
| Pitcairn | |
| Islas Salomón (las) | |
| Islas Turcas y Caicos (las) | |
| Islas de Ultramar Menores de Estados Unidos (las) | |
| Islas Vírgenes (Británicas) | |
| Islas Vírgenes (EE.UU.) | |
| Israel | |
| Italia | |
| Jamaica | |
| Japón | |
| Jersey | |
| Jordania | |
| Kazajistán | |
| Kenia | |
| Kirguistán | |
| Kiribati | |
| Kuwait | |
| Lao, (la) República Democrática Popular | |
| Lesoto | |
| Letonia | |
| Líbano | |
| Liberia | |
| Libia | |
| Liechtenstein | |
| Lituania | |
| Luxemburgo | |
| Macao | |
| Madagascar | |
| Malasia | |
| Malaui | |
| Maldivas | |
| Malí | |
| Malta | |
| Marruecos | |
| Martinica | |
| Mauricio | |
| Mauritania | |
| Mayotte | |
| México | |
| Micronesia (los Estados Federados de) | |
| Moldavia (la República de) | |
| Mónaco | |
| Mongolia | |
| Montenegro | |
| Montserrat | |
| Mozambique | |
| Namibia | |
| Nauru | |
| Nepal | |
| Nicaragua | |
| Níger (el) | |
| Nigeria | |
| Niue | |
| Noruega | |
| Nueva Caledonia | |
| Nueva Zelanda | |
| Omán | |
| Países Bajos (los) | |
| Pakistán | |
| Palaos | |
| Palestina, Estado de | |
| Panamá | |
| Papúa Nueva Guinea | |
| Paraguay | |
| Perú | |
| Polinesia Francesa | |
| Polonia | |
| Portugal | |
| Puerto Rico | |
| Reino Unido (el) | |
| República Centroafricana (la) | |
| República Checa (la) | |
| Macedonia (la antigua República Yugoslava de) | |
| Congo | |
| Congo (la República Democrática del) | |
| República Dominicana (la) | |
| Reunión | |
| Ruanda | |
| Rumania | |
| Rusia, (la) Federación de | |
| Sahara Occidental | |
| Samoa | |
| Samoa Americana | |
| San Bartolomé | |
| San Cristóbal y Nieves | |
| San Marino | |
| San Martín (parte francesa) | |
| San Pedro y Miquelón | |
| San Vicente y las Granadinas | |
| Santa Helena, Ascensión y Tristán de Acuña | |
| Santa Lucía | |
| Santo Tomé y Príncipe | |
| Senegal | |
| Serbia | |
| Seychelles | |
| Sierra leona | |
| Singapur | |
| Sint Maarten (parte holandesa) | |
| Siria, (la) República Árabe | |
| Somalia | |
| Sri Lanka | |
| Suazilandia | |
| Sudáfrica | |
| Sudán (el) | |
| Sudán del Sur | |
| Suecia | |
| Suiza | |
| Surinam | |
| Svalbard y Jan Mayen | |
| Tailandia | |
| Taiwán (Provincia de China) | |
| Tanzania, República Unida de | |
| Tayikistán | |
| Territorio Británico del Océano Índico (el) | |
| Territorios Australes Franceses (los) | |
| Timor-Leste | |
| Togo | |
| Tokelau | |
| Tonga | |
| Trinidad y Tobago | |
| Túnez | |
| Turkmenistán | |
| Turquía | |
| Tuvalu | |
| Ucrania | |
| Uganda | |
| Uruguay | |
| Uzbekistán | |
| Vanuatu | |
| Santa Sede[Estado de la Ciudad del Vaticano] (la) | |
| Venezuela, República Bolivariana de | |
| Viet Nam | |
| Wallis y Futuna | |
| Yemen | |
| Yibuti | |
| Zambia | |
| Zimbabue | |
| Países no declarados |
Tipo de Cadena de Pago
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 |
|---|---|
| SPEI |
Tipo de Monedas
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 |
|---|---|---|---|
| Peso Mexicano | 2 | 500% | |
| Dolar americano | 2 | 500% | |
| Dolar Canadiense | 2 | 500% | |
| Euro | 2 | 500% |
Catálogo de Monedas (c_Moneda)
| Clave | Descripción | Número de Decimales | Porcentaje de Variación |
|---|---|---|---|
| Dirham de EAU | 2 | 500% | |
| Afghani | 2 | 500% | |
| Lek | 2 | 500% | |
| Dram armenio | 2 | 500% | |
| Florín antillano neerlandés | 2 | 500% | |
| Kwanza | 2 | 500% | |
| Peso Argentino | 2 | 500% | |
| Dólar Australiano | 2 | 500% | |
| Aruba Florin | 2 | 500% | |
| Azerbaijanian Manat | 2 | 500% | |
| Convertibles marca | 2 | 500% | |
| Dólar de Barbados | 2 | 500% | |
| Taka | 2 | 500% | |
| Lev búlgaro | 2 | 500% | |
| Dinar de Bahrein | 3 | 500% | |
| Burundi Franc | 0 | 500% | |
| Dólar de Bermudas | 2 | 500% | |
| Dólar de Brunei | 2 | 500% | |
| Boliviano | 2 | 500% | |
| Mvdol | 2 | 500% | |
| Real brasileño | 2 | 500% | |
| Dólar de las Bahamas | 2 | 500% | |
| Ngultrum | 2 | 500% | |
| Pula | 2 | 500% | |
| Rublo bielorruso | 0 | 500% | |
| Dólar de Belice | 2 | 500% | |
| Dolar Canadiense | 2 | 500% | |
| Franco congoleño | 2 | 500% | |
| WIR Euro | 2 | 500% | |
| Franco Suizo | 2 | 500% | |
| Franc WIR | 2 | 500% | |
| Unidad de Fomento | 4 | 500% | |
| Peso chileno | 0 | 500% | |
| Yuan Renminbi | 2 | 500% | |
| Peso Colombiano | 2 | 500% | |
| Unidad de Valor real | 2 | 500% | |
| Colón costarricense | 2 | 500% | |
| Peso Convertible | 2 | 500% | |
| Peso Cubano | 2 | 500% | |
| Cabo Verde Escudo | 2 | 500% | |
| Corona checa | 2 | 500% | |
| Franco de Djibouti | 0 | 500% | |
| Corona danesa | 2 | 500% | |
| Peso Dominicano | 2 | 500% | |
| Dinar argelino | 2 | 500% | |
| Libra egipcia | 2 | 500% | |
| Nakfa | 2 | 500% | |
| Birr etíope | 2 | 500% | |
| Euro | 2 | 500% | |
| Dólar de Fiji | 2 | 500% | |
| Libra malvinense | 2 | 500% | |
| Libra Esterlina | 2 | 500% | |
| Lari | 2 | 500% | |
| Cedi de Ghana | 2 | 500% | |
| Libra de Gibraltar | 2 | 500% | |
| Dalasi | 2 | 500% | |
| Franco guineano | 0 | 500% | |
| Quetzal | 2 | 500% | |
| Dólar guyanés | 2 | 500% | |
| Dolar De Hong Kong | 2 | 500% | |
| Lempira | 2 | 500% | |
| Kuna | 2 | 500% | |
| Gourde | 2 | 500% | |
| Florín | 2 | 500% | |
| Rupia | 2 | 500% | |
| Nuevo Shekel Israelí | 2 | 500% | |
| Rupia india | 2 | 500% | |
| Dinar iraquí | 3 | 500% | |
| Rial iraní | 2 | 500% | |
| Corona islandesa | 0 | 500% | |
| Dólar Jamaiquino | 2 | 500% | |
| Dinar jordano | 3 | 500% | |
| Yen | 0 | 500% | |
| Chelín keniano | 2 | 500% | |
| Som | 2 | 500% | |
| Riel | 2 | 500% | |
| Franco Comoro | 0 | 500% | |
| Corea del Norte ganó | 2 | 500% | |
| Won | 0 | 500% | |
| Dinar kuwaití | 3 | 500% | |
| Dólar de las Islas Caimán | 2 | 500% | |
| Tenge | 2 | 500% | |
| Kip | 2 | 500% | |
| Libra libanesa | 2 | 500% | |
| Rupia de Sri Lanka | 2 | 500% | |
| Dólar liberiano | 2 | 500% | |
| Loti | 2 | 500% | |
| Dinar libio | 3 | 500% | |
| Dirham marroquí | 2 | 500% | |
| Leu moldavo | 2 | 500% | |
| Ariary malgache | 2 | 500% | |
| Denar | 2 | 500% | |
| Kyat | 2 | 500% | |
| Tugrik | 2 | 500% | |
| Pataca | 2 | 500% | |
| Ouguiya | 2 | 500% | |
| Rupia de Mauricio | 2 | 500% | |
| Rupia | 2 | 500% | |
| Kwacha | 2 | 500% | |
| Peso Mexicano | 2 | 500% | |
| México Unidad de Inversión (UDI) | 2 | 500% | |
| Ringgit malayo | 2 | 500% | |
| Mozambique Metical | 2 | 500% | |
| Dólar de Namibia | 2 | 500% | |
| Naira | 2 | 500% | |
| Córdoba Oro | 2 | 500% | |
| Corona noruega | 2 | 500% | |
| Rupia nepalí | 2 | 500% | |
| Dólar de Nueva Zelanda | 2 | 500% | |
| Rial omaní | 3 | 500% | |
| Balboa | 2 | 500% | |
| Nuevo Sol | 2 | 500% | |
| Kina | 2 | 500% | |
| Peso filipino | 2 | 500% | |
| Rupia de Pakistán | 2 | 500% | |
| Zloty | 2 | 500% | |
| Guaraní | 0 | 500% | |
| Qatar Rial | 2 | 500% | |
| Leu rumano | 2 | 500% | |
| Dinar serbio | 2 | 500% | |
| Rublo ruso | 2 | 500% | |
| Franco ruandés | 0 | 500% | |
| Riyal saudí | 2 | 500% | |
| Dólar de las Islas Salomón | 2 | 500% | |
| Rupia de Seychelles | 2 | 500% | |
| Libra sudanesa | 2 | 500% | |
| Corona sueca | 2 | 500% | |
| Dolar De Singapur | 2 | 500% | |
| Libra de Santa Helena | 2 | 500% | |
| Leona | 2 | 500% | |
| Chelín somalí | 2 | 500% | |
| Dólar de Suriname | 2 | 500% | |
| Libra sudanesa Sur | 2 | 500% | |
| Dobra | 2 | 500% | |
| Colon El Salvador | 2 | 500% | |
| Libra Siria | 2 | 500% | |
| Lilangeni | 2 | 500% | |
| Baht | 2 | 500% | |
| Somoni | 2 | 500% | |
| Turkmenistán nuevo manat | 2 | 500% | |
| Dinar tunecino | 3 | 500% | |
| Pa'anga | 2 | 500% | |
| Lira turca | 2 | 500% | |
| Dólar de Trinidad y Tobago | 2 | 500% | |
| Nuevo dólar de Taiwán | 2 | 500% | |
| Shilling tanzano | 2 | 500% | |
| Hryvnia | 2 | 500% | |
| Shilling de Uganda | 0 | 500% | |
| Dolar americano | 2 | 500% | |
| Dólar estadounidense (día siguiente) | 2 | 500% | |
| Peso Uruguay en Unidades Indexadas (URUIURUI) | 0 | 500% | |
| Peso Uruguayo | 2 | 500% | |
| Uzbekistán Sum | 2 | 500% | |
| Bolívar | 2 | 500% | |
| Dong | 0 | 500% | |
| Vatu | 0 | 500% | |
| Tala | 2 | 500% | |
| Franco CFA BEAC | 0 | 500% | |
| Plata | 0 | 500% | |
| Oro | 0 | 500% | |
| Unidad de Mercados de Bonos Unidad Europea Composite (EURCO) | 0 | 500% | |
| Unidad Monetaria de Bonos de Mercados Unidad Europea (UEM-6) | 0 | 500% | |
| Mercados de Bonos Unidad Europea unidad de cuenta a 9 (UCE-9) | 0 | 500% | |
| Mercados de Bonos Unidad Europea unidad de cuenta a 17 (UCE-17) | 0 | 500% | |
| Dólar del Caribe Oriental | 2 | 500% | |
| DEG (Derechos Especiales de Giro) | 0 | 500% | |
| Franco CFA BCEAO | 0 | 500% | |
| Paladio | 0 | 500% | |
| Franco CFP | 0 | 500% | |
| Platino | 0 | 500% | |
| Sucre | 0 | 500% | |
| Códigos reservados específicamente para propósitos de prueba | 0 | 500% | |
| Unidad ADB de Cuenta | 0 | 500% | |
| Los códigos asignados para las transacciones en que intervenga ninguna moneda | 0 | 500% | |
| Rial yemení | 2 | 500% | |
| Rand | 2 | 500% | |
| Kwacha zambiano | 2 | 500% | |
| Zimbabwe Dólar | 2 | 500% |
Tipo de Relación
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.
- Cuando el tipo de relación tenga la clave "01" o "02", no se deben registrar notas de crédito y débito con comprobante de tipo "T" (Traslado), "P" (Pago) o "N" (Nómina).
- Cuando el tipo de relación tenga la clave "03", no se deben registrar devoluciones de mercancías sobre comprobantes de tipo "E" (Egreso), "P" (Pago) o "N" (Nómina).
- Cuando el tipo de relación tenga la clave "04", si este documento que se está generando es de tipo "I" (Ingreso) o "E" (Egreso), puede sustituir a un comprobante de tipo "I" (Ingreso) o "E" (Egreso), en otro caso debe de sustituir a un comprobante del mismo tipo.
- Cuando el tipo de relación sea "05", este documento que se ésta generando debe ser de tipo "T" (Traslado), y los documentos relacionados deben ser un comprobante de tipo "I" (Ingreso) o "E" (Egreso).
- Cuando el tipo de relación sea "06", este documento que se ésta generando debe ser de tipo "I" (Ingreso) o "E" (Egreso) y los documentos relacionados deben ser de tipo "T" (Traslado).
- Cuando el tipo de relación sea "07", este documento que se ésta generando debe ser de tipo "I" (Ingreso) o "E" (Egreso) y los documentos relacionados deben ser de tipo "I" (Ingreso) o "E" (Egreso).
Catálogo de Tipo de Relación (c_TipoRelacion)
| Clave | Tipo | Clave Texto |
|---|---|---|
| Nota de crédito de los documentos relacionados | ||
| Nota de débito de los documentos relacionados | ||
| Devolución de mercancía sobre facturas o traslados previos | ||
| Sustitución de los CFDI previos | ||
| Traslados de mercancias facturados previamente | ||
| Factura generada por los traslados previos | ||
| CFDI por aplicación de anticipo | ||
| Factura generada por pagos en parcialidades | ||
| Factura generada por pagos diferidos |
Uso CFDi
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 |
|---|---|---|---|---|
| Adquisición de mercancias | Si | Si | ||
| Devoluciones, descuentos o bonificaciones | Si | Si | ||
| Gastos en general | Si | Si | ||
| Construcciones | Si | Si | ||
| Mobilario y equipo de oficina por inversiones | Si | Si | ||
| Equipo de transporte | Si | Si | ||
| Equipo de computo y accesorios | Si | Si | ||
| Dados, troqueles, moldes, matrices y herramental | Si | Si | ||
| Comunicaciones telefónicas | Si | Si | ||
| Comunicaciones satelitales | Si | Si | ||
| Otra maquinaria y equipo | Si | Si | ||
| Honorarios médicos, dentales y gastos hospitalarios. | Si | No | ||
| Gastos médicos por incapacidad o discapacidad | Si | No | ||
| Gastos funerales. | Si | No | ||
| Donativos. | Si | No | ||
| Intereses reales efectivamente pagados por créditos hipotecarios (casa habitación). | Si | No | ||
| Aportaciones voluntarias al SAR. | Si | No | ||
| Primas por seguros de gastos médicos. | Si | No | ||
| Gastos de transportación escolar obligatoria. | Si | No | ||
| Depósitos en cuentas para el ahorro, primas que tengan como base planes de pensiones. | Si | No | ||
| Pagos por servicios educativos (colegiaturas) | Si | No | ||
| Por definir | Si | Si |
Motivos de Cancelación
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 |
|---|---|---|
| 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. | |
| 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. | |
| No se llevó a cabo la operación | Cuando se cancela un CFDi porque la operación no se concretó. | |
| 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
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 |
|---|---|
| Factura | |
| Nota de Crédito | |
| Recibo de Honorarios | |
| Recibo de Arrendamiento | |
| Recibo de Donativo | |
| Comprobante de Ingreso | |
| Nota de Cargo | |
| Comprobante de Traslado | |
| Recibo Electrónico de Pago | |
| Comprobante de Anticipo |
Complemento de Carta Porte 1.0
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": {
"transporteInternacional": "Sí",
"entradaSalidaMercancias": "Entrada",
"viaEntradaSalida": "01",
"totalDistanciaRecorrida": "919.7",
...
Es un objeto requerido que agrupa la información del complemento.
transporteInternacional Campo requerido para registrar si los bienes o mercancías que son transportadas, ingresan o salen del territorio nacional.
- Si este campo contiene el valor "Sí" se debe registrar información en
los campos
entradaSalidaMercanciasyviaEntradaSalida. - Si este campo contiene el valor "No" los campos
entradaSalidaMercanciasyviaEntradaSalidano deben existir. - Si este campo contiene el valor "No", y el comprobante es de tipo "I" (Ingreso) y si existe la sección AutotransporteFederal de la sección Mercancías entonces debe existir información en las secciones Traslados y Retenciones de la sección Partidas a nivel CFDI.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| string | Requerido | Sí 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 |
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.
- Si existe la sección AutotransporteFederal o TransporteFerroviario de la sección Mercancias, este campo debe contener un valor; en caso de que no exista alguna de las secciones antes mencionadas, este campo no debe existir.
- El valor registrado deberá corresponder con la suma de los campos distanciaRecorrida de la sección Ubicacion, siempre que existan las secciones Origen y Destino con un solo Domicilio o solo la sección Destino de la sección Ubicacion.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| float | Condicional | 919.7 |
Ubicaciones
Complemento Carta Porte [requerido]
{
"CFDi":{
...
...
"Complementos":{
"CartaPorte": {
...
"Ubicaciones": [
{
"tipoEstacion": "01",
"distanciaRecorrida": "500.5",
"Origen": {
"idOrigen": "OR000687",
"rfcRemitente": "URE180429TM6",
"nombreRemitente": "Remitente S. De R.L. De C.V.",
"numeroRegistroIdTributario": "121585958",
"residenciaFiscal" : "MEX",
"numeroEstacion" : "PM003",
"navegacionTrafico": "Cabotaje",
"fechaHoraSalida": "2020-12-02 12:30:00"
},
"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"
}
},
{
"tipoEstacion": "03",
"distanciaRecorrida": "419.2",
"Destino": {
"idDestino": "DE000423",
"rfcDestinatario": "IXS7607092R5",
"nombreDestinatario": "Destinatario S.A. de C.V." ,
"numeroRegistroIdTributario": "121585958" ,
"residenciaFiscal": "MEX",
"numeroEstacion": "PM001",
"navegacionTrafico": "Altura",
"fechaHoraProgLlegada": "2020-12-04 12:30:00",
},
"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.
tipoEstacion Campo condicional para registrar la suma de las distancias recorridas en kilómetros.
- Si el campo
transporteInternacionalcontiene el valor "No" y si existe la sección TransporteFerroviario, TransporteMaritimo o TransporteAereo de la sección Mercancias, este campo se debe registrar y debe contener una clave conforme a las disponibles en el catálogo c_TipoEstacion del SAT. - En otro caso, si el campo
transporteInternacionalcontiene el valor "Sí" este campo no debe registrarse siempre que el Origen o Destino de los bienes o mercancías sea fuera de territorio nacional, por lo que el campopaisde la sección Ubicacion debe contener una clave distinta de "MEX", en caso contrario se debe registrar una clave conforme a las disponibles en el catálogo c_TipoEstacion del SAT.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| enum | Condicional | Se muestra en el cátalogo de Tipo Estacion del SAT. Se utiliza la Clave |
03 |
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.
- Si existe la sección AutotransporteFederal o TransporteFerroviario de la sección Mercancias, y la sección Destino de la sección Ubicacion, este campo será requerido.
- Si existe la sección AutotransporteFederal y la secciones Origen y Destino, corresponden al mismo domicilio ubicado en la sección Ubicacion, este campo será requerido.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| float | Condicional | 919.7 |
Origen
Sección condicional para registrar la información detallada del Origen de los bienes o mercancías que se trasladan.
idOrigen Campo condicional para registrar una clave que sirva para identificar el punto de salida de los bienes o mercancías que se trasladan por los distintos medios de transporte, mediante un folio, el cual estará compuesto de la siguiente forma: el acrónimo "OR" seguido de 6 dígitos numéricos asignados por el contribuyente que emite el comprobante para su identificación.
- Si existe la sección CantidadTransporta de la sección Mercancias este campo debe existir, en caso contrario dicho campo no debe existir.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Condicional | OR000687 |
rfcRemitente Campo condicional para registrar el RFC del remitente de los bienes o mercancías que se trasladan.
- Si el comprobante es de tipo "T" (Traslado), este campo se puede omitir siempre que el RFC del emisor sea el mismo que el remitente, de no ser así se debe registrar un RFC diferente al emisor del comprobante.
- Si el comprobante es de tipo "I" (Ingreso), este campo se puede omitir siempre que el RFC del receptor sea el mismo que el remitente, de no ser así se debe registrar un RFC diferente al receptor del comprobante.
- Si el remitente de las mercancías que se transportan es extranjero, este campo no debe existir.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Condicional | URE180429TM6 |
nombreRemitente Campo opcional para registrar el nombre del remitente de los bienes o mercancías que se trasladan.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Opcional | Remitente S. De R.L. De C.V. |
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.
- Si el campo
rfcRemitentees el mismo que el RFC emisor este campo se puede omitir, en caso de que el remitente sea extranjero este campo debe contener un valor, para lo cual se debe identificar el país de residencia para efectos fiscales del remitente usando la clave del país registrada en el camporesidenciaFiscalde esta sección.
| 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.
- Si se registra información en el campo
numeroRegistroIdTributariode esta sección, este campo debe existir, en caso contrario este campo no debe existir.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| enum | Condicional | Se muestra en el catálogo de Países del SAT. Se utiliza la Clave |
USA |
numeroEstacion Campo condicional para registrar la clave del número de la estación de salida, conforme a los disponibles en el catálogo c_Estaciones del SAT.
- Si solo existe una sección AutotransporteFederal de la sección Mercancias, este campo no debe existir.
- En caso de que exista la sección TransporteMaritimo, que corresponde a la clave "02", TransporteAereo con clave "03" o TransporteFerroviario con clave "04" de la columna Clave transporte del catálogo c_Estaciones este campo debe contener un valor de la columna clave identificación que corresponde al mismo catálogo.
| 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 |
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".
- Si existe la sección TransporteMaritimo de la sección Mercancias, este campo debe contener un valor, en caso contrario este campo no debe existir.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| string | Condicional | Altura Cabotaje |
Altura |
fechaHoraSalida Campo requerido para registrar la fecha y hora estimada en la que salen los bienes o mercancías del origen. 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 |
Destino
Sección condicional para registrar la información detallada del Destino de los bienes o mercancías que se trasladan.
idDestino Campo condicional para registrar una clave que sirva para identificar el punto de llegada de los bienes o mercancías que se trasladan por los distintos medios de transporte, mediante un folio, el cual estará compuesto de la siguiente forma: el acrónimo "DE" seguido de 6 dígitos numéricos asignados por el contribuyente que emite el comprobante para su identificación.
- Si existe la sección CantidadTransporta de la sección Mercancias este campo debe existir, en caso contrario dicho campo no debe existir.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Condicional | DE000423 |
rfcDestinatario Campo condicional para registrar el RFC del destinatario al que se le entregarán los bienes o mercancías que se trasladan.
- Si el comprobante es de tipo "T" (Traslado), este campo se puede omitir siempre que el RFC del emisor sea el mismo que el destinatario, de no ser así se debe registrar un RFC diferente al emisor del comprobante.
- Si el comprobante es de tipo "I" (Ingreso), este campo se puede omitir siempre que el RFC del receptor sea el mismo que el destinatario, de no ser así se debe registrar un RFC diferente al receptor del comprobante.
- Si el destinatario de las mercancías que se transportan es extranjero, este campo no debe existir.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Condicional | IXS7607092R5 |
nombreDestinatario Campo opcional para registrar el nombre del destinatario de los bienes o mercancías que se trasladan.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Opcional | Rafaeli Camposorio Ruízo |
numeroRegistroIdTributario Campo condicional para registrar el número de identificación o registro fiscal del país de residencia para los efectos fiscales del destinatario cuando sea residente en el extranjero.
- Si la clave registrada en el campo
residenciaFiscales distinta a “MEX” este campo debe contener un valor.
| 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.
- Si se registra información en el campo
numeroRegistroIdTributariode esta sección, este campo debe existir, en caso contrario este campo no debe existir.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| enum | Condicional | Se muestra en el cátalogo de Pais del SAT. Se utiliza la Clave Pais |
USA |
numeroEstacion Campo condicional para registrar la clave del número de la estación de salida, conforme a los disponibles en el catálogo c_Estaciones del SAT.
- Si solo existe una sección AutotransporteFederal de la sección Mercancias, este campo no debe existir.
- En caso de que exista la sección TransporteMaritimo, que corresponde a la clave "02", TransporteAereo con clave "03" o TransporteFerroviario con clave "04" de la columna Clave transporte del catálogo c_Estaciones este campo debe contener un valor de la columna clave identificación que corresponde al mismo catálogo.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| enum | Condicional | Se muestra en el cátalogo de Estaciones del SAT. Se utiliza la Clave Identificación |
PM001 |
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".
- Si existe la sección TransporteMaritimo de la sección Mercancias, este campo debe contener un valor, en caso contrario este campo no debe existir.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| string | Condicional | Altura Cabotaje |
Altura |
fechaHoraProgLlegada Campo requerido para registrar la fecha y hora en la que estima arriben a su destino los bienes o mercancías. Se expresa con el siguiente formato "AAAA-MM-DD hh:mm:ss".
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| date | Requerido | 2020-12-04 12:30:00 |
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.
- Si existe el campo
tipoEstacionde la sección Ubicacion con valor "02" (Intermedia), y la sección TransporteFerroviario de la sección Mercancias, esta sección no debe existir. - Si existe el campo
tipoEstacionde la sección Ubicacion con valor "01" (Origen Nacional) o "03" (Destino Final Nacional) se debe registrar esta sección.
calle Campo requerido 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 | Requerido | Á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.
- Si la clave del país es distinta a "MEX", se debe registrar texto libre, en caso contrario este campo debe contener una clave conforme a los disponibles en el catálogo c_Colonia del SAT donde la columna c_CodigoPostal debe ser igual a la clave registrada en el campo
cp.
| 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.
- Si la clave del país es distinta a "MEX" se debe registrar texto libre.
- Si la clave del país es “MEX” este campo debe contener una clave conforme a los disponibles en el catálogo c_Localidad del SAT, donde la columna c_Estado, tiene el valor seleccionado en el campo
estado.
| 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.
- Si la clave del país es distinta a "MEX", se debe registrar texto libre; en caso contrario este campo debe contener una clave conforme a los disponibles en el catálogo c_Municipio del SAT donde la columna c_Estado, debe ser igual a la clave registrada en el campo
estado.
| 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.
- Si la clave del país es distinta a "MEX", "USA" o "CAN", se debe registrar texto libre; en caso contrario el campo Estado debe contener una clave conforme a los disponibles en el catálogo c_Estado del SAT, donde la columna c_Pais tenga el valor "MEX", "USA" o "CAN".
| 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.
- Si la clave del país es distinta a "MEX", se debe registrar texto libre; en caso contrario el campo
cpdebe contener una clave conforme a los disponibles en el catálogo c_CodigoPostal del SAT, donde la clave de la columna c_Estado, debe ser igual a la clave registrada en el campoestado, la columna c_Municipio, debe ser igual a la clave registrada en el campomunicipio, y si existe el campo de Localidad, la columna de clave c_Localidad, debe ser igual a la clave registrada en el campolocalidad.
| 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": "",
"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",
"CantidadTransporta": [
{
"cantidad": "65485.000000",
"idOrigen": "OR000687",
"idDestino": "DE000423",
"clavesTransporte": "03",
}
],
"DetalleMercancia": {
"unidadPeso": "TNE",
"pesoBruto": "10342.012",
"pesoNeto": "9848.28",
"pesoTara": "493.732",
"numeroPiezas": "4568",
}
}
],
"AutotransporteFederal": {
"permisoSct": "TPAF01",
"numeroPermisoSct": "0X2XTXZ0X5X0X3X2X1X0",
"nombreAseguradora": "RAFELI SEGUROS",
"numeroPolizaSeguro": "368549",
"IdentificacionVehicular": {
"configuracionVehicular": "C3R2",
"placaVehicular": "501SSF8",
"anioModeloVehicular": "2015"
},
"Remolques": [
{
"subTipoRemolque": "CTR004",
"placa": "JRY1549"
}
]
},
"TransporteMaritimo": {
"permSCT": "TPTM01",
"numeroPermisoSct": "00Z00X00Z00X0",
"nombreAseguradora": "Seguros de carga",
"numeroPolizaSeguro": "ZRC2018-COTTON-LTDA",
"tipoEmbarcacion": "B07",
"matricula": "501&&8",
"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": "T&R&L&0000000",
"tipoContenedor": "CTR003",
"numeroPrecinto": "53&&745",
}
]
},
"TransporteAereo": {
"permisoSct": "TPTA01",
"numeroPermisoSct": "00Z00X00Z00X00Z00ZX1",
"matriculaAeronave": "X1XMEX",
"nombreAseguradora": "Seguros de carga",
"numeroPolizaSeguro": "ZRC2018-COTTON LTDA",
"numeroGuia": "803117555500",
"lugarContrato": "MEX",
"rfcTransportista": "COCO850707AR3",
"codigoTransportista": "CA001",
"numeroRegistroIdTributarioTransportista": "121585958",
"residenciaFiscalTransportista": "CAN",
"nombreTransportista": "Pedro Salvador Alva",
"rfcEmbarcador": "CSCO850910AR9",
"numeroRegistroIdTributarioEmbarcador": "2343243242234",
"residenciaFiscalEmbarcador": "USA",
"nombreEmbarcador": "Rafaeli Camposorio Ruízo",
},
"TransporteFerroviario": {
"tipoDeServicio": "TS01",
"nombreAseguradora": "SEGUROS MAR",
"numeroPolizaSeguro": "3453453-RTED:33",
"concesionario": "IVD920810GU2",
"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.
- Se debe validar que al menos se registre una sección AutortransporteFederal, TransporteMaritimo, TransporteAereo o TransporteFerroviario en esta sección.
pesoBrutoTotal Campo condicional para registrar la suma del peso bruto total de los bienes o mercancías que se trasladan por transporte ferroviario y aéreo.
- Si existen las secciones TransporteFerroviario o TransporteAereo de la sección Mercancias este campo debe contener un valor, en caso contrario este campo puede no existir.
- Para el caso de la sección TransporteFerroviario, este campo debe contener la suma del peso bruto total de los bienes o mercancías que se trasladan vía ferroviaria, que corresponde a la suma de los campos
pesoContenedorVacioypesoNetoMercanciadentro del nodo Carro de la sección contenedor. - Para el caso de la sección TransporteAereo de la sección Mercancias este campo debe contener el peso bruto total de la mercancía que se traslada por este medio.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| float | Condicional | 12543.002 |
unidadPeso Campo condicional para registrar la clave de unidad de medida estandarizada del peso de los bienes o mercancías que se trasladan vía férrea y aérea.
- Si existe la sección TransporteFerroviario o TransporteAereo de la sección Mercancias, este campo debe contener un valor conforme a los disponibles en el catálogo c_ClaveUnidadPeso del SAT, en caso contrario este campo puede no existir.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| enum | Condicional | Se muestra en el cátalogo Unidad de Peso del SAT. Se utiliza la Clave |
TNE |
pesoNetoTotal Campo condicional para registrar la suma de los valores registrados en el campo pesoNeto de la sección DetalleMercancia de la sección Mercancia.
- Si existe la sección TransporteMaritimo de la sección Mercancias, este campo debe ser igual a la suma de los valores registrados en los campos
pesoNetode la sección DetalleMercancia de la sección Mercancia. - Si existe la sección TransporteFerroviario de la sección Mercancias, este campo debe ser igual a la suma de los valores registrados en los campos
toneladasNetasCarrode la sección Carro.
| 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 |
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 condicional para registrar la clave de producto de los bienes o mercancías que se trasladan en los distintos medios de transporte.
- Si el comprobante es de tipo "T" (Traslado) y si
solo se registra un tipo de mercancía a nivel partida, este campo se puede omitir, en caso contrario se debe registrar la clave de producto que corresponda con la
claveProdServque se registró a nivel partida. - Si el comprobante es de tipo "I" (Ingreso), el valor de este campo deberá contener una clave conforme a los disponibles en el catálogo _ClaveProdServ del SAT.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| enum | Condicional | 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 condicional para registrar la descripción los bienes o mercancías que se trasladan en los distintos medios de transporte.
- Si el comprobante es de tipo "T" (Traslado), y si el campo
bienesTransportadosno contiene un valor, este campo no debe existir.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Condicional | Calzado, excepto caucho o plástico |
cantidad Campo condicional para registrar la cantidad de los bienes o mercancías que se trasladan en los distintos medios de transporte.
- Si el comprobante es de tipo "T" (Traslado), y si el campo
bienesTransportadosno existe, este campo se debe omitir; en caso de que se registre más de un tipo de mercancía a nivel partidas del CFDI, este campo debe existir. - Si el comprobante es de tipo "I" (Ingreso), este campo debe existir, en caso contrario se debe omitir, cuando el campo
bienesTransportadosno exista.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| float | Condicional | 12542.000000 |
claveUnidad Campo condicional 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.
- Si el comprobante es de tipo "T" (Traslado), y si el campo
bienesTransportadosno existe, este campo se debe omitir. - Si el comprobante es de tipo "I" (Ingreso), este campo debe existir, en caso contrario se debe omitir, cuando el campo
bienesTransportadosno exista.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| enum | Condicional | 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".
- Si el valor registrado en el campo
bienesTransportadoscontiene el valor "0,1" o "1" en la columna Material peligroso del catálogo c_ClaveProdServCP publicado en el portal del SAT, este campo debe existir, en caso contrario se debe omitir. - Si el comprobante es de tipo "I" (Ingreso), este campo debe existir, en caso contrario se debe omitir, cuando el campo
bienesTransportadosno exista.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| string | Condicional | Sí No |
No |
claveMaterialPeligroso Campo condicional para registrar la clave del tipo de material peligroso que se transporta.
- Si el valor registrado en el campo
materialPeligrosoes "Sí", este campo debe contener una clave conforme a los disponibles en el catálogo c_MaterialPeligroso del SAT. - Si el valor registrado en el campo
materialPeligrosoes "No", este campo no debe existir.
| 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.
- Este campo debe existir siempre que el campo
claveMaterialPeligrosotenga un valor del catálogo c_MaterialPeligroso publicado en el portal del SAT, en caso contrario este campo no debe existir.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| enum | Condicional | Se muestra en el cátalogo Tipo Embalaje del SAT. Se utiliza la Clave |
4F |
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.
- Si existe la sección TransporteAereo de la sección Mercancias este campo debe contener un valor.
- Para el caso en el que se registre alguna de las siguientes secciones: AutotransporteFederal, TransporteMaritimo o TransporteFerroviario de la sección Mercancias, este campo puede contener un valor.
| 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.
- Si existe la sección TransporteAereo de la sección Mercancias este campo debe contener un valor.
- Para el caso en el que se registre alguna de las siguientes secciones AutotransporteFederal, TransporteMaritimo o TransporteFerroviario de la sección Mercancias, este campo puede contener un valor.
| 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 condicional 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, este dato se vuelve requerido cuando el campo entradaSalidaMercancias contenga información.
- Si el campo TranspInternac contiene el valor "Sí", este campo debe contener alguna de las claves del catálogo del complemento de comercio exterior, c_FraccionArancelaria, en caso de que el campo
transporteInternacionalcontenga el valor "No", este campo no debe existir.
| 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".
- Este campo puede existir siempre que el valor registrado en el campo
transporteInternacionales "Sí" y el campoentradaSalidaMercanciascontiene el valor "Salida" y si la exportación es considerada definitiva (de tipo A1), en caso contrario este campo no debe existir.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Condicional | a54ede92-418c-45df-b8ce-462a0195de51 |
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.
- Si existe más de una sección Destino de la sección Ubicacion, esta sección puede existir, siempre que los bienes o mercancías que se trasladan se recojan en diferentes orígenes o se entreguen en diferentes destinos, en caso de que solo exista una sección Destino de la sección Ubicacion, esta sección no debe existir.
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".
- Si existe el campo
idOrigende la sección Ubicacion, el valor que se registre en este campo debe coincidir con al menos un valor registrado en los camposidOrigende 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.
- Si existe el campo
idDestinode la sección Ubicacion, el valor que se registre en este campo debe coincidir con al menos un valor registrado en los camposidDestinode 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).
- Este campo debe existir solo si hay más de una sección en Mercancia y más de un tipo de transporte, debe contener un valor del catálogo c_CveTransporte del SAT, TransporteMaritimo que corresponde a la clave "02", TransporteAereo con clave "03" o TransporteFerroviario con clave "04", en caso contrario este campo no debe existir.
| 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.
- Esta sección se debe registrar solo si existe una sección TransporteMaritimo de la sección Mercancias, en caso contrario la información de esta sección no debe existir.
unidadPeso 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 |
AutotransporteFederal
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 |
nombreAseguradora Campo requerido para registrar el nombre de la aseguradora que cubre los riesgos del autotransporte utilizado para el traslado de los bienes o mercancías.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Requerido | La Villa Esp0 S A de C V |
numeroPolizaSeguro Campo requerido para registrar el número de póliza asignado por la aseguradora, que cubre los riesgos del autotransporte utilizado para el traslado de los bienes o mercancías.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Requerido | 368-RT-T549 |
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 |
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 | 501&&8 |
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.
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 | T&R&L&00000 |
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 requerido 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 | Requerido | &&-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 |
rfcTransportista Campo opcional para registrar el RFC del transportista de los bienes o mercancías, en caso de que sea diferente del emisor del CFDI.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| int | Opcional | IVD920810GU2 |
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 |
numeroRegistroIdTributarioTransportista Campo condicional para registrar el
número de identificación o registro fiscal del país de residencia para los efectos fiscales del transportista, cuando sea residente en el extranjero.
- Cuando exista el campo
rfcTransportista, este campo se debe omitir. - En caso de que el transportista sea extranjero este campo debe contener un valor, para lo cual se debe identificar el país de residencia para efectos fiscales del transportista, usando la clave del país registrada en el campo
residenciaFiscalTransportista.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| int | Condicional | 121585958 |
residenciaFiscalTransportista Campo condicional para registrar la clave del país de residencia para efectos fiscales del transportista, conforme a los disponibles en el catálogo c_Pais publicado en el portal del SAT.
- Si no se registra valor en el campo
rfcTransportistaeste campo debe contener un valor que corresponda a alguna de las claves del catálogo.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| enum | Condicional | Se muestra en el catálogo de Países del SAT. Se utiliza la Clave |
USA |
nombreTransportista Campo opcional para registrar el nombre del transportista ya sea nacional o extranjero.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Opcional | Rafaeli Camposorio Ruízo |
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.
- Cuando exista el campo
rfcEmbarcador, este campo se debe omitir. - En caso de que el embarcador sea extranjero este campo debe contener un valor, para lo cual se debe identificar el país de residencia para efectos fiscales del embarcador, usando la clave del país registrada en el campo
residenciaFiscalEmbarcador.
| 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.
- Si no se registra valor en el campo
rfcEmbarcadoreste campo debe contener un valor que corresponda a alguna de las claves del catálogo.
| 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.
- La información de este campo debe ser diferente del campo Rfc de la sección Emisor del comprobante y debe estar contenido en la lista de contribuyentes inscritos no cancelados del SAT.
| 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-&&-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.
- Si existe el campo
pesoNetoMercanciade la sección Contenedor de la sección Carro entonces el valor de este campo debe ser igual a la suma de los valores registrados en los campos mencionados; en caso contrario se podrá registrar el valor correspondiente a las toneladas netas que contiene el carro.
| 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": {
"claveTransporte": "01",
"Operadores": [
{
"rfcOperador": "WATM640917J45",
"numeroLicencia": "N14107072",
"nombreOperador": "Nombre Apellido",
"numeroRegistroIdTributarioOperador" :"9562555425",
"residenciaFiscalOperador": "MEX",
"Domicilio": {
"calle": "5 DE MAYO",
"noExterior": "54",
"colonia": "0041",
"localidad": "02",
"referencia": "CERCA DEL FRACC. 5",
"municipio": "002",
"estado": "BCN",
"pais": "MEX",
"cp": "21130"
}
}
],
"Propietario": [
{
"rfcPropietario": "WATM640917J45",
"nombrePropietario": "Nombre Apellido",
"numeroRegistroIdTributarioPropietario": "34534-34534",
"residenciaFiscalPropietario": "MEX",
"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"
}
}
],
"Arrendatario": [
{
"rfcArrendatario": "WATM640917J45",
"nombreArrendatario": "Nombre Apellido",
"numeroRegistroIdTributarioArrendatario": "124578241",
"residenciaFiscalArrendatario": "MEX",
"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"
}
}
],
"Notificado": [
{
"rfcNotificado": "WATM640917J45",
"nombreNotificado": "Nombre Apellido",
"numeroRegistroIdTributarioNotificado": "875424524",
"residenciaFiscalNotificado": "MEX",
"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"
}
}
]
}
}
}
...
}
}
Sección opcional para registrar los datos de la figura del transporte que interviene en el traslado de los bienes o mercancías, cuando el dueño del medio de transporte es diferente del emisor del comprobante con el complemento Carta Porte.
claveTransporte Campo requerido para registra la clave conforme a los disponibles en el catálogo c_CveTransporte del SAT, que identifica el medio por el cual se transportan los bienes o mercancías.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| enum | Requerido | Se muestra en el cátalogo de Transporte del SAT. Se utiliza la Clave |
01 |
Operadores
Sección condicional para indicar los datos del(los) operador(es) del autotransporte de carga federal en el que se trasladan los bienes o mercancías.
- Cuando exista la sección AutotransporteFederal de la sección Mercancía esta sección debe existir, en caso contrario esta sección no debe existir.
- Cuando exista la sección AutotransporteFederal esta sección es requerida para registrar los datos del operador del autotransporte de carga federal en el que se trasladan los bienes o mercancías.
rfcOperador Campo condicional para registrar el RFC del operador del autotransporte de carga federal en el que se trasladan los bienes o mercancías.
- Este campo debe existir siempre que el operador del autotransporte federal sea nacional, en caso contrario se debe omitir este campo.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Condicional | WATM640917J45 |
numeroLicencia Campo condicional para registra el número de folio de la licencia o el permiso otorgado al operador del autotransporte de carga federal en el que se trasladan los bienes o mercancías.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Condicional | 000004 |
nombreOperador Campo opcional para registrar el nombre del operador del autotransporte de carga federal en el que se trasladan los bienes o mercancías.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Opcional | Rafaeli Camposorio Ruízo |
numeroRegistroIdTributarioOperador Campo condicional para registrar el número de identificación o registro fiscal del país de residencia, cuando sea residente en el extranjero.
- Cuando se registre información en el campo
rfcOperador, este campo se debe omitir. - En caso de que el operador sea extranjero este campo debe contener un valor, para lo cual se debe identificar el país de residencia para efectos fiscales del operador, usando la clave del país registrada en el campo
residenciaFiscalOperador.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Condicional | 121585958 |
residenciaFiscalOperador Campo condicional para registrar la clave del país de residencia para efectos fiscales del operador, conforme a los disponibles en el catálogo c_Pais del SAT.
- Si no se registra valor en el campo
rfcOperadory si existe información en el camponumeroRegistroIdTributarioOperador, este campo debe existir y debe contener un valor que corresponda a alguna de las claves del catálogo c_Pais.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| enum | Condicional | Se muestra en el catálogo de Países del SAT. Se utiliza la Clave |
USA |
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.
- Aplican las mismas reglas y estructura que el bloque de
Domicilio Origen/Destinoexcepto por las reglas del campotipoEstacion.
Propietario
Sección condicional para registrar los datos del (los) propietario(s) del medio de transporte, siempre que el emisor del comprobante sea distinto al dueño del transporte.
- Si el comprobante es de tipo “I” (Ingreso), el Emisor del comprobante debe ser distinto al propietario de los medios de transporte por los que se trasladan los bienes o mercancías, en caso contrario esta sección se debe omitir.
rfcPropietario Campo condicional para registrar el RFC del propietario del medio de transporte.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Condicional | COR391215F4A |
nombrePropietario Campo opcional para registrar el nombre del propietario del medio de transporte.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Opcional | Rafael Campos Ruíz |
numeroRegistroIdTributarioPropietario Campo condicional para registrar el número de identificación o registro fiscal del país de residencia, cuando sea residente en el extranjero.
- Cuando se registre información en el campo
rfcPropietario, este campo se debe omitir. - En caso de que el propietario sea extranjero este campo debe contener un valor, para lo cual se debe identificar el país de residencia para efectos fiscales del propietario, usando la clave del país registrada en el campo
residenciaFiscalPropietario.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Condicional | 121585958 |
residenciaFiscalPropietario Campo condicional para registrar la clave del país de residencia a para efectos fiscales del propietario del transporte, conforme a los disponibles en el catálogo c_Pais del SAT.
- Si no se registra valor en el campo
rfcPropietarioy si existe información en el camponumeroRegistroIdTributarioPropietario, este campo debe existir y debe contener un valor que corresponda a alguna de las claves del catálogo c_Pais.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| enum | Condicional | Se muestra en el catálogo de Países del SAT. Se utiliza la Clave |
USA |
Domicilio
Sección opcional para registrar el domicilio del propietario para el traslado de la mercancía.
- Aplican las mismas reglas y estructura que el bloque de
Domicilio Origen/Destinoexcepto por las reglas del campotipoEstacion.
Arrendatario
Sección condicional para indicar los datos del (los) arrendatario(s) del medio de transporte, siempre que el emisor del comprobante sea distinto al dueño del transporte.
- Si el comprobante es de tipo “I” (Ingreso), y el Emisor del comprobante traslada los bienes o mercancías con un medio de transporte arrendado, entonces debe registrar la información que se requiere; en caso contrario esta sección se debe omitir.
rfcArrendatario Campo condicional para registrar el RFC del arrendatario del medio de transporte.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Condicional | WATM640917J45 |
nombreArrendatario Campo opcional para registrar el nombre del arrendatario del medio de transporte.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Opcional | La Villa Esp0 S A de C V |
numeroRegistroIdTributarioArrendatario Campo condicional para registrar el número de identificación o registro fiscal del país de residencia, cuando sea residente en el extranjero.
- Cuando se registre información en el campo
rfcArrendatario, este campo se debe omitir. - En caso de que el arrendatario sea extranjero este campo debe contener un valor, para lo cual se debe identificar el país de residencia para efectos fiscales del arrendatario, usando la clave del país registrada en el campo
residenciaFiscalArrendatario.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Condicional | 121585958 |
residenciaFiscalArrendatario Campo condicional para registrar la clave del país de residencia a para efectos fiscales del arrendatario del transporte, conforme a los disponibles en el catálogo c_Pais del SAT.
- Si no se registra valor en el campo
rfcArrendatarioy si existe información en el camponumeroRegistroIdTributarioArrendatario, este campo debe existir y debe contener un valor que corresponda a alguna de las claves del catálogo c_Pais.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| enum | Condicional | Se muestra en el catálogo de Países del SAT. Se utiliza la Clave |
CAN |
Domicilio
Sección opcional para registrar el domicilio del arrendatario del transporte.
- Aplican las mismas reglas y estructura que el bloque de
Domicilio Origen/Destinoexcepto por las reglas del campotipoEstacion.
Notificado
Sección opcional para indicar los datos de identificación de la(s) persona(s) a quién(es) se debe notificar de la llegada del medio de transporte con los bienes o mercancías que se trasladan.
rfcNotificado Campo condicional para registrar el RFC de la persona a la que se debe notificar del arribo del medio de transporte con los bienes o mercancías que se trasladan.
- En caso de que exista la sección TransporteMaritimo de la sección Mercancias, y la persona a notificar del arribo de la embarcación sea nacional, se debe registrar este campo.
- En caso de que la persona a notificar del arribo sea extranjera este campo se debe omitir.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Condicional | WATM640917J45 |
nombreNotificado Campo opcional para registrar el nombre de la persona a la que se debe notificar del arribo del medio de transporte con los bienes o mercancías que se trasladan.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Opcional | La Villa Esp0 S A de C V |
numeroRegistroIdTributarioNotificado Campo condicional para registrar el número de identificación o registro fiscal del país de residencia para los efectos fiscales de la persona notificada del arribo del medio de transporte, cuando sea residente en el extranjero.
- Cuando se registre información en el campo
rfcNotificado, este campo se debe omitir. - En caso de que el notificado sea extranjero este campo debe contener un valor, para lo cual se debe identificar el país de residencia para efectos fiscales del notificado, usando la clave del país registrada en el campo
residenciaFiscalNotificado.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Condicional | 875498742 |
residenciaFiscalNotificado Campo condicional para registrar la clave del país de residencia para
efectos fiscales de la persona notificada del arribo del transporte, conforme a los disponibles en el catálogo c_Pais del SAT.
- Si no se registra valor en el campo
rfcNotificadoy si existe información en el camponumeroRegistroIdTributarioNotificado, este campo debe existir y debe contener un valor que corresponda a alguna de las claves del catálogo c_Pais.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| enum | Condicional | Se muestra en el catálogo de Países del SAT. Se utiliza la Clave |
MEX |
Domicilio
Sección opcional para registrar el domicilio de la(s) persona(s) a quién(es) se debe notificar de la llegada del medio de transporte con los bienes o mercancías que se trasladan.
- Aplican las mismas reglas y estructura que el bloque de
Domicilio Origen/Destinoexcepto por las reglas del campotipoEstacion.
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-09-01 14:00:48",
"subTotal": "25000.00",
"total": "28000.00",
"tipoMoneda": "MXN",
"rfc": "AAA010101AAA",
"Receptor": {
"rfc": "XAXX010101000",
"nombre": "Receptor S.A. de C.V.",
"usoCfdi": "P01"
},
"Partidas": [
{
"cantidad": "1",
"claveUnidad": "H87",
"claveProdServ": "78101802",
"descripcion": "Servicio de transporte de carga por carretera",
"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": "retencion",
"claveImpuesto": "IVA",
"tipoFactor": "tasa",
"tasaOCuota": "0.040000",
"importe": "1000.00"
},
{
"tipo": "traslado",
"claveImpuesto": "IVA",
"tipoFactor": "tasa",
"tasaOCuota": "0.160000",
"importe": "4000.00"
}
]
},
"DatosDePago": {
"metodoDePago": "PUE",
"formaDePago": "01"
},
"Complementos": {
"CartaPorte": {
"transporteInternacional": "No",
"totalDistanciaRecorrida": "919.7",
"Ubicaciones": [
{
"Origen": {
"rfcRemitente": "XAXX010101000",
"nombreRemitente": "Remitente S. De R.L. De C.V.",
"fechaHoraSalida": "2020-12-02 12:30:00"
},
"Domicilio": {
"calle": "Independencia",
"noExterior": "22",
"noInterior": "33",
"colonia": "0069",
"localidad": "01",
"referencia": "A dos cuadras de",
"municipio": "010",
"estado": "DIF",
"pais": "MEX",
"cp": "01160"
}
},
{
"distanciaRecorrida": "919.7",
"Destino": {
"rfcDestinatario": "XAXX010101000",
"nombreDestinatario": "Destinatario S.A. de C.V.",
"fechaHoraProgLlegada": "2020-12-04 12:30:00"
},
"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": {
"Mercancia": [
{
"bienesTransportados": "25172500",
"descripcion": "NEUMATICOS Y CAMARAS DE NEUMATICOS",
"cantidad": "800",
"claveUnidad": "H87",
"pesoEnKg": "5200.000",
"valorMercancia": "25000",
"moneda": "MXN"
}
],
"AutotransporteFederal": {
"permisoSct": "TPAF01",
"numeroPermisoSct": "0X2XTXZ0X5X0X3X2X1X0",
"nombreAseguradora": "RADELYD SEGUROS",
"numeroPolizaSeguro": "368549",
"IdentificacionVehicular": {
"configuracionVehicular": "T3S1R2",
"placaVehicular": "501SS8",
"anioModeloVehicular": "2015"
},
"Remolques": [
{
"subTipoRemolque": "CTR004",
"placa": "601&&9"
}
]
}
},
"FiguraTransporte": {
"claveTransporte": "01",
"Operadores": [
{
"rfcOperador": "XOJI740919U48",
"numeroLicencia": "N14107072",
"nombreOperador": "Oscar Mendez Benavides",
"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-09-01 08:48:07",
"subTotal": "0",
"total": "0",
"tipoMoneda": "XXX",
"rfc": "AAA010101AAA",
"Receptor": {
"rfc": "XAXX010101000",
"nombre": "Público en general",
"usoCfdi": "P01"
},
"Partidas": [
{
"cantidad": "1",
"claveUnidad": "H87",
"claveProdServ": "78101802",
"descripcion": "Servicio de transporte de carga por carretera",
"valorUnitario": "0.00",
"importe": "0.00"
}
],
"Complementos": {
"CartaPorte": {
"transporteInternacional": "No",
"totalDistanciaRecorrida": "3513.9",
"Ubicaciones": [
{
"Origen": {
"rfcRemitente": "XOJI740919U48",
"nombreRemitente": "Remitente S. De R.L. De C.V.",
"fechaHoraSalida": "2020-12-02 12:30:00"
},
"Domicilio": {
"calle": "Independencia",
"noExterior": "22",
"noInterior": "33",
"colonia": "0069",
"localidad": "01",
"referencia": "Terminal Sur",
"municipio": "010",
"estado": "DIF",
"pais": "MEX",
"cp": "01160"
}
},
{
"distanciaRecorrida": "3513.9",
"Destino": {
"rfcDestinatario": "XOJI740919U48",
"fechaHoraProgLlegada": "2021-10-01 11:49:48"
},
"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": {
"numTotalMercancias": "300",
"Mercancia": [
{
"bienesTransportados": "25172500",
"descripcion": "NEUMATICOS Y CAMARAS DE NEUMATICOS",
"cantidad": "800",
"claveUnidad": "H87",
"pesoEnKg": "52000",
"valorMercancia": "25000",
"moneda": "MXN"
}
],
"AutotransporteFederal": {
"permisoSct": "TPAF02",
"numeroPermisoSct": "0X2XTXZ0X5X0X3X2X1X0",
"nombreAseguradora": "RADELYD SEGUROS",
"numeroPolizaSeguro": "368549",
"IdentificacionVehicular": {
"configuracionVehicular": "T3S1R2",
"placaVehicular": "501&&8",
"anioModeloVehicular": "2015"
},
"Remolques": [
{
"subTipoRemolque": "CTR004",
"placa": "601&&9"
}
]
}
},
"FiguraTransporte": {
"claveTransporte": "01",
"Operadores": [
{
"rfcOperador": "XOJI740919U48",
"numeroLicencia": "N14107072",
"nombreOperador": "Oscar Mendez Benavides",
"Domicilio": {
"calle": "5 DE MAYO",
"noExterior": "54",
"colonia": "0041",
"localidad": "02",
"referencia": "Iglesia san tomas",
"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": {
"versionEF": "6.0",
"serie": "APIFA",
"folioInterno": 1,
"fechaEmision": "2021-09-01 14:00:48",
"subTotal": "25000.00",
"total": "28000.00",
"tipoMoneda": "MXN",
"rfc": "AAA010101AAA",
"Receptor": {
"rfc": "XAXX010101000",
"nombre": "Público en general",
"usoCfdi": "P01"
},
"Partidas": [
{
"cantidad": "1",
"claveUnidad": "H87",
"claveProdServ": "78101802",
"descripcion": "Servicio de transporte de carga por carretera",
"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"
}
],
"InformacionAduanera": {
"numeroPedimento": "15 48 3009 0001234"
}
}
],
"Impuestos": {
"Totales": {
"retenciones": "1000.00",
"traslados": "4000.00"
},
"Impuestos": [
{
"tipo": "retencion",
"claveImpuesto": "IVA",
"tipoFactor": "tasa",
"tasaOCuota": "0.040000",
"importe": "1000.00"
},
{
"tipo": "traslado",
"claveImpuesto": "IVA",
"tipoFactor": "tasa",
"tasaOCuota": "0.160000",
"importe": "4000.00"
}
]
},
"DatosDePago": {
"metodoDePago": "PUE",
"formaDePago": "01"
},
"Complementos": {
"CartaPorte": {
"transporteInternacional": "Sí",
"entradaSalidaMercancias": "Entrada",
"viaEntradaSalida": "02",
"Ubicaciones": [
{
"Origen": {
"idOrigen": "OR000001",
"numeroRegistroIdTributario": "121585958",
"residenciaFiscal": "JPN",
"numeroEstacion": "PM120",
"nombreEstacion": "Estación de la costa Japón",
"navegacionTrafico": "Altura",
"fechaHoraSalida": "2021-06-10 19:10:01"
},
"Domicilio": {
"calle": "1-3 Minatomachi",
"noExterior": "1",
"noInterior": "1",
"localidad": "Chiyoda",
"estado": "Minato Ward",
"pais": "JPN",
"cp": "10-8511"
}
},
{
"tipoEstacion": "02",
"Destino": {
"idDestino": "DE000001",
"numeroEstacion": "PM046",
"navegacionTrafico": "Altura",
"fechaHoraProgLlegada": "2021-06-11 19:10:01"
},
"Domicilio": {
"calle": "Teniente Azueta",
"noExterior": "9",
"noInterior": "1",
"colonia": "0150",
"localidad": "02",
"referencia": "Frente al hotel paris",
"municipio": "007",
"estado": "COL",
"pais": "MEX",
"cp": "28250"
}
},
{
"tipoEstacion": "02",
"Origen": {
"idOrigen": "OR000002",
"numeroEstacion": "PM046",
"navegacionTrafico": "Cabotaje",
"fechaHoraSalida": "2021-06-11 19:10:01"
},
"Domicilio": {
"calle": "Teniente Azueta",
"noExterior": "9",
"noInterior": "1",
"colonia": "0150",
"localidad": "02",
"referencia": "Frente al hotel paris",
"municipio": "007",
"estado": "COL",
"pais": "MEX",
"cp": "28250"
}
},
{
"tipoEstacion": "03",
"Destino": {
"idDestino": "DE000002",
"numeroEstacion": "PM046",
"navegacionTrafico": "Cabotaje",
"fechaHoraProgLlegada": "2021-06-12 19:10:01"
},
"Domicilio": {
"calle": "Colonos Unidos",
"noExterior": "19",
"colonia": "0003",
"localidad": "03",
"referencia": "Al lado izquierdo de pasteleria chavarin",
"municipio": "039",
"estado": "JAL",
"pais": "MEX",
"cp": "44100"
}
}
],
"Mercancias": {
"pesoNetoTotal": "12500",
"Mercancia": [
{
"bienesTransportados": "12131502",
"descripcion": "Cartuchos explosivos",
"cantidad": "1000000",
"claveUnidad": "H87",
"materialPeligroso": "Sí",
"claveMaterialPeligroso": "M0002",
"embalaje": "4C1",
"pesoEnKg": "12500",
"fraccionArancelaria": "8802209900",
"CantidadTransporta": [
{
"cantidad": "1",
"idOrigen": "OR000001",
"idDestino": "DE000001",
"cvesTransporte": "01"
},
{
"cantidad": "1",
"idOrigen": "OR000002",
"idDestino": "DE000002",
"cvesTransporte": "01"
}
],
"DetalleMercancia": {
"unidadPeso": "XCQ",
"pesoBruto": "20500",
"pesoNeto": "12500",
"pesoTara": "8000",
"numeroPiezas": "1000000"
}
}
],
"TransporteMaritimo": {
"permisoSct": "TPTM01",
"numeroPermisoSct": "00Z00X00Z00X0",
"nombreAseguradora": "Seguros de carga",
"numeroPolizaSeguro": "ZRC2018-COTTON LTDA",
"tipoEmbarcacion": "B07",
"matricula": "BA412678",
"numeroOmi": "IMO8655748",
"anioEmbarcacion": "2000",
"nombreEmbarcacion": "Cometín&",
"nacionalidadEmbarcacion": "MEX",
"unidadesDeArqueoBruto": "7582.023",
"tipoCarga": "CGC",
"numeroCertificadoItc": "00X00X00X85",
"eslora": "190.05",
"manga": "48.24",
"calado": "15.66",
"lineaNaviera": "TransportadoraFloAbra",
"nombreAgenteNaviero": "Ranferi Posadin Romero",
"numeroAutorizacionNaviero": "SCT418/029/2020",
"numeroViaje": "65248",
"numeroConocimientoEmbarque": "84595",
"Contenedor": [
{
"matriculaContenedor": "T&R&L&0000000",
"tipoContenedor": "CM005",
"numeroPrecinto": "53&&745"
}
]
}
},
"FiguraTransporte": {
"claveTransporte": "02",
"Notificado": [
{
"rfcNotificado": "XIA190128J61",
"nombreNotificado": "Notificador SA DE CV",
"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": {
"versionEF": "6.0",
"serie": "CP",
"folioInterno": 1,
"fechaEmision": "2021-09-01 08:48:07",
"subTotal": "0",
"total": "0",
"tipoMoneda": "XXX",
"rfc": "AAA010101AAA",
"Receptor": {
"rfc": "XAXX010101000",
"nombre": "Público en general",
"usoCfdi": "P01"
},
"Partidas": [
{
"cantidad": "1",
"claveUnidad": "H87",
"claveProdServ": "78101802",
"descripcion": "Servicio de transporte de carga por carretera",
"valorUnitario": "0.00",
"importe": "0.00",
"InformacionAduanera": {
"numeroPedimento": "15 48 3009 0001234"
}
}
],
"Complementos": {
"CartaPorte": {
"transporteInternacional": "Sí",
"entradaSalidaMercancias": "Entrada",
"viaEntradaSalida": "02",
"Ubicaciones": [
{
"Origen": {
"idOrigen": "OR000001",
"numeroRegistroIdTributario": "121585958",
"residenciaFiscal": "JPN",
"numeroEstacion": "PM120",
"nombreEstacion": "Estación de la costa Japón",
"navegacionTrafico": "Altura",
"fechaHoraSalida": "2021-06-10 19:10:01"
},
"Domicilio": {
"calle": "1-3 Minatomachi",
"noExterior": "1",
"noInterior": "1",
"localidad": "Chiyoda",
"estado": "Minato Ward",
"pais": "JPN",
"cp": "10-8511"
}
},
{
"tipoEstacion": "02",
"Destino": {
"idDestino": "DE000001",
"numeroEstacion": "PM046",
"navegacionTrafico": "Altura",
"fechaHoraProgLlegada": "2021-06-11 19:10:01"
},
"Domicilio": {
"calle": "Teniente Azueta",
"noExterior": "9",
"noInterior": "1",
"colonia": "0150",
"localidad": "02",
"referencia": "Frente al hotel paris",
"municipio": "007",
"estado": "COL",
"pais": "MEX",
"cp": "28250"
}
},
{
"tipoEstacion": "02",
"Origen": {
"idOrigen": "OR000002",
"numeroEstacion": "PM046",
"navegacionTrafico": "Cabotaje",
"fechaHoraSalida": "2021-06-11 19:10:01"
},
"Domicilio": {
"calle": "Teniente Azueta",
"noExterior": "9",
"noInterior": "1",
"colonia": "0150",
"localidad": "02",
"referencia": "Frente al hotel paris",
"municipio": "007",
"estado": "COL",
"pais": "MEX",
"cp": "28250"
}
},
{
"tipoEstacion": "03",
"Destino": {
"idDestino": "DE000002",
"numeroEstacion": "PM046",
"navegacionTrafico": "Cabotaje",
"fechaHoraProgLlegada": "2021-06-12 19:10:01"
},
"Domicilio": {
"calle": "Colonos Unidos",
"noExterior": "19",
"colonia": "0003",
"localidad": "03",
"referencia": "Al lado izquierdo de pasteleria chavarin",
"municipio": "039",
"estado": "JAL",
"pais": "MEX",
"cp": "44100"
}
}
],
"Mercancias": {
"pesoNetoTotal": "12500",
"Mercancia": [
{
"bienesTransportados": "12131502",
"descripcion": "Cartuchos explosivos",
"cantidad": "1000000",
"claveUnidad": "H87",
"materialPeligroso": "Sí",
"claveMaterialPeligroso": "M0002",
"embalaje": "4C1",
"pesoEnKg": "12500",
"fraccionArancelaria": "8802209900",
"CantidadTransporta": [
{
"cantidad": "1",
"idOrigen": "OR000001",
"idDestino": "DE000001",
"cvesTransporte": "01"
},
{
"cantidad": "1",
"idOrigen": "OR000002",
"idDestino": "DE000002",
"cvesTransporte": "01"
}
],
"DetalleMercancia": {
"unidadPeso": "XCQ",
"pesoBruto": "20500",
"pesoNeto": "12500",
"pesoTara": "8000",
"numeroPiezas": "1000000"
}
}
],
"TransporteMaritimo": {
"permisoSct": "TPTM01",
"numeroPermisoSct": "00Z00X00Z00X0",
"nombreAseguradora": "Seguros de carga",
"numeroPolizaSeguro": "ZRC2018-COTTON LTDA",
"tipoEmbarcacion": "B07",
"matricula": "BA412678",
"numeroOmi": "IMO8655748",
"anioEmbarcacion": "2000",
"nombreEmbarcacion": "Cometín&",
"nacionalidadEmbarcacion": "MEX",
"unidadesDeArqueoBruto": "7582.023",
"tipoCarga": "CGC",
"numeroCertificadoItc": "00X00X00X85",
"eslora": "190.05",
"manga": "48.24",
"calado": "15.66",
"lineaNaviera": "TransportadoraFloAbra",
"nombreAgenteNaviero": "Ranferi Posadin Romero",
"numeroAutorizacionNaviero": "SCT418/029/2020",
"numeroViaje": "65248",
"numeroConocimientoEmbarque": "84595",
"Contenedor": [
{
"matriculaContenedor": "T&R&L&0000000",
"tipoContenedor": "CM005",
"numeroPrecinto": "53&&745"
}
]
}
},
"FiguraTransporte": {
"claveTransporte": "02",
"Notificado": [
{
"rfcNotificado": "XIA190128J61",
"nombreNotificado": "Notificadora SA DE CV",
"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 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": {
"versionEF": "6.0",
"serie": "FA",
"folioInterno": 1,
"fechaEmision": "2021-09-01 14:00:48",
"subTotal": "25000.00",
"total": "28000.00",
"tipoMoneda": "MXN",
"rfc": "AAA010101AAA",
"Receptor": {
"rfc": "XAXX010101000",
"nombre": "Receptor S.A. de C.V.",
"usoCfdi": "P01"
},
"Partidas": [
{
"cantidad": "1",
"claveUnidad": "H87",
"claveProdServ": "78101802",
"descripcion": "Servicio de transporte de carga por carretera",
"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": "retencion",
"claveImpuesto": "IVA",
"tipoFactor": "tasa",
"tasaOCuota": "0.040000",
"importe": "1000.00"
},
{
"tipo": "traslado",
"claveImpuesto": "IVA",
"tipoFactor": "tasa",
"tasaOCuota": "0.160000",
"importe": "4000.00"
}
]
},
"DatosDePago": {
"metodoDePago": "PUE",
"formaDePago": "01"
},
"Complementos": {
"CartaPorte": {
"transporteInternacional": "No",
"Ubicaciones": [
{
"tipoEstacion": "01",
"Origen": {
"rfcRemitente": "XAXX010101000",
"nombreRemitente": "Remitente S. De R.L. De C.V.",
"numeroEstacion": "EA449",
"nombreEstacion": "Aereopuerto Norte",
"fechaHoraSalida": "2021-06-10 19:10:01"
},
"Domicilio": {
"calle": "Carretera a Nuevo Laredo",
"noExterior": "10",
"noInterior": "1",
"colonia": "1354",
"localidad": "01",
"referencia": "Frente a la Iglesia San Jose",
"municipio": "006",
"estado": "NLE",
"pais": "MEX",
"cp": "66600"
}
},
{
"tipoEstacion": "03",
"Destino": {
"numeroEstacion": "EA426",
"nombreEstacion": "Benito Juárez",
"fechaHoraProgLlegada": "2021-06-11 19:10:01"
},
"Domicilio": {
"calle": "San Pablo",
"noExterior": "35",
"noInterior": "06",
"colonia": "3727",
"localidad": "05",
"referencia": "Frente Jumex",
"municipio": "033",
"estado": "MEX",
"pais": "MEX",
"cp": "55330"
}
}
],
"Mercancias": {
"pesoBrutoTotal": "1200",
"unidadPeso": "KGM",
"cargoPorTasacion": "0",
"Mercancia": [
{
"bienesTransportados": "25172500",
"descripcion": "Neumaticos y camaras de neumaticos",
"cantidad": "800",
"claveUnidad": "H87",
"pesoEnKg": "5200.000",
"valorMercancia": "25000",
"moneda": "MXN"
}
],
"TransporteAereo": {
"permisoSct": "TPTA01",
"numeroPermisoSct": "00Z00X00Z00X00Z00ZX1",
"matriculaAeronave": "X1XMEX",
"nombreAseguradora": "Seguros de carga",
"numeroPolizaSeguro": "ZRC2018-COTTON LTDA",
"numeroGuia": "803117555500",
"lugarContrato": "01",
"rfcTransportista": "XAXX010101000",
"codigoTransportista": "CA148",
"nombreTransportista": "Pedro Salvador Alva",
"rfcEmbarcador": "XAXX010101000",
"nombreEmbarcador": "Maria Cuevas Salinas"
}
},
"FiguraTransporte": {
"claveTransporte": "02",
"Arrendatario": [
{
"rfcArrendatario": "XOJI740919U48",
"nombreArrendatario": "Arrendadora SA DE CV",
"Domicilio": {
"calle": "San Lorenzo",
"noExterior": "8",
"noInterior": "2",
"colonia": "0004",
"localidad": "02",
"referencia": "Frente tienda Dani",
"municipio": "019",
"estado": "CHH",
"pais": "MEX",
"cp": "31008"
}
}
]
}
}
}
}
}
Comprobante de traslado para transporte aéreo - Request:
{
"CFDi":{
"versionEF":"6.0",
"serie":"CP",
"folioInterno":1,
"fechaEmision":"2021-09-01 08:48:07",
"subTotal":"0",
"total":"0",
"tipoMoneda":"XXX",
"rfc":"AAA010101AAA",
"Receptor":{
"rfc":"XAXX010101000",
"nombre":"Público en general",
"usoCfdi":"P01"
},
"Partidas":[{
"cantidad":"1",
"claveUnidad":"H87",
"claveProdServ":"78101802",
"descripcion":"Servicio de transporte de carga por carretera",
"valorUnitario":"0.00",
"importe":"0.00"
}],
"Complementos": {
"CartaPorte": {
"transporteInternacional": "No",
"Ubicaciones": [
{
"tipoEstacion": "01",
"Origen": {
"rfcRemitente": "XOJI740919U48",
"nombreRemitente": "Remitente S. De R.L. De C.V.",
"numeroEstacion": "EA449",
"nombreEstacion": "Aereopuerto Norte",
"fechaHoraSalida": "2021-06-10 19:10:01"
},
"Domicilio": {
"calle": "Carretera a Nuevo Laredo",
"noExterior": "10",
"noInterior": "1",
"colonia": "1354",
"localidad": "01",
"referencia": "Frente a la Iglesia San Jose",
"municipio": "006",
"estado": "NLE",
"pais": "MEX",
"cp": "66600"
}
},
{
"tipoEstacion": "03",
"Destino": {
"numeroEstacion": "EA426",
"nombreEstacion": "Benito Juárez",
"fechaHoraProgLlegada": "2021-06-11 19:10:01"
},
"Domicilio": {
"calle": "San Pablo",
"noExterior": "35",
"noInterior": "06",
"colonia": "3727",
"localidad": "05",
"referencia": "Frente Jumex",
"municipio": "033",
"estado": "MEX",
"pais": "MEX",
"cp": "55330"
}
}
],
"Mercancias": {
"pesoBrutoTotal": "1200",
"unidadPeso": "KGM",
"cargoPorTasacion": "0",
"Mercancia": [
{
"bienesTransportados": "25172500",
"descripcion": "NEUMATICOS Y CAMARAS DE NEUMATICOS",
"cantidad": "800",
"claveUnidad": "H87",
"pesoEnKg": "5200.000",
"valorMercancia": "25000",
"moneda": "MXN"
}
],
"TransporteAereo": {
"permisoSct": "TPTA01",
"numeroPermisoSct": "00Z00X00Z00X00Z00ZX1",
"matriculaAeronave": "X1XMEX",
"nombreAseguradora": "Seguros de carga",
"numeroPolizaSeguro": "ZRC2018-COTTON LTDA",
"numeroGuia": "803117555500",
"lugarContrato": "Jalisco",
"rfcTransportista": "XAXX010101000",
"codigoTransportista": "CA148",
"nombreTransportista": "Pedro Salvador Alva",
"rfcEmbarcador": "XAXX010101000",
"nombreEmbarcador": "Maria Cuevas Salinas"
}
},
"FiguraTransporte": {
"claveTransporte": "02"
}
}
}
}
}
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": {
"versionEF": "6.0",
"serie": "FA",
"folioInterno": 1,
"fechaEmision": "2021-08-02 14:00:48",
"subTotal": "25000.00",
"total": "28000.00",
"tipoMoneda": "MXN",
"rfc": "AAA010101AAA",
"Receptor": {
"rfc": "XAXX010101000",
"nombre": "Receptor S.A. de C.V.",
"usoCfdi": "P01"
},
"Partidas": [
{
"cantidad": "1",
"claveUnidad": "H87",
"claveProdServ": "78101802",
"descripcion": "Servicio de transporte de carga por carretera",
"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"
}
],
"InformacionAduanera": {
"numeroPedimento": "15 48 3009 0001234"
}
}
],
"Impuestos": {
"Totales": {
"retenciones": "1000.00",
"traslados": "4000.00"
},
"Impuestos": [
{
"tipo": "retencion",
"claveImpuesto": "IVA",
"tipoFactor": "tasa",
"tasaOCuota": "0.040000",
"importe": "1000.00"
},
{
"tipo": "traslado",
"claveImpuesto": "IVA",
"tipoFactor": "tasa",
"tasaOCuota": "0.160000",
"importe": "4000.00"
}
]
},
"DatosDePago": {
"metodoDePago": "PUE",
"formaDePago": "01"
},
"Complementos": {
"CartaPorte": {
"transporteInternacional": "No",
"totalDistanciaRecorrida": "12",
"Ubicaciones": [
{
"tipoEstacion": "01",
"Origen": {
"idOrigen": "OR000001",
"rfcRemitente": "XAXX010101000",
"nombreRemitente": "Remitente S. De R.L. De C.V.",
"numeroEstacion": "EF001",
"fechaHoraSalida": "2020-12-02 12:30:00"
},
"Domicilio": {
"calle": "Hidalgo",
"noExterior": "321",
"noInterior": "1",
"colonia": "0716",
"localidad": "06",
"referencia": "Frente a la tienda la zona",
"municipio": "025",
"estado": "COA",
"pais": "MEX",
"cp": "26000"
}
},
{
"tipoEstacion": "01",
"distanciaRecorrida": "2",
"Destino": {
"idDestino": "DE000001",
"numeroEstacion": "EF002",
"rfcDestinatario": "XAXX010101000",
"nombreDestinatario": "Destinatario Uno S. De R.L. De C.V.",
"fechaHoraProgLlegada": "2021-07-03 03:10:01"
},
"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"
}
},
{
"tipoEstacion": "01",
"distanciaRecorrida": "2",
"Destino": {
"idDestino": "DE000002",
"numeroEstacion": "EF002",
"rfcDestinatario": "XAXX010101000",
"nombreDestinatario": "Destinatario 2 S. De R.L. De C.V.",
"fechaHoraProgLlegada": "2021-07-07 01:10:01"
},
"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"
}
},
{
"tipoEstacion": "01",
"distanciaRecorrida": "2",
"Destino": {
"idDestino": "DE000003",
"numeroEstacion": "EF002",
"rfcDestinatario": "XAXX010101000",
"nombreDestinatario": "Destinatario tres S. De R.L. De C.V.",
"fechaHoraProgLlegada": "2021-07-03 13:10:01"
},
"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"
}
},
{
"tipoEstacion": "01",
"distanciaRecorrida": "2",
"Destino": {
"idDestino": "DE000004",
"numeroEstacion": "EF002",
"rfcDestinatario": "XAXX010101000",
"nombreDestinatario": "Destinatario Cuatro S. De R.L. De C.V.",
"fechaHoraProgLlegada": "2021-07-03 23:10:01"
},
"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"
}
},
{
"tipoEstacion": "01",
"distanciaRecorrida": "2",
"Destino": {
"idDestino": "DE000005",
"numeroEstacion": "EF002",
"rfcDestinatario": "XAXX010101000",
"nombreDestinatario": "Destinatario 5 S. De R.L. De C.V.",
"fechaHoraProgLlegada": "2021-07-04 01:10:01"
},
"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"
}
},
{
"tipoEstacion": "01",
"distanciaRecorrida": "2",
"Destino": {
"idDestino": "DE000006",
"numeroEstacion": "EF002",
"rfcDestinatario": "XAXX010101000",
"nombreDestinatario": "Destinatario seis S.A. de C.V.",
"fechaHoraProgLlegada": "2021-07-04 07:10:01"
},
"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": "1000.001",
"unidadPeso": "XCQ",
"pesoNetoTotal": "1.000",
"Mercancia": [
{
"bienesTransportados": "12131502",
"claveStcc": "2892",
"descripcion": "Cartuchos explosivos",
"cantidad": "1",
"claveUnidad": "H87",
"materialPeligroso": "Sí",
"claveMaterialPeligroso": "M0002",
"embalaje": "4C1",
"pesoEnKg": "1.000",
"valorMercancia": "1.000",
"moneda": "MXN",
"CantidadTransporta": [
{
"cantidad": "1",
"idOrigen": "OR000001",
"idDestino": "DE000001",
"cvesTransporte": "01"
},
{
"cantidad": "1",
"idOrigen": "OR000001",
"idDestino": "DE000002",
"cvesTransporte": "01"
},
{
"cantidad": "1",
"idOrigen": "OR000001",
"idDestino": "DE000003",
"cvesTransporte": "01"
},
{
"cantidad": "1",
"idOrigen": "OR000001",
"idDestino": "DE000004",
"cvesTransporte": "01"
},
{
"cantidad": "1",
"idOrigen": "OR000001",
"idDestino": "DE000005",
"cvesTransporte": "01"
},
{
"cantidad": "1",
"idOrigen": "OR000001",
"idDestino": "DE000006",
"cvesTransporte": "01"
}
]
}
],
"TransporteFerroviario": {
"tipoDeServicio": "TS01",
"nombreAseguradora": "Seguro de carga",
"numeroPolizaSeguro": "ZRC2008-COTTON",
"concesionario": "XIA190128J61",
"DerechosDePaso": [
{
"tipoDerechoDePaso": "CDP055",
"kilometrajePagado": "1.000"
}
],
"Carro": [
{
"tipoCarro": "TC01",
"matriculaCarro": "5001-AA-8",
"guiaCarro": "123456969012345",
"toneladasNetasCarro": "1.000",
"Contenedor": [
{
"tipoContenedor": "TC01",
"pesoContenedorVacio": "0.001",
"pesoNetoMercancia": "1000.000"
}
]
}
]
}
}
}
}
}
}
Comprobante de traslado para transporte ferroviario - Request:
{
"CFDi": {
"versionEF": "6.0",
"serie": "CP",
"folioInterno": 1,
"fechaEmision": "2021-08-03 08:48:07",
"subTotal": "0",
"total": "0",
"tipoMoneda": "XXX",
"rfc": "AAA010101AAA",
"Receptor": {
"rfc": "XAXX010101000",
"nombre": "Público en general",
"usoCfdi": "P01"
},
"Partidas": [
{
"cantidad": "1",
"claveUnidad": "H87",
"claveProdServ": "78101802",
"descripcion": "Servicio de transporte de carga por carretera",
"valorUnitario": "0.00",
"importe": "0.00"
}
],
"Complementos": {
"CartaPorte": {
"transporteInternacional": "No",
"totalDistanciaRecorrida": "12",
"Ubicaciones": [
{
"tipoEstacion": "01",
"Origen": {
"idOrigen": "OR000001",
"rfcRemitente": "XOJI740919U48",
"nombreRemitente": "Remitente S. De R.L. De C.V.",
"numeroEstacion": "EF001",
"fechaHoraSalida": "2020-12-02 12:30:00"
},
"Domicilio": {
"calle": "Hidalgo",
"noExterior": "321",
"noInterior": "1",
"colonia": "0716",
"localidad": "06",
"referencia": "Frente a la tienda la zona",
"municipio": "025",
"estado": "COA",
"pais": "MEX",
"cp": "26000"
}
},
{
"tipoEstacion": "01",
"distanciaRecorrida": "2",
"Destino": {
"idDestino": "DE000001",
"numeroEstacion": "EF002",
"rfcDestinatario": "XOJI740919U48",
"nombreDestinatario": "Destinatario Uno S. De R.L. De C.V.",
"fechaHoraProgLlegada": "2021-07-03 03:10:01"
},
"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"
}
},
{
"tipoEstacion": "01",
"distanciaRecorrida": "2",
"Destino": {
"idDestino": "DE000002",
"numeroEstacion": "EF002",
"rfcDestinatario": "XOJI740919U48",
"nombreDestinatario": "Destinatario Dos S. De R.L. De C.V.",
"fechaHoraProgLlegada": "2021-07-07 01:10:01"
},
"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"
}
},
{
"tipoEstacion": "01",
"distanciaRecorrida": "2",
"Destino": {
"idDestino": "DE000003",
"numeroEstacion": "EF002",
"rfcDestinatario": "XOJI740919U48",
"nombreDestinatario": "Destinatario Tres S. De R.L. De C.V.",
"fechaHoraProgLlegada": "2021-07-03 13:10:01"
},
"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"
}
},
{
"tipoEstacion": "01",
"distanciaRecorrida": "2",
"Destino": {
"idDestino": "DE000004",
"numeroEstacion": "EF002",
"rfcDestinatario": "XOJI740919U48",
"nombreDestinatario": "Destinatario Cuatro S. De R.L. De C.V.",
"fechaHoraProgLlegada": "2021-07-03 23:10:01"
},
"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"
}
},
{
"tipoEstacion": "01",
"distanciaRecorrida": "2",
"Destino": {
"idDestino": "DE000005",
"numeroEstacion": "EF002",
"rfcDestinatario": "XOJI740919U48",
"nombreDestinatario": "Destinatario Cinco S. De R.L. De C.V.",
"fechaHoraProgLlegada": "2021-07-04 01:10:01"
},
"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"
}
},
{
"tipoEstacion": "01",
"distanciaRecorrida": "2",
"Destino": {
"idDestino": "DE000006",
"numeroEstacion": "EF002",
"rfcDestinatario": "XOJI740919U48",
"nombreDestinatario": "Destinatario Seis S. De R.L. De C.V.",
"fechaHoraProgLlegada": "2021-07-04 07:10:01"
},
"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": "1000.001",
"unidadPeso": "XCQ",
"pesoNetoTotal": "1.000",
"Mercancia": [
{
"bienesTransportados": "12131502",
"claveStcc": "2892",
"descripcion": "Cartuchos explosivos",
"cantidad": "1",
"claveUnidad": "H87",
"materialPeligroso": "Sí",
"claveMaterialPeligroso": "M0002",
"embalaje": "4C1",
"pesoEnKg": "1.000",
"valorMercancia": "1.000",
"moneda": "MXN",
"CantidadTransporta": [
{
"cantidad": "1",
"idOrigen": "OR000001",
"idDestino": "DE000001",
"cvesTransporte": "01"
},
{
"cantidad": "1",
"idOrigen": "OR000001",
"idDestino": "DE000002",
"cvesTransporte": "01"
},
{
"cantidad": "1",
"idOrigen": "OR000001",
"idDestino": "DE000003",
"cvesTransporte": "01"
},
{
"cantidad": "1",
"idOrigen": "OR000001",
"idDestino": "DE000004",
"cvesTransporte": "01"
},
{
"cantidad": "1",
"idOrigen": "OR000001",
"idDestino": "DE000005",
"cvesTransporte": "01"
},
{
"cantidad": "1",
"idOrigen": "OR000001",
"idDestino": "DE000006",
"cvesTransporte": "01"
}
]
}
],
"TransporteFerroviario": {
"tipoDeServicio": "TS01",
"nombreAseguradora": "Seguro de carga",
"numeroPolizaSeguro": "ZRC2008-COTTON",
"concesionario": "XIA190128J61",
"DerechosDePaso": [
{
"tipoDerechoDePaso": "CDP055",
"kilometrajePagado": "1.000"
}
],
"Carro": [
{
"tipoCarro": "TC01",
"matriculaCarro": "5001-AA-8",
"guiaCarro": "123456969012345",
"toneladasNetasCarro": "1.000",
"Contenedor": [
{
"tipoContenedor": "TC01",
"pesoContenedorVacio": "0.001",
"pesoNetoMercancia": "1000.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.
Complemento de Carta Porte 2.0
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": {
"transporteInternacional": "Sí",
"entradaSalidaMercancias": "Entrada",
"paisOrigenDestino": "CAN",
"viaEntradaSalida": "01",
"totalDistanciaRecorrida": "919.7",
...
Es un objeto requerido que agrupa la información del complemento.
transporteInternacional Campo requerido para registrar si los bienes o mercancías que son transportadas, ingresan o salen del territorio nacional.
- Si este campo contiene el valor "Sí" se debe registrar información en
los campos
entradaSalidaMercanciasyviaEntradaSalida. - Si este campo contiene el valor "No" los campos
entradaSalidaMercanciasyviaEntradaSalidano deben existir. - Si este campo contiene el valor "No", y el comprobante es de tipo "I" (Ingreso) y si existe la sección AutotransporteFederal de la sección Mercancías entonces debe existir información en las secciones Traslados y Retenciones de la sección Partidas a nivel CFDI.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| string | Requerido | Sí 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.
- Si existe la sección AutotransporteFederal o TransporteFerroviario de la sección Mercancias, este campo debe contener un valor; en caso de que no exista alguna de las secciones antes mencionadas, este campo no debe existir.
- El valor registrado deberá corresponder con la suma de los campos distanciaRecorrida de la sección Ubicacion, siempre que existan las secciones Origen y Destino con un solo Domicilio o solo la sección Destino de la sección Ubicacion.
| 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.
- Cuando tipoUbicacion sea Origen estará compuesto de la siguiente forma: el acrónimo "OR" seguido de 6 dígitos numéricos asignados por el contribuyente que emite el comprobante para su identificación.
- Cuando tipoUbicacion sea Destino estará compuesto de la siguiente forma: el acrónimo "DE" seguido de 6 dígitos numéricos asignados por el contribuyente que emite el comprobante para su identificación.
- Si existe la sección CantidadTransporta de la sección Mercancias este campo debe existir, en caso contrario dicho campo no debe existir.
| 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.
- Si el campo
rfcRemitentees el mismo que el RFC emisor este campo se puede omitir, en caso de que el remitente sea extranjero este campo debe contener un valor, para lo cual se debe identificar el país de residencia para efectos fiscales del remitente usando la clave del país registrada en el camporesidenciaFiscalde esta sección.
| 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.
- Si se registra información en el campo
numeroRegistroIdTributariode esta sección, este campo debe existir, en caso contrario este campo no debe existir.
| 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.
- Si el campo
transporteInternacionalcontiene el valor "No" y si existe la sección TransporteFerroviario, TransporteMaritimo o TransporteAereo de la sección Mercancias, este campo se debe registrar y debe contener una clave conforme a las disponibles en el catálogo c_TipoEstacion del SAT. - En otro caso, si el campo
transporteInternacionalcontiene el valor "Sí" este campo no debe registrarse siempre que el Origen o Destino de los bienes o mercancías sea fuera de territorio nacional, por lo que el campopaisde la sección Ubicacion debe contener una clave distinta de "MEX", en caso contrario se debe registrar una clave conforme a las disponibles en el catálogo c_TipoEstacion del SAT.
| 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.
- Si solo existe una sección AutotransporteFederal de la sección Mercancias, este campo no debe existir.
- En caso de que exista la sección TransporteMaritimo, que corresponde a la clave "02", TransporteAereo con clave "03" o TransporteFerroviario con clave "04" de la columna Clave transporte del catálogo c_Estaciones este campo debe contener un valor de la columna clave identificación que corresponde al mismo catálogo.
| 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".
- Si existe la sección TransporteMaritimo de la sección Mercancias, este campo debe contener un valor, en caso contrario este campo no debe existir.
| 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.
- Si existe la sección AutotransporteFederal o TransporteFerroviario de la sección Mercancias, y la sección Destino de la sección Ubicacion, este campo será requerido.
- Si existe la sección AutotransporteFederal y la secciones Origen y Destino, corresponden al mismo domicilio ubicado en la sección Ubicacion, este campo será requerido.
| 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.
- Si existe el campo
tipoEstacionde la sección Ubicacion con valor "02" (Intermedia), y la sección TransporteFerroviario de la sección Mercancias, esta sección no debe existir. - Si existe el campo
tipoEstacionde la sección Ubicacion con valor "01" (Origen Nacional) o "03" (Destino Final Nacional) se debe registrar esta sección.
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.
- Si la clave del país es distinta a "MEX", se debe registrar texto libre, en caso contrario este campo se vuelve requerido y debe contener una clave conforme a los disponibles en el catálogo c_Colonia del SAT donde la columna c_CodigoPostal debe ser igual a la clave registrada en el campo
cp.
| 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.
- Si la clave del país es distinta a "MEX" se debe registrar texto libre.
- Si la clave del país es “MEX” este campo se vuelve requerido y debe contener una clave conforme a los disponibles en el catálogo c_Localidad del SAT, donde la columna c_Estado, tiene el valor seleccionado en el campo
estado.
| 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.
- Si la clave del país es distinta a "MEX", se debe registrar texto libre; en caso contrario este campo se vuelve requerido y debe contener una clave conforme a los disponibles en el catálogo c_Municipio del SAT donde la columna c_Estado, debe ser igual a la clave registrada en el campo
estado.
| 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.
- Si la clave del país es distinta a "MEX", "USA" o "CAN", se debe registrar texto libre; en caso contrario el campo Estado debe contener una clave conforme a los disponibles en el catálogo c_Estado del SAT, donde la columna c_Pais tenga el valor "MEX", "USA" o "CAN".
| 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.
- Si la clave del país es distinta a "MEX", se debe registrar texto libre; en caso contrario el campo
cpdebe contener una clave conforme a los disponibles en el catálogo c_CodigoPostal del SAT, donde la clave de la columna c_Estado, debe ser igual a la clave registrada en el campoestado, la columna c_Municipio, debe ser igual a la clave registrada en el campomunicipio, y si existe el campo de Localidad, la columna de clave c_Localidad, debe ser igual a la clave registrada en el campolocalidad.
| 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",
"Pedimentos" : [
{
"pedimento" : "20 47 3807 8003832"
}
],
"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"
},
"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.
- Se debe validar que al menos se registre una sección AutortransporteFederal, TransporteMaritimo, TransporteAereo o TransporteFerroviario en esta sección.
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 para registrar la suma de los valores registrados en el campo pesoNeto de la sección DetalleMercancia de la sección Mercancia.
| 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 |
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".
- Si el valor registrado en el campo
bienesTransportadoscontiene el valor "0,1" o "1" en la columna Material peligroso del catálogo c_ClaveProdServCP publicado en el portal del SAT, este campo debe existir, en caso contrario se debe omitir. - Si el comprobante es de tipo "I" (Ingreso), este campo debe existir, en caso contrario se debe omitir, cuando el campo
bienesTransportadosno exista.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| string | Condicional | Sí No |
No |
claveMaterialPeligroso Campo condicional para registrar la clave del tipo de material peligroso que se transporta.
- Si el valor registrado en el campo
materialPeligrosoes "Sí", este campo debe contener una clave conforme a los disponibles en el catálogo c_MaterialPeligroso del SAT. - Si el valor registrado en el campo
materialPeligrosoes "No", este campo no debe existir.
| 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.
- Este campo debe existir siempre que el campo
claveMaterialPeligrosotenga un valor del catálogo c_MaterialPeligroso publicado en el portal del SAT, en caso contrario este campo no debe existir.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| enum | Condicional | Se muestra en el cátalogo Tipo Embalaje del SAT. Se utiliza la Clave |
4F |
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.
- Si existe la sección TransporteAereo de la sección Mercancias este campo debe contener un valor.
- Para el caso en el que se registre alguna de las siguientes secciones: AutotransporteFederal, TransporteMaritimo o TransporteFerroviario de la sección Mercancias, este campo puede contener un valor.
| 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.
- Si existe la sección TransporteAereo de la sección Mercancias este campo debe contener un valor.
- Para el caso en el que se registre alguna de las siguientes secciones AutotransporteFederal, TransporteMaritimo o TransporteFerroviario de la sección Mercancias, este campo puede contener un valor.
| 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 condicional 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, este dato se vuelve requerido cuando el campo entradaSalidaMercancias contenga información.
- Si el campo TranspInternac contiene el valor "Sí", este campo debe contener alguna de las claves del catálogo del complemento de comercio exterior, c_FraccionArancelaria, en caso de que el campo
transporteInternacionalcontenga el valor "No", este campo no debe existir.
| 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".
- Este campo puede existir siempre que el valor registrado en el campo
transporteInternacionales "Sí" y el campoentradaSalidaMercanciascontiene el valor "Salida" y si la exportación es considerada definitiva (de tipo A1), en caso contrario este campo no debe existir.
| Tipo de Dato | Ocurrencia | Ejemplo |
|---|---|---|
| string | Condicional | a54ede92-418c-45df-b8ce-462a0195de51 |
Pedimentos
Sección condicional para registrar la información del(los) número(s) de pedimento(s) de importación que se encuentra(n) asociado(s) 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.
- Se debe incluir cuando el campo transporteInternacional contenga el valor "Si" y el campo entradaSalidaMercancias contenga el valor "Entrada".
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 |
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.
- Si existe más de una sección Destino de la sección Ubicacion, esta sección puede existir, siempre que los bienes o mercancías que se trasladan se recojan en diferentes orígenes o se entreguen en diferentes destinos, en caso de que solo exista una sección Destino de la sección Ubicacion, esta sección no debe existir.
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".
- Si existe el campo
idOrigende la sección Ubicacion, el valor que se registre en este campo debe coincidir con al menos un valor registrado en los camposidOrigende 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.
- Si existe el campo
idDestinode la sección Ubicacion, el valor que se registre en este campo debe coincidir con al menos un valor registrado en los camposidDestinode 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).
- Este campo debe existir solo si hay más de una sección en Mercancia y más de un tipo de transporte, debe contener un valor del catálogo c_CveTransporte del SAT, TransporteMaritimo que corresponde a la clave "02", TransporteAereo con clave "03" o TransporteFerroviario con clave "04", en caso contrario este campo no debe existir.
| 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.
- Esta sección se debe registrar solo si existe una sección TransporteMaritimo de la sección Mercancias, en caso contrario la información de esta sección no debe existir.
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 |
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.
- Cuando exista el campo
rfcEmbarcador, este campo se debe omitir. - En caso de que el embarcador sea extranjero este campo debe contener un valor, para lo cual se debe identificar el país de residencia para efectos fiscales del embarcador, usando la clave del país registrada en el campo
residenciaFiscalEmbarcador.
| 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.
- Si no se registra valor en el campo
rfcEmbarcadoreste campo debe contener un valor que corresponda a alguna de las claves del catálogo.
| 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.
- La información de este campo debe ser diferente del campo Rfc de la sección Emisor del comprobante y debe estar contenido en la lista de contribuyentes inscritos no cancelados del SAT.
| 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.
- Si existe el campo
pesoNetoMercanciade la sección Contenedor de la sección Carro entonces el valor de este campo debe ser igual a la suma de los valores registrados en los campos mencionados; en caso contrario se podrá registrar el valor correspondiente a las toneladas netas que contiene el carro.
| 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.
- Si la figura de transporte que interviene en el traslado de bienes y/o mercancías es un residente en el extranjero, este campo se debe omitir.
| 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 opcional 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 | Opcional | Pancrasio Chug Morris |
numeroRegistroIdTributarioFigura Campo condicional para registrar el número de identificación fiscal que corresponde al tipo de la figura de transporte.
- Cuando se registre información en el campo
rfcFigura, este campo se debe omitir. - En caso de que la figura de transporte sea extranjero este campo debe contener un valor.
| 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.
- Si no se registra valor en el campo
rfcFiguray si existe información en el camponumeroRegistroIdTributarioFigura, este campo debe existir y debe contener un valor que corresponda a alguna de las claves del catálogo c_Pais.
| 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.
- Esta sección solo debe existir si la clave registrada en el campo tipoFigura corresponde al valor 02 - Propietario o 03 - Arrendador, y se podrá registrar tantas veces sea necesario.
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.
- Aplican las mismas reglas y estructura que el bloque de
Domicilio Origen/Destinoexcepto por las reglas del campotipoEstacion.
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"
},
"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"
},
"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",
"formaDePago": "03"
},
"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",
"Contenedor": [
{
"matriculaContenedor": "TRL00000001",
"tipoContenedor": "CM006",
"numeroPrecinto": "5398745"
}
]
}
},
"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",
"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",
"Pedimentos" : [
{
"pedimento" : "10 47 3807 8003832"
}
]
}
],
"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",
"Pedimentos" : [
{
"pedimento" : "10 47 3807 8003832"
}
]
}
],
"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.
Cambios Carta Porte 2.0 a 3.0
Desde el 1 de enero hasta el 31 de diciembre de 2023, consideramos este período como una etapa de adaptación para asegurar que se emita el complemento Carta Porte versión 2.0 de manera adecuada, sin preocuparte por posibles multas o sanciones. En cuanto a la versión 3.0, tendrás la flexibilidad de utilizarla del 25 de noviembre al 31 de diciembre de 2023.
A partir del 1 de enero de 2024 únicamente será válida la versión 3.0 del complemento Carta Porte.
A continuación encontraras un resumen de los cambios para nueva versión del complemento carta porte 3.0:
Información General CCP 3.0
Se han agregado nuevos campos a nivel del nodo CartaPorte:
versionIr a documentación del nodo versionidCCPIr a documentación del nodo idCCPregimenAduaneroIr a documentación del nodo regimenAduaneroregistroISTMOIr a documentación del nodo registroISTMOubicacionPoloOrigenIr a documentación del nodo ubicacionPoloOrigenubicacionPoloDestinoIr a documentación del nodo ubicacionPoloDestino
Mercancías CCP 3.0
Se agregó un nuevo campo a nivel del nodo Mercancias:
logisticaInversaRecoleccionDevolucionIr a documentación del nodo logisticaInversaRecoleccionDevolucion
Mercancía CCP 3.0
Se han agregado nuevos campos a nivel del nodo Mercancia:
sectorCOFEPRISIr a documentación del nodo sectorCOFEPRISnombreIngredienteActivoIr a documentación del nodo nombreIngredienteActivonombreQuimicoIr a documentación del nodo nombreQuimicodenominacionGenericaProdIr a documentación del nodo denominacionGenericaProddenominacionDistintivaProdIr a documentación del nodo denominacionDistintivaProdfabricanteIr a documentación del nodo fabricantefechaCaducidadIr a documentación del nodo fechaCaducidadloteMedicamentoIr a documentación del nodo loteMedicamentoformaFarmaceuticaIr a documentación del nodo formaFarmaceuticacondicionesEspTranspIr a documentación del nodo condicionesEspTranspregistroSanitarioFolioAutorizacionIr a documentación del nodo registroSanitarioFolioAutorizacionpermisoImportacionIr a documentación del nodo permisoImportacionfolioImportacionVUCEMIr a documentación del nodo folioImportacionVUCEMnumeroCASIr a documentación del nodo numeroCASrazonSocialEmpImpIr a documentación del nodo razonSocialEmpImpnumRegSanPlagCOFEPRISIr a documentación del nodo numRegSanPlagCOFEPRISdatosFabricanteIr a documentación del nodo datosFabricantedatosFormuladorIr a documentación del nodo datosFormuladordatosMaquiladorIr a documentación del nodo datosMaquiladorusoAutorizadoIr a documentación del nodo usoAutorizadotipoMateriaIr a documentación del nodo tipoMateriadescripcionMateriaIr a documentación del nodo descripcionMateria
Se cambio el nodo Pedimentos por DocumentacionAduanera y se agregaron nuevos campos:
tipoDocumentoIr a documentación del nodo tipoDocumentopedimentoIr a documentación del nodo pedimentoidentDocAduaneroIr a documentación del nodo identDocAduanerorfcImportadorIr a documentación del nodo rfcImportador
Autotransporte CCP 3.0
Se agregó un nuevo campo a nivel del nodo IdentificacionVehicular dentro del nodo Autotransporte:
pesoBrutoVehicularIr al ejemplo de Transporte Aéreo
Transporte Marítimo CCP 3.0
Se agregó un nuevo campo a nivel del nodo TransporteMaritimo:
puntalIr al ejemplo de Transporte MarítimopermisoTempNavegacionIr al ejemplo de Transporte Marítimo
Se agregarón nuevos campos a nivel del nodo Contenedor:
idCCPRelacionadoIr al ejemplo de Transporte MarítimoplacaVMCCPIr al ejemplo de Transporte MarítimofechaCertificacionCCPIr al ejemplo de Transporte Marítimo
Se agregarón nuevos campos a nivel del nodo Remolques:
subTipoRemolqueIr al ejemplo de Transporte MarítimoplacaIr al ejemplo de Transporte Marítimo
Transporte Aéreo CCP 3.0
Se agregó un nuevo campo a nivel del nodo TransporteAereo:
matriculaAeronaveIr al ejemplo de Transporte Aéreo
Figura de Transporte
Se modifico un campo a nivel del nodo FiguraTransporte:
nombreFiguraIr a documentación del nodo nombreFigura
Catálogos CCP 3.0
Se han agregado 7 nuevos catálogos:
- c_RegimenAduanero con 10 registros
- c_SectorCOFEPRIS con 5 registros
- c_FormaFarmaceutica con 20 Registros
- c_CondicionesEspeciales con 4 Registros
- c_TipoMateria con 5 Registros
- c_DocumentoAduanero con 20 Registros
- c_ParteTransporte con 12 Registros
- >c_RegistroISTMO con 6 Registros
Complemento de Carta Porte 3.0
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.0",
"idCCP": "CCCFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF",
"transporteInternacional": "Sí",
"entradaSalidaMercancias": "Entrada",
"paisOrigenDestino": "CAN",
"viaEntradaSalida": "01",
"totalDistanciaRecorrida": "919.7",
"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.0 |
3.0 |
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 |
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.
- Cuando el atributo
transporteInternacionalcontenga el valor Sí y el campoentradaSalidaMercanciascontenga un valor, este atributo debe existir y contener un valor del catálogo catCartaPorte:c_RegimenAduanero. - Cuando el atributo
entradaSalidaMercanciascontenga el valor Entrada, debe contener un valor del catálogo c_RegimenAduanero donde la columna ImpoExpo contenga el valor Entrada o Salida,Entrada. - Cuando el atributo
entradaSalidaMercanciascontenga el valor Salida, debe contener un valor del catálogo c_RegimenAduanero donde la columna ImpoExpo contenga el valor Salida o Salida,Entrada.
| 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.
- Si este campo contiene el valor "Sí" se debe registrar información en
los campos
ubicacionPoloOrigenyubicacionPoloDestino. - Si este campo contiene el valor "No" los campos
ubicacionPoloOrigenyubicacionPoloDestinono deben existir.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| string | Requerido | Sí 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.
- Cuando el atributo
registroISTMOcontenga el valor Sí este atributo debe existir. - Cuando el atributo
registroISTMOcontenga el valor No este atributo no debe existir.
| 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.
- Cuando el atributo
registroISTMOcontenga el valor Sí este atributo debe existir. - Cuando el atributo
registroISTMOcontenga el valor No este atributo no debe existir.
| 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.
- Si este campo contiene el valor "Sí" se debe registrar información en
los campos
entradaSalidaMercanciasyviaEntradaSalida. - Si este campo contiene el valor "No" los campos
entradaSalidaMercanciasyviaEntradaSalidano deben existir. - Si este campo contiene el valor "No", y el comprobante es de tipo "I" (Ingreso) y si existe la sección AutotransporteFederal de la sección Mercancías entonces debe existir información en las secciones Traslados y Retenciones de la sección Partidas a nivel CFDI.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| string | Requerido | Sí No |
No |
entradaSalidaMercancias Campo condicional para registrar si los bienes o mercancías ingresan o salen del territorio nacional.
- Cuando el atributo
transporteInternacionalcontenga el valor Sí este atributo debe existir. - Cuando el atributo
transporteInternacionalcontenga el valor No este atributo no debe existir.
| 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í.
- Cuando el atributo
transporteInternacionalcontenga el valor Sí este atributo debe existir y contener un valor del catálogo c_Pais, que corresponda al país de origen o destino de las mercancías que se están trasladando en los distintos medios de transporte. - Cuando el atributo
transporteInternacionalcontenga el valor No este atributo no debe existir.
| 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.
- Cuando el atributo
transporteInternacionalcontenga el valor Sí este atributo debe existir y contener una clave del catálogo c_CveTransporte, que corresponda al medio de transporte en el que se están trasladando los bienes y/o mercancías. - Cuando el atributo
transporteInternacionalcontenga el valor No este atributo no debe existir.
| 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.
- Si existe la sección AutotransporteFederal o TransporteFerroviario de la sección Mercancias, este campo debe contener un valor; en caso de que no exista alguna de las secciones antes mencionadas, este campo no debe existir.
- El valor registrado deberá corresponder con la suma de los campos distanciaRecorrida de la sección Ubicacion, siempre que exista al menos una ubicación de tipo Destino.
| 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.
- Para transporte terrestre, marítimo y aéreo debe existir por lo menos una ubicación Origen y una Destino.
- Para transporte ferroviario debe existir al menos una ubicación de tipo Origen y al menos 5 ubicaciones de tipo Destino.
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.
- Cuando tipoUbicacion sea Origen estará compuesto de la siguiente forma: el acrónimo "OR" seguido de 6 dígitos numéricos asignados por el contribuyente que emite el comprobante para su identificación.
- Cuando tipoUbicacion sea Destino estará compuesto de la siguiente forma: el acrónimo "DE" seguido de 6 dígitos numéricos asignados por el contribuyente que emite el comprobante para su identificación.
- Si existe la sección CantidadTransporta de la sección Mercancias este campo debe existir, en caso contrario este atributo no debe existir.
| 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.
- Cuando el valor registrado en el atributo
nombreRemitenteDestinatariosea el RFC genérico extranjero (XEXX010101000), este atributo debe contener un valor, en caso contrario se debe omitir - Si el campo
nombreRemitenteDestinatarioes el mismo que el RFC emisor este campo se puede omitir, en caso de que el remitente sea extranjero este campo debe contener un valor, para lo cual se debe identificar el país de residencia para efectos fiscales del remitente usando la clave del país registrada en el camporesidenciaFiscalde esta sección.
| 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.
- Cuando el valor registrado en el atributo
nombreRemitenteDestinatariosea el RFC genérico extranjero (XEXX010101000), este atributo debe contener un valor y debe ser distinto a MEX, en caso contrario se debe omitir - Si se registra información en el campo
numeroRegistroIdTributariode esta sección, este campo debe existir, en caso contrario este campo no debe existir.
| 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.
- Si el campo
transporteInternacionalcontiene el valor "No" y si existe la sección TransporteFerroviario, TransporteMaritimo o TransporteAereo de la sección Mercancias, este campo se debe registrar y debe contener una clave conforme a las disponibles en el catálogo c_TipoEstacion del SAT. - En otro caso, si el campo
transporteInternacionalcontiene el valor "Sí" este campo no debe registrarse siempre que el Origen o Destino de los bienes o mercancías sea fuera de territorio nacional, por lo que el campopaisde la sección Ubicacion debe contener una clave distinta de "MEX", en caso contrario se debe registrar una clave conforme a las disponibles en el catálogo c_TipoEstacion del SAT. - Cuando la clave registrada en el atributo
numeroEstacioncorresponda a una estación extranjera, este atributo no debe existir
| 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.
- Si existe la sección Autotransporte de la sección Mercancias, este campo no debe existir.
- En caso de que exista la sección TransporteMaritimo, que corresponde a la clave "02", TransporteAereo con clave "03" o TransporteFerroviario con clave "04" de la columna Clave transporte del catálogo c_Estaciones este campo debe contener un valor de la columna clave identificación que corresponde al mismo catálogo.
| 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.
- Cuando el atributo
numeroEstacioncontenga un valor, este atributo debe existir y la descripción debe corresponder con el catálogo c_Estaciones, en caso contrario se debe omitir - En caso de que la clave del atributo
numeroEstacion, sea la referida a una extranjera, se debe registrar el nombre de dicha estación y no la descripción contenida en el catálogo.
| 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".
- Si existe la sección TransporteMaritimo de la sección Mercancias, este campo debe contener un valor, en caso contrario este campo no debe existir.
| 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.
- Si existe la sección AutotransporteFederal o TransporteFerroviario de la sección Mercancias, y la sección Destino de la sección Ubicacion, este campo será requerido.
- Si existe la sección AutotransporteFederal y la secciones Origen y Destino, corresponden al mismo domicilio ubicado en la sección Ubicacion, este campo será requerido.
| 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.
- Si existe el campo
tipoEstacionde la sección Ubicacion con valor "02" (Intermedia), y la sección TransporteFerroviario de la sección Mercancias, esta sección no debe existir. - Si existe el campo
tipoEstacionde la sección Ubicacion con valor "01" (Origen Nacional) o "03" (Destino Final Nacional) se debe registrar esta sección.
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.
- Si la clave del país es distinta a "MEX", se debe registrar texto libre, en caso contrario este campo se vuelve requerido y debe contener una clave conforme a los disponibles en el catálogo c_Colonia del SAT donde la columna c_CodigoPostal debe ser igual a la clave registrada en el campo
cp.
| 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.
- Si la clave del país es distinta a "MEX" se debe registrar texto libre.
- Si la clave del país es “MEX” este campo se vuelve requerido y debe contener una clave conforme a los disponibles en el catálogo c_Localidad del SAT, donde la columna c_Estado, tiene el valor seleccionado en el campo
estado.
| 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.
- Si la clave del país es distinta a "MEX", se debe registrar texto libre; en caso contrario este campo se vuelve requerido y debe contener una clave conforme a los disponibles en el catálogo c_Municipio del SAT donde la columna c_Estado, debe ser igual a la clave registrada en el campo
estado.
| 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.
- Si la clave del país es distinta a "MEX", "USA" o "CAN", se debe registrar texto libre; en caso contrario el campo Estado debe contener una clave conforme a los disponibles en el catálogo c_Estado del SAT, donde la columna c_Pais tenga el valor "MEX", "USA" o "CAN".
| 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.
- Si la clave del país es distinta a "MEX", se debe registrar texto libre; en caso contrario el campo
cpdebe contener una clave conforme a los disponibles en el catálogo c_CodigoPostal del SAT, donde la clave de la columna c_Estado, debe ser igual a la clave registrada en el campoestado, la columna c_Municipio, debe ser igual a la clave registrada en el campomunicipio, y si existe el campo de Localidad, la columna de clave c_Localidad, debe ser igual a la clave registrada en el campolocalidad.
| 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"
},
"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.
- Se debe validar que al menos se registre una sección AutortransporteFederal, TransporteMaritimo, TransporteAereo o TransporteFerroviario en esta sección.
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.
- Cuando exista el nodo
TransporteMaritimo, el valor de este atributo debe ser igual a la suma de los valores registrados en los atributospesoNeto. - Cuando exista el nodo
TransporteFerroviario, el valor de este atributo debe ser igual a la suma de los valores registrados en los atributosToneladasNetasCarro
| 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.
- Cuando exista el nodo
Autotransportees opcional capturar este atributo, en caso contrario se debe omitir.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| string | Condicional | Sí No |
Sí |
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".
- Si el valor registrado en el campo
bienesTransportadoscontiene el valor "0,1" o "1" en la columna Material peligroso del catálogo c_ClaveProdServCP publicado en el portal del SAT, este campo debe existir, en caso contrario se debe omitir. - Si el comprobante es de tipo "I" (Ingreso), este campo debe existir, en caso contrario se debe omitir, cuando el campo
bienesTransportadosno exista.
| Tipo de Dato | Ocurrencia | Opciones | Ejemplo |
|---|---|---|---|
| string | Condicional | Sí No |
No |
claveMaterialPeligroso Campo condicional para registrar la clave del tipo de material peligroso que se transporta.
- Si el valor registrado en el campo
materialPeligrosoes "Sí", este campo debe contener una clave conforme a los disponibles en el catálogo c_MaterialPeligroso del SAT. - Si el valor registrado en el campo
materialPeligrosoes "No", este campo no debe existir.
| 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.
- Este campo debe existir siempre que el campo
claveMaterialPeligrosotenga un valor del catálogo c_MaterialPeligroso publicado en el portal del SAT, en caso contrario este campo no debe existir.
| 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.
- Si existe la sección TransporteAereo de la sección Mercancias este campo debe contener un valor.
- Para el caso en el que se registre alguna de las siguientes secciones: AutotransporteFederal, TransporteMaritimo o TransporteFerroviario de la sección Mercancias, este campo puede contener un valor.
| 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.
- Si existe la sección TransporteAereo de la sección Mercancias este campo debe contener un valor.
- Para el caso en el que se registre alguna de las siguientes secciones AutotransporteFederal, TransporteMaritimo o TransporteFerroviario de la sección Mercancias, este campo puede contener un valor.
| 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 condicional 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, este dato se vuelve requerido cuando el campo entradaSalidaMercancias contenga información.
- Si el campo TranspInternac contiene el valor "Sí", este campo debe contener alguna de las claves del catálogo del complemento de comercio exterior, c_FraccionArancelaria, en caso de que el campo
transporteInternacionalcontenga el valor "No", este campo no debe existir.
| 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".
- Este campo puede existir siempre que el valor registrado en el campo
transporteInternacionales "Sí" y el campoentradaSalidaMercanciascontiene el valor "Salida" y si la exportación es considerada definitiva (de tipo A1), en caso contrario este campo no debe existir.
| 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.
- Se debe incluir cuando el campo transporteInternacional contenga el valor "Si" y el campo entradaSalidaMercancias contenga el valor "Entrada".
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.
- Si existe más de una sección Destino de la sección Ubicacion, esta sección puede existir, siempre que los bienes o mercancías que se trasladan se recojan en diferentes orígenes o se entreguen en diferentes destinos, en caso de que solo exista una sección Destino de la sección Ubicacion, esta sección no debe existir.
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".
- Si existe el campo
idOrigende la sección Ubicacion, el valor que se registre en este campo debe coincidir con al menos un valor registrado en los camposidOrigende 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.
- Si existe el campo
idDestinode la sección Ubicacion, el valor que se registre en este campo debe coincidir con al menos un valor registrado en los camposidDestinode 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).
- Este campo debe existir solo si hay más de una sección en Mercancia y más de un tipo de transporte, debe contener un valor del catálogo c_CveTransporte del SAT, TransporteMaritimo que corresponde a la clave "02", TransporteAereo con clave "03" o TransporteFerroviario con clave "04", en caso contrario este campo no debe existir.
| 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.
- Esta sección se debe registrar solo si existe una sección TransporteMaritimo de la sección Mercancias, en caso contrario la información de esta sección no debe existir.
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 |
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.
- Cuando exista el campo
rfcEmbarcador, este campo se debe omitir. - En caso de que el embarcador sea extranjero este campo debe contener un valor, para lo cual se debe identificar el país de residencia para efectos fiscales del embarcador, usando la clave del país registrada en el campo
residenciaFiscalEmbarcador.
| 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.
- Si no se registra valor en el campo
rfcEmbarcadoreste campo debe contener un valor que corresponda a alguna de las claves del catálogo.
| 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.
- La información de este campo debe ser diferente del campo Rfc de la sección Emisor del comprobante y debe estar contenido en la lista de contribuyentes inscritos no cancelados del SAT.
| 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.
- Si existe el campo
pesoNetoMercanciade la sección Contenedor de la sección Carro entonces el valor de este campo debe ser igual a la suma de los valores registrados en los campos mencionados; en caso contrario se podrá registrar el valor correspondiente a las toneladas netas que contiene el carro.
| 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.
- Si la figura de transporte que interviene en el traslado de bienes y/o mercancías es un residente en el extranjero, este campo se debe omitir.
| 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.
- Cuando se registre información en el campo
rfcFigura, este campo se debe omitir. - En caso de que la figura de transporte sea extranjero este campo debe contener un valor.
| 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.
- Si no se registra valor en el campo
rfcFiguray si existe información en el camponumeroRegistroIdTributarioFigura, este campo debe existir y debe contener un valor que corresponda a alguna de las claves del catálogo c_Pais.
| 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.
- Esta sección solo debe existir si la clave registrada en el campo tipoFigura corresponde al valor 02 - Propietario o 03 - Arrendador, y se podrá registrar tantas veces sea necesario.
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.
- Aplican las mismas reglas y estructura que el bloque de
Domicilio Origen/Destinoexcepto por las reglas del campotipoEstacion.
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",
"formaDePago": "03"
},
"Complementos": {
"CartaPorte": {
"version": "3.0",
"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.