Endpoint Cancelación Acuse

1. Introducción

Este documento describe el endpoint: Cancelación de CFDI retornando el Acuse, el cual permite realizar la cancelación de uno o varios CFDI y obtener como respuesta el acuse de cancelación emitido por el SAT, incluyendo el estado fiscal y el código de estatus correspondiente.

El servicio está diseñado para ser consumido vía API REST, utilizando solicitudes HTTP en formato JSON.


2. Cancelación de CFDI retornando el Acuse

2.1 Estructura general de la petición

Endpoint para cancelar en XSA para retornar el acuse de cancelación. La petición consiste en el envío de un cuerpo JSON que incluye el listado de UUIDs a cancelar, el motivo de cancelación y, cuando aplique, el folio de sustitución.

2.2 Parámetros requeridos

Endpoint

Servicio

Método

URL

Alta de Empresas

POST

/<keyEmpresa>/cfdis/cancelarAcuse

Autenticación y Headers

Header

Valor

Content-Type

application/json

Parámetros

Campo

Uso

Descripción

uuid

Requerido

Listado de UUIDs de los CFDI a cancelar.

motivo

Requerido Clave del motivo de cancelación conforme al SAT.

folioSustitucion

Requerido UUID del CFDI que sustituye al cancelado. Requerido únicamente cuando el motivo es 01.
2.3 Ejemplo de petición

Ejemplo – Motivo 01 (Comprobante emitido con errores con relación)

https://10.0.0.183:9050/985408d8-64ae-48e0-b46c-473b47176205/cfdis/cancelar?
{
  "uuid": ["D5BD58B7-D1B9-422C-8877-DE9DBAE2C48D"],
  "motivo": "01",
  "folioSustitucion": "71BDA958-28EA-416C-846E-1746F8C2C2BA"
}

Ejemplo – Motivo 02, 03 o 04

https://10.0.0.183:9050/985408d8-64ae-48e0-b46c-473b47176205/cfdis/cancelar?
{
  "uuid": [
    "D5BD58B7-D1B9-422C-8877-DE9DBAE2C48D",
    "71BDA958-28EA-416C-846E-1746F8C2C2BA"
  ],
  "motivo": "02"
}
2.4 Ejemplo de respuesta

Respuesta exitosa (Código 200)

{
"uuid": "D5BD58B7-D1B9-422C-8877-DE9DBAE2C48D",
"acuse": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><CancelaCFDResponse xmlns=\"http://cancelacfd.sat.gob.mx\" xmlns:cfdi=\"http://www.sat.gob.mx/cfd/3\"
xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"><CancelaCFDResult RfcEmisor=\"WATM640917J45\" Fecha=\"2018-07-21T18:08:02.3095708\"><Folios><UUID>D5BD58B7-D1B9-422C-8877-DE9DBAE2C48D</UUID><EstatusUUID>201</EstatusUUID>\n </Folios><Signature xmlns=\"http://www.w3.org/2000/09/xmldsig#\" Id=\"SelloSAT\"><SignedInfo><CanonicalizationMethod Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/><SignatureMethod Algorithm=\"http://www.w3.org/2001/04/xmldsig-more#hmac-sha512\"/><Reference URI=\"\"><Transforms><Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xpath-19991116\"><XPath>not(ancestor-or-self::*[local-name()='Signature'])</XPath>\n </Transform>\n </Transforms><DigestMethod Algorithm=\"http://www.w3.org/2001/04/xmlenc#sha512\"/><DigestValue>SPnX6PlRGS1weMrFjfEgl4DHigxl0PjkjnI/03Uvf3FuEcf1tfB2aZikcGFo0tB2tK/q0VK2fMGqyO3UrKfAjQ==</DigestValue>\n
</Reference>\n </SignedInfo><SignatureValue>JL76aoDidEr5atP2pm1suoz3+gBumHbH7lhzwGJuoYOaumda4ZnMQACrIFTszv1lejecsRVd5CvcIEnrorgnWg==</SignatureValue><KeyInfo><KeyName>BF66E582888CC845</KeyName><KeyValue><RSAKeyValue><Modulus>n5YsGT0w5Z70ONPbqszhExfJU+KY3Bscftc2jxUn4wxpSjEUhnCuTd88OK5QbDW3Mupoc61jr83lRhUCjchFAmCigpC10rEntTfEU+7qtX8ud/jJJDB1a9lTIB6bhBN//X8IQDjhmHrfKvfen3p
7RxLrFoxzWgpwKriuGI5wUlU=</Modulus><Exponent>AQAB</Exponent>\n </RSAKeyValue>\n </KeyValue>\n </KeyInfo>\n </Signature>\n </CancelaCFDResult>\n </CancelaCFDResponse>",
"estadoFiscal": "CANCELADO_SIN_ACEPTACION",
"codigoEstatus": "201"
}
2.5 Códigos de respuesta

Código

Descripción

200

OK

400

Bad Request - Parámetros incorrectos

401

Not Found - No existe la keyEmpresa

500

No se puedeN cancelar los comprobantes con los siguientes UUIDs, verifique que sean válidos y que pertenezcan a la empresa.

2.6 Motivos de Cancelación

Clave

Descripción

01

Comprobante emitido con errores con relación.

02

Comprobante emitido con errores sin relación.

03

No se llevó a cabo la operación.

04

Operación nominativa relacionada en una factura global.

2.7 Códigos de Cancelación

Código

Descripción

201 Petición aceptada.

202

Folio Fiscal Previamente Cancela
203 Folio Fiscal No Correspondiente al Emisor
204 Folio Fiscal No Aplicable a Cancelación
205 Folio Fiscal No Existente
206 UUID no corresponde a un CFDI del Sector Primario
207 No se especificó el motivo de cancelación o el motivo no es válido
208 Folio Sustitución inválido
209 Folio Sustitución no requerido

210

La fecha de solicitud de cancelación es mayor a la fecha de declaración

211

La fecha de solicitud de cancelación límite para factura global
212 Relación no válida o inexistente
300 Usuario No Válido
301 XML mal formado.
302 Sello mal formado o inválido.
303 Sello no corresponde a emisor o caduco.
304 Certificado revocado o caduco.
305 Certificado Inválido
306 El certificado no es de tipo CSD.
307 El CFDI contiene un timbre previo.
308 Certificado no expedido por el SAT.
309 Certificado Inválido
310 CSD Inválido
402 RFC del emisor no se encuentra en el régimen de contribuyentes.
407 Error en el servicio de cancelación del SAT.

800

NO_ENCONTRADO
801 NO_CANCELA BLE
802 EN_PROCESO
901 El cliente con el CustomerKey proporcionado no es válido.
902 El RFC no está registrado como cliente.
903 El RFC se encuentra inactivo por el momento.
904 No cuenta con licencia para realizar peticiones.
905 El RFC no pertenece al cliente con el CustomerKey que proporcionó.
906 Ha expirado su periodo de pruebas.
910 No se puede determinar el cliente a partir del RFC.
998 Error en el cliente.
999 Error en el servidor.

3. Consideraciones Técnicas

  • El header Content-Type: application/json es obligatorio para el correcto procesamiento de la solicitud.

  • El parámetro folioSustitucion solo debe enviarse cuando el motivo de cancelación sea 01.

  • El endpoint puede procesar múltiples UUIDs en una sola petición, siempre que el motivo lo permita.


4. 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.

 


 

No Comments
Back to top