Servicio mediante el cual podrás realizar las cancelaciones de tus comprobantes a través de los diferentes métodos disponibles.
Para este servicio también puedes utilizar los CSD de pruebas proporcionados por el SAT.
Antes de cancelar, recomendamos consultar el estatus de la factura y consultar los CFDIs relacionados para que el proceso de cancelación se lleve de manera correcta.
URL´s
https://services.test.sw.com.mx
📄
https://services.sw.com.mx
📄
Cancelación UUID
Método de cancelación por UUID, para este método es indispensable previamente
cargar los certificados del emisor a la cuenta.
🔗 Endpoint
Método | Ruta |
---|---|
POST | /cfdi33/cancel/{rfc}/{uuid}/{motivo}/{folioSustitucion} |
🔐 Autenticación y Headers
Header | Value |
---|---|
Authorization | Bearer Token |
📍 Parámetros Path
Propiedad | Uso | Descripción |
---|---|---|
rfc | Requerido | RFC del emisor |
uuid | Requerido | UUID del comprobante |
motivo | Requerido | Clave para expresar el motivo de la cancelación |
folioSustitucion | Opcional | UUID del comprobante que sustituye |
Ejemplo Request
curl --request POST \ --url https://services.test.sw.com.mx/cfdi33/cancel/EKU9003173C9/f7392818-aca8-44b0-9942-120d862a71ea/02 \ --header 'Authorization: Bearer $token'
Ejemplo Response
{ "data": { "acuse": "<!--?xml version=\"1.0\" encoding=\"utf-8\"?--><acuse xmlns:xsd="\"http://www.w3.org/2001/XMLSchema\"" xmlns:xsi="\"http://www.w3.org/2001/XMLSchema-instance\"" fecha="\"2022-06-10T02:49:35.7057854\"" rfcemisor="\"EKU9003173C9\""><folios xmlns="\"http://cancelacfd.sat.gob.mx\""><uuid>FE4E71B0-8959-4FB9-8091-F5AC4FB0FEF8</uuid><estatusuuid>202</estatusuuid></folios><signature id="\"SelloSAT\"" xmlns="\"http://www.w3.org/2000/09/xmldsig#\""><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></transform></transforms><digestmethod algorithm="\"http://www.w3.org/2001/04/xmlenc#sha512\""><digestvalue>yQdDpQmr8EW3PvHBdGDiOfcO4hF3gXApv9ggW+x8pGb0Ox1inycuKKBo46RBozt8oWat4g2jLQEak2PyS/JbEg==</digestvalue></digestmethod></reference></signaturemethod></canonicalizationmethod></signedinfo><signaturevalue>xAzJW9WdeFYkxR7+NQXGCgRoGCFbnUMN4aQ81OIa6Nh/NfuRStIhA8s5V4amtaNimYNR3v6PKAOUjCDVxxnVMw==</signaturevalue><keyinfo><keyname>BF66E582888CC845</keyname><keyvalue><rsakeyvalue><modulus>n5YsGT0w5Z70ONPbqszhExfJU+KY3Bscftc2jxUn4wxpSjEUhnCuTd88OK5QbDW3Mupoc61jr83lRhUCjchFAmCigpC10rEntTfEU+7qtX8ud/jJJDB1a9lTIB6bhBN//X8IQDjhmHrfKvfen3p7RxLrFoxzWgpwKriuGI5wUlU=</modulus><exponent>AQAB</exponent></rsakeyvalue></keyvalue></keyinfo></signature></acuse>", "uuid": { "FE4E71B0-8959-4FB9-8091-F5AC4FB0FEF8": "201" } }, "status": "success" }
{ "message": "CACFDI33 - Problemas con el xml.", "messageDetail": "CA305 - Certificado Inválido.", "data": null, "status": "error" }
Atributo | Tipo | Descripción |
---|---|---|
message | String | Código regresado cuando existe un error. |
messageDetail | String | Mensaje más descriptivo del error cuando existe uno. |
data | object/null | Contiene información del acuse de cancelación emitido por el SAT, incluyendo el XML del acuse y el estatus del UUID. |
status | String | “success” o “error” |
Cancelación CSD
Cancelación por CSD
🔗 Endpoint
Método | Ruta |
---|---|
POST | /cfdi33/cancel/csd |
🔐 Autenticación y Headers
Header | Value |
---|---|
Authorization | Bearer Token |
Content-Type | application/json |
🧾 Parámetros JSON
Propiedad | Uso | Descripción |
---|---|---|
uuid | Requerido | UUID del comprobante |
rfc | Requerido | RFC del emisor |
motivo | Requerido | Clave para expresar el motivo de la cancelación |
folioSustitucion | Opcional | UUID del comprobante que sustituye |
b64Cer | Requerido | Certificado del emisor en Base64 |
b64Key | Requerido | Key del emisor en Base64 |
password | Requerido | Contraseña del certificado |
Ejemplo Request
curl --request POST \ --url https://services.test.sw.com.mx/cfdi33/cancel/csd \ --header 'Authorization: Bearer $token' \ --header 'Content-Type: application/json' \ --data '{ "uuid": "059c8c06-af7e-4c8c-8085-51b631696de5", "password": "12345678a", "rfc": "EKU9003173C9", "motivo": "02", "b64Cer": "$cer", "b64Key": "$key" }'
Ejemplo Response
{ "data": { "acuse": "<!--?xml version=\"1.0\" encoding=\"utf-8\"?--><acuse xmlns:xsd="\"http://www.w3.org/2001/XMLSchema\"" xmlns:xsi="\"http://www.w3.org/2001/XMLSchema-instance\"" fecha="\"2022-09-08T10:42:56.2610824\"" rfcemisor="\"EKU9003173C9\""><folios xmlns="\"http://cancelacfd.sat.gob.mx\""><uuid>24B927FF-E5FA-4662-9BA0-9176A4C218B1</uuid><estatusuuid>202</estatusuuid></folios><signature id="\"SelloSAT\"" xmlns="\"http://www.w3.org/2000/09/xmldsig#\""><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></transform></transforms><digestmethod algorithm="\"http://www.w3.org/2001/04/xmlenc#sha512\""><digestvalue>5S+xTQEV6cO8ek7qdG2l3yAcepQ0kvQ9eakdiWDq9/2D6P20O48G6K8AUJ9C55fBVBYoj+sQ87YUF/dpGJZemA==</digestvalue></digestmethod></reference></signaturemethod></canonicalizationmethod></signedinfo><signaturevalue>W8JG7ypQmqfuOtFefK9HQwwI6BQHd9dojGhyo7YmDaG3RRGxMlGozQOJGYEHAR4XSvISKkCRnT9RodEdgnEfFw==</signaturevalue><keyinfo><keyname>BF66E582888CC845</keyname><keyvalue><rsakeyvalue><modulus>n5YsGT0w5Z70ONPbqszhExfJU+KY3Bscftc2jxUn4wxpSjEUhnCuTd88OK5QbDW3Mupoc61jr83lRhUCjchFAmCigpC10rEntTfEU+7qtX8ud/jJJDB1a9lTIB6bhBN//X8IQDjhmHrfKvfen3p7RxLrFoxzWgpwKriuGI5wUlU=</modulus><exponent>AQAB</exponent></rsakeyvalue></keyvalue></keyinfo></signature></acuse>", "uuid": { "24B927FF-E5FA-4662-9BA0-9176A4C218B1": "201" } }, "status": "success" }
{ "message": "CACFDI33 - Problemas con el xml.", "messageDetail": "CA305 - Certificado Inválido.", "data": null, "status": "error" }
Atributo | Tipo | Descripción |
---|---|---|
message | String | Código regresado cuando existe un error. |
messageDetail | String | Mensaje más descriptivo del error cuando existe uno. |
data | object/null | Contiene información del acuse de cancelación emitido por el SAT, incluyendo el XML del acuse y el estatus del UUID. |
status | String | “success” o “error” |
Cancelación PFX
Cancelación por PFX.
🔗 Endpoint
Método | Ruta |
---|---|
POST | /cfdi33/cancel/pfx |
🔐 Autenticación y Headers
Header | Value |
---|---|
Authorization | Bearer Token |
Content-Type | application/json |
🧾 Parámetros JSON
Propiedad | Uso | Descripción |
---|---|---|
uuid | Requerido | UUID del comprobante |
rfc | Requerido | RFC del emisor |
motivo | Requerido | Clave para expresar el motivo de la cancelación |
folioSustitucion | Opcional | UUID del comprobante que sustituye |
b64Pfx | Requerido | Archivo Pfx en Base64 |
password | Requerido | Contraseña del certificado |
Ejemplo Request
curl --request POST \ --url https://services.test.sw.com.mx/cfdi33/cancel/pfx \ --header 'Authorization: Bearer $token' \ --header 'Content-Type: application/json' \ --data '{ "uuid": "15b0cdf5-7cc6-4f6f-815a-5f101402f185", "password": "12345678a", "rfc": "EKU9003173C9", "motivo": "01", "folioSustitucion":"fe4e71b0-8959-4fb9-8091-f5ac4fb0fef8" "b64Pfx": "$Pfx" }'
Ejemplo Response
{ "data": { "acuse": "<!--?xml version=\"1.0\" encoding=\"utf-8\"?--><acuse xmlns:xsd="\"http://www.w3.org/2001/XMLSchema\"" xmlns:xsi="\"http://www.w3.org/2001/XMLSchema-instance\"" fecha="\"2022-06-10T02:49:35.7057854\"" rfcemisor="\"EKU9003173C9\""><folios xmlns="\"http://cancelacfd.sat.gob.mx\""><uuid>FE4E71B0-8959-4FB9-8091-F5AC4FB0FEF8</uuid><estatusuuid>202</estatusuuid></folios><signature id="\"SelloSAT\"" xmlns="\"http://www.w3.org/2000/09/xmldsig#\""><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></transform></transforms><digestmethod algorithm="\"http://www.w3.org/2001/04/xmlenc#sha512\""><digestvalue>yQdDpQmr8EW3PvHBdGDiOfcO4hF3gXApv9ggW+x8pGb0Ox1inycuKKBo46RBozt8oWat4g2jLQEak2PyS/JbEg==</digestvalue></digestmethod></reference></signaturemethod></canonicalizationmethod></signedinfo><signaturevalue>xAzJW9WdeFYkxR7+NQXGCgRoGCFbnUMN4aQ81OIa6Nh/NfuRStIhA8s5V4amtaNimYNR3v6PKAOUjCDVxxnVMw==</signaturevalue><keyinfo><keyname>BF66E582888CC845</keyname><keyvalue><rsakeyvalue><modulus>n5YsGT0w5Z70ONPbqszhExfJU+KY3Bscftc2jxUn4wxpSjEUhnCuTd88OK5QbDW3Mupoc61jr83lRhUCjchFAmCigpC10rEntTfEU+7qtX8ud/jJJDB1a9lTIB6bhBN//X8IQDjhmHrfKvfen3p7RxLrFoxzWgpwKriuGI5wUlU=</modulus><exponent>AQAB</exponent></rsakeyvalue></keyvalue></keyinfo></signature></acuse>", "uuid": { "FE4E71B0-8959-4FB9-8091-F5AC4FB0FEF8": "201" } }, "status": "success" }
{ "message": "CACFDI33 - Problemas con el xml.", "messageDetail": "CA305 - Certificado Inválido.", "data": null, "status": "error" }
Atributo | Tipo | Descripción |
---|---|---|
message | String | Código regresado cuando existe un error. |
messageDetail | String | Mensaje más descriptivo del error cuando existe uno. |
data | object/null | Contiene información del acuse de cancelación emitido por el SAT, incluyendo el XML del acuse y el estatus del UUID. |
status | String | “success” o “error” |
Cancelación XML
Servicio para cancelar enviando un XML con la información y folios de las facturas a cancelar. Este método puede ser utilizando para cancelación masiva de CFDI.
🔗 Endpoint
Método | Ruta |
---|---|
POST | /cfdi33/cancel/xml |
🔐 Autenticación y Headers
Header | Value |
---|---|
Authorization | Bearer Token |
Content-Type | multipart/form-data |
🧾 Parámetros Form
Propiedad | Uso | Descripción |
---|---|---|
xml | Requerido | XML estructurado conforme al estándar anexo 20 (pág. 62, en el portal oficial del SAT), con la información de los comprobantes a cancelar |
Ejemplo Request
curl --request POST \ --url http://services.test.sw.com.mx/cfdi33/cancel/xml \ --header 'Authorization: Bearer $token' \ --header 'Content-Type: multipart/form-data; boundary=---011000010111000001101001' \ --form 'xml=@C:\Users\SW sapien\cancelacionMasiva.xml'
Ejemplo Response
{ "data": { "acuse": "<!--?xml version=\"1.0\" encoding=\"utf-8\"?--><acuse xmlns:xsd="\"http://www.w3.org/2001/XMLSchema\"" xmlns:xsi="\"http://www.w3.org/2001/XMLSchema-instance\"" fecha="\"2022-06-10T02:49:35.7057854\"" rfcemisor="\"EKU9003173C9\""><folios xmlns="\"http://cancelacfd.sat.gob.mx\""><uuid>FE4E71B0-8959-4FB9-8091-F5AC4FB0FEF8</uuid><estatusuuid>202</estatusuuid></folios><signature id="\"SelloSAT\"" xmlns="\"http://www.w3.org/2000/09/xmldsig#\""><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></transform></transforms><digestmethod algorithm="\"http://www.w3.org/2001/04/xmlenc#sha512\""><digestvalue>yQdDpQmr8EW3PvHBdGDiOfcO4hF3gXApv9ggW+x8pGb0Ox1inycuKKBo46RBozt8oWat4g2jLQEak2PyS/JbEg==</digestvalue></digestmethod></reference></signaturemethod></canonicalizationmethod></signedinfo><signaturevalue>xAzJW9WdeFYkxR7+NQXGCgRoGCFbnUMN4aQ81OIa6Nh/NfuRStIhA8s5V4amtaNimYNR3v6PKAOUjCDVxxnVMw==</signaturevalue><keyinfo><keyname>BF66E582888CC845</keyname><keyvalue><rsakeyvalue><modulus>n5YsGT0w5Z70ONPbqszhExfJU+KY3Bscftc2jxUn4wxpSjEUhnCuTd88OK5QbDW3Mupoc61jr83lRhUCjchFAmCigpC10rEntTfEU+7qtX8ud/jJJDB1a9lTIB6bhBN//X8IQDjhmHrfKvfen3p7RxLrFoxzWgpwKriuGI5wUlU=</modulus><exponent>AQAB</exponent></rsakeyvalue></keyvalue></keyinfo></signature></acuse>", "uuid": { "FE4E71B0-8959-4FB9-8091-F5AC4FB0FEF8": "201" } }, "status": "success" }
{ "message": "CACFDI33 - Problemas con el xml.", "messageDetail": "CA305 - Certificado Inválido.", "data": null, "status": "error" }
Atributo | Tipo | Descripción |
---|---|---|
message | String | Código regresado cuando existe un error. |
messageDetail | String | Mensaje más descriptivo del error cuando existe uno. |
data | object/null | Contiene información del acuse de cancelación emitido por el SAT, incluyendo el XML del acuse y el estatus del UUID. |
status | String | “success” o “error” |
Respuestas de cancelación
Todos los response de cancelación retornan la misma estructura en caso de error o en caso de petición satisfactoria, las cuales son las siguientes:
Respuesta exitosa
Respuestas exitosas para todos los servicios de cancelación
{ "data": { "acuse": "<?xml version=\"1.0\" encoding=\"utf-8\"?><Acuse xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" Fecha=\"2017-06-27T11:00:54.8788503\" RfcEmisor=\"LAN7008173R5\"><Folios xmlns=\"http://cancelacfd.sat.gob.mx\"><UUID>3EAEABC9-EA41-4627-9609-C6856B78E2B1</UUID><EstatusUUID>202</EstatusUUID></Folios><Signature Id=\"SelloSAT\" xmlns=\"http://www.w3.org/2000/09/xmldsig#\"><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></Transform></Transforms><DigestMethod Algorithm=\"http://www.w3.org/2001/04/xmlenc#sha512\" /><DigestValue>yoO1MKUhUcokwUgyKt5GJbcXvSzZhMKOp2pGhtuwBVrk35Y8HW8s6gJ04liSamflJFNWwUzaFOIf7KpS0SKkaw==</DigestValue></Reference></SignedInfo><SignatureValue>7ZKbUqUVSXkd9Xo9Dm4xOzrqd+j8v3NQWH8HeIPH+opnTOTGNSlVu+a2cqKKB7vmbt2ZTyfsaNsZ+d7up0zEIw==</SignatureValue><KeyInfo><KeyName>00001088888810000001</KeyName><KeyValue><RSAKeyValue><Modulus>vAr6QLmcvW6auTg7a+Ogm0veNvqJ30rD3j0iSAHxGzGVrg1d0xl0Fj5l+JX9EivD+qhkSY7pfLnJoObLpQ3GGZZOOihJVS2tbJDmnn9TW8fKUOVg+jGhcnpCHaUPq/Poj8I2OVb3g7hiaREORm6tLtzOIjkOv9INXxIpRMx54cw46D5F1+0M7ECEVO8Jg+3yoI6OvDNBH+jABsj7SutmSnL1Tov/omIlSWausdbXqykcl10BLu2XiQAc6KLnl0+Ntzxoxk+dPUSdRyR7f3Vls6yUlK/+C/4FacbR+fszT0XIaJNWkHaTOoqz76Ax9XgTv9UuT67j7rdTVzTvAN363w==</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue></KeyInfo></Signature></Acuse>", "uuid": { "3EAEABC9-EA41-4627-9609-C6856B78E2B1": "202" } }, "status": "success" }
En este caso se recibe un mensaje JSON, el cual contiene los siguientes datos:
- Acuse: Xml de acuse que regresa el SAT, Se considera una solicitud de cancelación exitosa, sin embargo, esto no asegura su cancelación.
- UUID: uuid de la solicitud y el estatus de él.
Respuestas no exitosas
Respuestas no exitosas/Cancelación por CSD
{ "message": "CASD - Acuse sin descripción específica.", "messageDetail": "El uuid proporcionado es inválido. Favor de verificar.", "data": null, "status": "error" }
{ "message": "CACFDI33 - Problemas con los campos.", "messageDetail": "El certificado no pertenece a la llave privada.", "data": null, "status": "error" }
{ "message": "CASD - Acuse sin descripción específica.", "messageDetail": "El Rfc proporcionado es inválido. Favor de verificar.", "data": null, "status": "error" }
{ "message": "CASD - Acuse sin descripción específica.", "messageDetail": "Invalid length for a Base-64 char array or string.", "data": null, "status": "error" }
Respuestas no exitosas/Cancelación por PFX
{ "message": "CASD - Acuse sin descripción específica.", "messageDetail": "El uuid proporcionado es inválido. Favor de verificar.", "data": null, "status": "error" }
{ "message": "CACFDI33 - Problemas con los CSD.", "messageDetail": "Error con los CSD. Error: Cannot Read PFX......", "data": null, "status": "error" }
{ "message": "CASD - Acuse sin descripción específica.", "messageDetail": "El Rfc proporcionado es inválido. Favor de verificar.", "data": null, "status": "error" }
{ "message": "CASD - Acuse sin descripción específica.", "messageDetail": "Invalid length for a Base-64 char array or string.", "data": null, "status": "error" }
Respuestas no exitosas/Cancelación por UUID
{ "message": "CACFDI33", "messageDetail": "El UUID proporcionado es invalido. Favor de verificar.", "data": null, "status": "error" }
{ "message": "CACFDI33", "messageDetail": "El Rfc proporcionado es invalido. Favor de verificar.", "data": null, "status": "error" }
Respuestas no exitosas/Cancelación por XML
{ "message": "CACFDI33 - Problemas con el xml.", "messageDetail": "CA305 - La fecha de emisión no esta dentro de la vigencia del CSD del Emisor.", "data": null, "status": "error" }
{ "message": "CACFDI33 - Problemas con el xml.", "messageDetail": "CA302 - Sello mal formado o inválido.", "data": null, "status": "error" }
Códigos de respuesta de folios de cancelación
Codigo | Mensaje | Descripción |
---|---|---|
201 | Solicitud de cancelación exitosa. | Se considera una solicitud de cancelación exitosa, sin embargo esto no asegura su cancelación. |
202 | Folio Fiscal Previamente Cancelado. | e considera solicitud de cancelación previamente enviada. Estatus Cancelado ante el SAT. |
203 | Folio Fiscal No Correspondiente al Emisor. | |
204 | Folio Fiscal No Aplicable a Cancelación. | |
205 | Folio Fiscal No Existente. | El SAT da una prorroga de 48 hrs para que el comprobante aparezca con estatus Vigente posterior al envió por parte del Proveedor de Certificación de CFDI. Puede que algunos comprobantes no aparezcan al momento, es necesario esperar por lo menos 48 hrs. |
206 | UUID no corresponde a un CFDI del Sector Primario | |
207 | No se especificó el motivo de cancelación o el motivo no es valido. | El UUID sustitución no existe, está cancelado o tiene una fecha de emisión anterior a la fecha de emisión del comprobante original. |
208 | Folio Sustitución invalido. | |
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 valida o inexistente. | |
300 | Usuario No Válido. | |
301 | XML Mal Formado. | Este código de error se regresa cuando el request posee información invalida, ejemplo: un RFC de receptor no válido. |
302 | Sello Mal Formado | |
304 | Certificado Revocado o Caduco. | El certificado puede ser inválido por múltiples razones como son el tipo, la vigencia, etc. |
305 | Certificado Inválido. | El certificado puede ser inválido por múltiples razones como son el tipo, la vigencia, etc. |
309 | Certificado Inválido. | El certificado puede ser inválido por múltiples razones como son el tipo, la vigencia, etc. |
310 | CSD Inválido. | |
311 | Motivo inválido. | Clave de motivo de cancelación no válida. |
312 | UUID no relacionado. | UUID no relacionado de acuerdo a la clave de motivo de cancelación |
En SW® somos mejores para TI, es por ello que tu opinión es muy importante, por favor ayúdanos calificando este articulo y dejando tus comentarios.