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.3
a ser obligatorio en la version 4.0
.
Receptor / Partes / DomicilioFiscal / cp
Este campo cambió de ser opcional de la versión 3.3
a 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
numeroPedimento
Este 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
metodoDePago
contenga 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
RegimenFiscal
debe 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
periodicidad
sea "05", este campo debe contener alguno de los valores "13", "14", "15", "16", "17" o "18" - Si el campo
periodicidad
contiene 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 |
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-8d51c4fa8219 FA-230 |
Receptor 4.0
Esta sección contiene los datos correspondientes al receptor del comprobante fiscal.
Receptor [requerido]
{
"CFDi": {
...,
"Receptor": {
"rfc": "AAA010101AAA",
"nombre": "EMPRESA DEMO",
"residenciaFiscal": "USA",
"numeroRegistroIdTributario": "121585958",
"regimenFiscal": "601",
"usoCfdi": "adquisicion_mercancias",
"IdentificadorCliente": {
"nombreCampo": "Número de Matrícula",
"valorCampo": "A12332"
},
"DomicilioFiscal": {
"calle": "Rayo",
"noExterior": "2835",
"noInterior": "1-A",
"colonia": "Jardines del norte",
"localidad": "Guadalajara",
"municipio": "Guadalajara",
"estado": "Jalisco",
"pais": "México",
"cp": "44580"
}
},
...,
rfc
Registro Federal de Contribuyentes correspondiente al receptor del comprobante, debe ir sin guiones ni espacios.
- 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
tipoFactor
estasa
.
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
tipoFactor
seaexento
.
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
tipoFactor
seaexento
. - Este campo es requerido cuando el campo
tipoFactor
se haya registrado comotasa
ocuota
. - 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
Impuestos
de 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
Impuestos
de 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
tipoFactor
se haya registrado comotasa
ocuota
. - 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
texto
o renglones definidos utilizando la etiquetaTextoRenglones
y 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
sistema
para 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 Clave
o 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 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 Clave
o 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 Clave
o 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 Clave
o 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 Clave
o 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 |
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 Clave
o 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
RegimenFiscal
debe 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
periodicidad
sea "05", este campo debe contener alguno de los valores "13", "14", "15", "16", "17" o "18" - Si el campo
periodicidad
contiene 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-8d51c4fa8219 FA-230 |
CG - Receptor
Esta sección contiene los datos correspondientes al receptor del comprobante fiscal.
Receptor [requerido]
{
"CFDi": {
...,
"Receptor": {
"rfc": "XAXX010101000",
"nombre": "PUBLICO EN GENERAL",
"regimenFiscal": "616",
"usoCfdi": "S01",
"DomicilioFiscal": {
"cp": "45116"
}
},
...,
rfc
Registro Federal de Contribuyentes correspondiente al receptor del comprobante, debe ir sin guiones ni espacios.
- 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
tipoFactor
estasa
.
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
tipoFactor
seaexento
.
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
tipoFactor
seaexento
. - Este campo es requerido cuando el campo
tipoFactor
se haya registrado comotasa
ocuota
. - 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
tipoFactor
se haya registrado comotasa
ocuota
. - 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-8d51c4fa8219 FA-230 |
A Cuenta Terceros Recibo Electrónico Pago 2.0
Esta sección es opcional y se puede expresar información del contribuyente Tercero, a cuenta del que se realiza la operación. Conforme a la regla 2.7.1.3 de la Resolución Miscelánea Fiscal vigente.
A Cuenta Terceros Recibo Electrónico Pago [opcional]:
{
"CFDi": {
...,
"ACuentaTerceros": {
"rfc": "FIMA420127R44",
"nombre": "Marton Aleejandro Sanzi Fierror",
"regimenFiscal": "601",
"cp": "44580"
},
...,
rfc
Campo requerido para registrar la Clave del Registro Federal de Contribuyentes del contribuyente Tercero, a cuenta del que se realiza la operación.
- 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
importe
de los impuestos retenidos registrados en el elementoimpuestos
donde el campoclaveImpuesto
contenga el valor IVA por el valor registrado en el campotipoCambio
de 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
importe
de los impuestos retenidos registrados en el elementoimpuestos
donde el campoclaveImpuesto
contenga el valor ISR por el valor registrado en el campotipoCambio
de 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
importe
de los impuestos retenidos registrados en el elementoimpuestos
donde el campoclaveImpuesto
contenga el valor IEPS por el valor registrado en el campotipoCambio
de 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
base
de los impuestos trasladados registrados en el elementoimpuestos
donde los campos contengan enclaveImpuesto
el valor IVA, entipoFactor
el valor Tasa y entasaOCuota
el valor 0.160000, por el valor registrado en el campotipoCambio
de 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
importe
de los impuestos trasladados registrados en el elementoimpuestos
donde los campos contengan enclaveImpuesto
el valor IVA, entipoFactor
el valor Tasa y entasaOCuota
el valor 0.160000, por el valor registrado en el campotipoCambio
de 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
base
de los impuestos trasladados registrados en el elementoimpuestos
donde los campos contengan enclaveImpuesto
el valor IVA, entipoFactor
el valor Tasa y entasaOCuota
el valor 0.080000, por el valor registrado en el campotipoCambio
de 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
importe
de los impuestos trasladados registrados en el elementoimpuestos
donde los campos contengan enclaveImpuesto
el valor IVA, entipoFactor
el valor Tasa y entasaOCuota
el valor 0.080000, por el valor registrado en el campotipoCambio
de 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
base
de los impuestos trasladados registrados en el elementoimpuestos
donde los campos contengan enclaveImpuesto
el valor IVA, entipoFactor
el valor Tasa y entasaOCuota
el valor 0.000000, por el valor registrado en el campotipoCambio
de 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
importe
de los impuestos trasladados registrados en el elementoimpuestos
donde los campos contengan enclaveImpuesto
el valor IVA, entipoFactor
el valor Tasa y entasaOCuota
el valor 0.000000, por el valor registrado en el campotipoCambio
de 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
base
de los impuestos trasladados registrados en el elementoimpuestos
donde los campos contengan enclaveImpuesto
el valor IVA y entipoFactor
el valor Exento, por el valor registrado en el campotipoCambio
de 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
tipoCambio
de 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 | 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
,cadenaPago
yselloPago
.
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
,importePagado
ysaldoAnterior
deben 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/equivalencia
debe 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
equivalencia
del documento relacionado tiene algún valor. - Es opcional cuando no exista el campo
equivalencia
y 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
tipoMoneda
del 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
importePagado
no exista, debe calcularse de los campossaldoAnterior
-monto
considerando 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
tipoMoneda
del 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
Impuestos
del nodo documento relacionado debe existir. - Si el valor registrado en este campo es “01” o “03” el nodo hijo
Impuestos
del 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
tipoFactor
se haya registrado comotasa
ocuota
. - 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
tipo
se 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
tipo
se 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
tipoFactor
se haya registrado comotasa
ocuota
. - 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
,trasladosImpuestoIVA0
cuando 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
tipo
se 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
,trasladosBaseIVA0
otrasladosBaseIVAExento
. - Si el tipo es igual a traslado entonces, en caso de que solo existan documentos relacionados con
tipoFactor
Exento, la suma de este atributo debe ser igual a la suma de los importes de los atributosbase
registrados 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
texto
o renglones definidos utilizando la etiquetaTextoRenglones
y 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
sistema
para 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
version
Ir a documentación del atributo version - Se elimina el atributo
regimenAduanero
- Se agrega el nodo
RegimenesAduaneros
Ir 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
transporteInternacional
contenga el valor Sí y el campoentradaSalidaMercancias
contenga 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
entradaSalidaMercancias
contenga 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
entradaSalidaMercancias
contenga 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
ubicacionPoloOrigen
yubicacionPoloDestino
. - Si este campo contiene el valor "No" los campos
ubicacionPoloOrigen
yubicacionPoloDestino
no 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
registroISTMO
contenga el valor Sí este atributo debe existir. - Cuando el atributo
registroISTMO
contenga 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
registroISTMO
contenga el valor Sí este atributo debe existir. - Cuando el atributo
registroISTMO
contenga 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
entradaSalidaMercancias
yviaEntradaSalida
. - Si este campo contiene el valor "No" los campos
entradaSalidaMercancias
yviaEntradaSalida
no 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
transporteInternacional
contenga el valor Sí este atributo debe existir. - Cuando el atributo
transporteInternacional
contenga 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
transporteInternacional
contenga 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
transporteInternacional
contenga 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
transporteInternacional
contenga 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
transporteInternacional
contenga 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
nombreRemitenteDestinatario
sea el RFC genérico extranjero (XEXX010101000), este atributo debe contener un valor, en caso contrario se debe omitir - Si el campo
nombreRemitenteDestinatario
es 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 camporesidenciaFiscal
de 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
nombreRemitenteDestinatario
sea 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
numeroRegistroIdTributario
de 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
transporteInternacional
contiene 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
transporteInternacional
contiene 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 campopais
de 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
numeroEstacion
corresponda 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
numeroEstacion
contenga 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
tipoEstacion
de 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
tipoEstacion
de 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
cp
debe 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
Autotransporte
es 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
bienesTransportados
contiene 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
bienesTransportados
no 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
materialPeligroso
es "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
materialPeligroso
es "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
claveMaterialPeligroso
tenga 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
transporteInternacional
contenga 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
transporteInternacional
es "Sí" y el campoentradaSalidaMercancias
contiene 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
transporteInternacional
es "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
tipoMateria
sea "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
idOrigen
de la sección Ubicacion, el valor que se registre en este campo debe coincidir con al menos un valor registrado en los camposidOrigen
de la sección Ubicacion.
Tipo de Dato | Ocurrencia | Ejemplo |
---|---|---|
string | Requerido | OR000687 |
idDestino
Campo requerido para registrar la clave del identificador del destino de los bienes o mercancías que se trasladan por los distintos medios de transporte, de acuerdo al valor registrado en la sección Origen, de la sección Ubicacion.
- Si existe el campo
idDestino
de la sección Ubicacion, el valor que se registre en este campo debe coincidir con al menos un valor registrado en los camposidDestino
de la sección Ubicacion.
Tipo de Dato | Ocurrencia | Ejemplo |
---|---|---|
string | Requerido | DE000423 |
clavesTransporte
Campo condicional para registrar la clave del catálogo c_CveTransporte publicado en el portal del SAT, que identifica el medio por el cual se transportan los bienes o mercancías, dicha clave debe ser distinta a "05" (Ducto).
- 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
rfcEmbarcador
este 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
pesoNetoMercancia
de 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
rfcFigura
y 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/Destino
excepto 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:
CFDI
seguido 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 ( |