Flujo de Cancelación
Producto: PAC Services – Tralix
1 Introducción
El presente manual tiene como propósito proporcionar una guía técnica detallada sobre el Flujo de Cancelación de CFDI a través del producto PAC Services – Tralix. Esta funcionalidad permite a emisores y receptores de comprobantes fiscales digitales realizar y gestionar cancelaciones conforme a los lineamientos establecidos por el Servicio de Administración Tributaria (SAT).
El flujo de cancelación está compuesto por distintos servicios que permiten ejecutar la cancelación de un CFDI, consultar su estatus fiscal, conocer los comprobantes pendientes por cancelación y aceptar o rechazar solicitudes cuando sea necesario. Todos estos servicios se ofrecen a través de interfaces REST que pueden consumir tanto contenido XML como JSON, dependiendo del tipo de operación.
Este documento está dirigido a desarrolladores, integradores y personal técnico responsable de la implementación del servicio en los sistemas del cliente. Cada sección describe el uso adecuado de los endpoints, la estructura de las peticiones y respuestas, los parámetros necesarios, ejemplos prácticos, así como las validaciones y consideraciones técnicas que se deben cumplir para garantizar una integración exitosa.
Además, se incluye información clave sobre autenticación, headers, formatos permitidos, cardinalidad, firma digital y tratamiento de errores, con el fin de facilitar la comprensión y uso correcto de cada componente del flujo.
Nota: Toda consulta de cancelación realizada a través de este servicio consume un timbre del paquete contratado por el cliente.
2 Servicio de Cancelación
El servicio Cancelación permite a los emisores de CFDI realizar la cancelación de uno o varios comprobantes en una sola petición. Esta operación se realiza mediante un servicio REST con contenido en XML y requiere que el XML esté firmado digitalmente con el CSD del emisor.
La cancelación debe cumplir con los lineamientos establecidos por el SAT, incluyendo la especificación del motivo de cancelación y, en su caso, el UUID del CFDI sustituto.
2.1 Estructura general de la petición
El servicio acepta contenido XML con una estructura específica que contiene los datos de cancelación por cada UUID. Se permite cancelar de 1 a 500 comprobantes en una sola petición (cardinalidad 1:500).
2.2 Parámetros requeridos
Endpoint
Esta operación se realiza mediante un servicio REST.
Método
Entorno
URL
POST
Pruebas
🔗 https://pruebastfd.tralix.com:8081/cancelCfdi
POST
Productivo
🔗 https://timbrador.tralix.com:8081/cancelCfdi
Autenticación y Headers
Header
Valor esperado
Content-Type
application/xml
ServerKey
XSA_API (clave proporcionada por Tralix)
Parámetros
Campo
Descripción
Fecha
Fecha de la solicitud de cancelación, formato AAAA-MM-DDTHH:MM:SS.
RfcEmisor
RFC del emisor que realiza la cancelación.
UUID
UUID del CFDI que se desea cancelar.
Motivo
Clave del motivo de cancelación (por ejemplo, 01, 02, etc.).
FolioSustitucion
(Opcional) UUID del CFDI que sustituye al cancelado. Requerido si el motivo lo exige.
RfcReceptor
RFC del receptor del CFDI que se cancela.
Total
Monto total del CFDI.
Signature
Firma digital del XML, generada con el CSD del emisor.
2.3 Ejemplo de petición
[RFC_RECEPTOR]
[TOTAL_FACTURA]
[RFC_RECEPTOR]
[TOTAL_FACTURA]
2.4 Ejemplo de respuesta
2.5 Códigos de respuesta
El atributo estado dentro del nodo indicará el resultado para cada UUID:
Estado
Descripción
Cancelado
El CFDI fue cancelado correctamente.
Error
Hubo un problema en la cancelación del CFDI.
2.6. Consideraciones Técnicas
Se permite cancelar hasta 500 CFDIs por solicitud.
El XML debe ser firmado con el CSD vigente del emisor.
3. Consulta de Estados de CFDI
El servicio Consulta de Estados permite realizar una búsqueda del estatus fiscal de uno o varios Comprobantes Fiscales Digitales por Internet (CFDIs) entregados al SAT. Este servicio responde con información sobre si el comprobante se encuentra vigente, cancelado o en proceso de cancelación, así como si es cancelable.
Este servicio está disponible en dos formatos, :
Consulta individual (1:1) mediante estructura XML.
Consulta masiva (1:500) mediante estructura JSON.
Esta operación se realiza mediante un servicio REST.
3.1 Estructura general de la petición
La petición puede realizarse de dos formas, dependiendo del tipo de consumo:
Tipo de consulta
Formato
Cardinalidad
Individual
XML
1:1
Masiva
JSON
1:500
3.2 Parámetros requeridos
Endpoint
Esta operación se realiza mediante un servicio REST.
Método
Ambiente
URL
POST
Pruebas
🔗 https://timbrador.tralix.com:8081/cancela/consultaSoap/
Autenticación y Headers
Header
Valor esperado
Content-Type
application/xml (para XML) | application/json (para JSON)
ServerKey
XSA_API
Parámetros
Para consulta individual (XML):
Campo
Descripción
re
RFC del emisor
rr
RFC del receptor
tt
Total del CFDI (ej. 10403.20)
id
UUID del CFDI
Para consulta masiva (JSON):
Campo
Descripción
rfcEmisor
RFC del emisor
rfcReceptor
RFC del receptor
total
Total del CFDI
uuid
UUID del CFDI
3.3 Ejemplo de petición
XML (1:1):
JSON (1:500):
{
"statusVerifierList": [
{
"rfcEmisor": "[RFC_EMISOR]",
"rfcReceptor": "[RFC_RECEPTOR]",
"total": "[TOTAL]",
"uuid": "[UUID]"
},{
"rfcEmisor": "[RFC_EMISOR]",
"rfcReceptor": "[RFC_RECEPTOR]",
"total": "[TOTAL]",
"uuid": "[UUID]"
}
]
}
3.4 Ejemplo de respuesta
XML (respuesta individual):
S - Comprobante obtenido satisfactoriamente.
Cancelable con aceptación
Cancelado
Cancelado con aceptación
JSON (respuesta masiva):
{
"statusVerifierList": [
{
"estado": "Vigente",
"uuid": "[UUID]",
"codigoEstatus": "S - Comprobante obtenido satisfactoriamente.",
"esCancelable": "Cancelable con aceptación",
"estatusCancelacion": ""
},
{
"estado": "Vigente",
"uuid": "[UUID]",
"codigoEstatus": "S - Comprobante obtenido satisfactoriamente.",
"esCancelable": "Cancelable con aceptación",
"estatusCancelacion": ""
}
]
}
3.5 Códigos de respuesta (debe ser interpretado desde el campo codigoEstatus)
Código
Descripción
S - Comprobante obtenido satisfactoriamente.
Consulta exitosa. El CFDI existe y se obtuvo su estado.
Otros mensajes
Se indicarán mensajes de error específicos si el comprobante no fue localizado o hay un problema de parámetros.
3.6 Consideraciones Técnicas
Los montos (total) deben tener exactamente dos decimales y coincidir con el total del CFDI.
Para consultas masivas, no se puede exceder la cardinalidad de 500 registros por solicitud.
4 Consulta Pendientes por Cancelar
El servicio Pendientes por Cancelar permite a los receptores de CFDI consultar los comprobantes fiscales que se encuentran en proceso de cancelación, es decir, aquellos que requieren aceptación o rechazo por parte del receptor para completar su cancelación.
Este servicio está disponible en dos formatos de consumo:
Consulta individual (XML)
Consulta individual (JSON)
Esta operación se realiza mediante un servicio REST.
Nota: La información obtenida representa solicitudes de cancelación pendientes, no implica que el CFDI esté cancelado.
4.1 Estructura general de la petición
Tipo de consulta
Formato
Cardinalidad
Individual
XML
1:1
Individual
JSON
1:1
4.2 Parámetros requeridos
Endpoint
Esta operación se realiza mediante un servicio REST.
Método
Ambiente
URL
POST
Pruebas
🔗 https://pruebastfd.tralix.com:8081/cancela/pendientesSoap/
Autenticación y Headers
Header
Valor esperado
Content-Type
application/xml (para XML) | application/json (para JSON)
ServerKey
XSA_API
Parámetros
Campo
Uso
Descripción
rfcReceptor
Requerido
RFC del receptor del CFDI
4.3 Ejemplo de petición
XML
[RFC_RECEPTOR]
JSON
{
"rfcReceptor": "CALJ581101M37"
}
4.4 Ejemplo de respuesta
XML
[UUID]
[UUID]
JSON
{
"codStatus": "1100",
"uuids": [
{
"uuid": "[UUID]"
},{
"uuid": "[UUID]"
}
]
}
4.5. Consideraciones Técnicas
Se recomienda validar previamente que el RFC receptor sea correcto y activo.
No se permite enviar múltiples RFCs por solicitud (cardinalidad 1:1).
El sistema solo devolverá UUIDs con estatus "En proceso" de cancelación.
Este servicio no genera cancelaciones ni acepta/rechaza solicitudes, solo consulta el estado actual.
5 Consulta de Aceptación o Rechazo de Cancelación CFDI
El servicio de Aceptación o Rechazo permite a los receptores de CFDI responder una solicitud de cancelación realizada por el emisor. Aplica únicamente para CFDIs que se encuentran con estatus "En Proceso", es decir, aquellos que requieren autorización del receptor para que su cancelación sea válida.
Mediante este servicio, el receptor puede confirmar si acepta o rechaza la cancelación del comprobante correspondiente. La respuesta se debe enviar firmada con el certificado del receptor.
Esta operación se realiza mediante un servicio REST.
5.1 Estructura general de la petición
Tipo de consulta
Formato
Cardinalidad
Individual
XML
1:1
5.2 Parámetros requeridos
Endpoint
Esta operación se realiza mediante un servicio REST.
Método
Ambiente
URL
POST
Pruebas
🔗 https://pruebastfd.tralix.com:8081/cancela/answerSoap/
Autenticación y Headers
Header
Valor esperado
Content-Type
application/xml
ServerKey
XSA_API
Parámetros
Campo
Descripción
Fecha
Fecha y hora de solicitud en formato AAAA-MM-DD HH:MM:SS
RfcPacEnviaSolicitud
RFC del PAC que envía la solicitud
RfcReceptor
RFC del receptor del CFDI (quien responde la cancelación)
UUID
Folio fiscal del comprobante que se desea aceptar o rechazar
Respuesta
Acción del receptor: Aceptacion o Rechazo
Signature
Nodo con la firma digital del receptor (uso de certificado)
5.3 Ejemplo de petición
[UUID]
[Rechazo/Aceptacion]
5.4 Ejemplo de respuesta
[UUID]
[ESTATUS_UUID]
5.5 Consideraciones Técnicas
El UUID debe haber sido previamente consultado como "En Proceso" por el receptor.
Solo se permite un UUID por solicitud (cardinalidad 1:1).
La firma digital (Signature) debe generarse con el CSD del receptor.
La respuesta (aceptación o rechazo) será enviada al SAT mediante el PAC y actualizará el estatus del CFDI.
El mismo UUID no puede ser respondido más de una vez.
6 Contacto y Soporte
Para soporte técnico o dudas sobre el uso del servicio puede comunicarse con el área de soporte técnico de Tralix vía ticket.