1. Home
  2. Servicios
  3. Cancelaciones
  4. Cancelación V2 CFDI
  1. Home
  2. SW API´S
  3. Cancelación V2 CFDI

Cancelación V2 CFDI

Cancela tus comprobantes con el método que mejor se acomode a tu integración: por UUID (usando los CSD ya cargados en tu cuenta), enviando el CSD o el PFX directamente, o mandando un XML firmado — este último soporta cancelación masiva de varios folios en una sola petición. Esta versión da una respuesta más completa: cada folio trae su código, mensaje y descripción, en vez de solo el código. V2 convive con V1 — adoptarla es completamente opcional.

✓ Antes de empezar
1 Obtén un Bearer Token con tu usuario y contraseña de SW. Se recomienda usar un token infinito.
2 Antes de cancelar, te recomendamos consultar el estatus de la factura y los CFDI relacionados para que el proceso se lleve a cabo correctamente.
3 Si vas a cancelar por UUID, primero carga los CSD del emisor a tu cuenta (portal ADT o API de certificados). En pruebas puedes usar los certificados de prueba del SAT.
4 Revisa la tabla de motivos de cancelación abajo: el campo motivo es obligatorio en los 4 métodos, y folioSustitucion solo aplica con motivo = "01".
5 ¿Ya usas Cancelación CFDI (V1)? No es necesario migrar: V2 solo añade detalle a la respuesta, el resto del contrato es idéntico.
💡 Nota Importante: 👉 Por motivos de compatibilidad, aunque el path de nuestros servicios indique /cfdi33, este mismo endpoint acepta la versión actual del CFDI.

Valores válidos del campo motivo

Requerido en los 4 métodos. folioSustitucion solo se envía cuando motivo = "01"; para cualquier otro valor, se omite por completo.

Clave
Descripción
¿Requiere folioSustitucion?
01
Comprobante emitido con errores con relación
✅ Sí, obligatorio
02
Comprobante emitido con errores sin relación
❌ No enviarse
03
No se llevó a cabo la operación
❌ No enviarse
04
Operación nominativa relacionada en factura global
❌ No enviarse

URL´s

Marca tu ambiente activo. Los botones de copiar y los ejemplos de código de abajo se arman con la base que elijas aquí.

🔗 Endpoint

Los 4 métodos regresan la misma respuesta — lo que cambia es la información que envías.

POST

Ejemplo XML

Estructura del <Cancelacion> firmado que se envía como archivo en el request. Elige el caso que necesites.

XML

        

Ejemplo Request


        
💡 Nota Importante: estos ejemplos son la llamada REST directa.

Respuesta

Los 4 métodos comparten exactamente la misma forma de respuesta.


        
💡 Nota importante: status: "success" confirma que la solicitud de cancelación se recibió correctamente — no que el comprobante ya quedó cancelado ante el SAT. Valida siempre el code dentro de data.uuid (ver tabla de códigos abajo) para conocer lo que respondió la autoridad — en V2 ya no hace falta cruzarlo tú mismo contra la tabla, porque message y description vienen incluidos en la misma respuesta. Aun así, te recomendamos hacer una consulta de estatus por separado.

📋 Códigos de respuesta de folios de cancelación

El campo data.uuid de una respuesta 200 regresa uno de estos códigos por cada folio enviado. Se muestran los 8 más comunes; hay 13 más abajo.

Código
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.
Solicitud de cancelación previamente enviada. Estatus Cancelado ante el SAT.
203
Folio Fiscal No Correspondiente al Emisor.
El folio fiscal no corresponde al emisor de la solicitud de cancelación.
204
Folio Fiscal No Aplicable a Cancelación.
El folio fiscal no es válido para la cancelación.
205
Folio Fiscal No Existente.
El SAT da una prórroga de 48 hrs para que el comprobante aparezca Vigente tras el timbrado. Espera al menos 48 hrs.
206
UUID no corresponde a un CFDI del Sector Primario.
El UUID no corresponde a un CFDI del Sector Primario.
207
No se especificó el motivo o el motivo no es válido.
El UUID sustitución no existe, está cancelado, o tiene fecha de emisión anterior al original.
208
Folio Sustitución inválido.
El folio de sustitución es inválido.
209
Folio Sustitución no requerido.
El folio de sustitución no es necesario para este motivo.
210
Fecha de cancelación mayor a la de declaración.
La fecha de solicitud de cancelación es mayor a la fecha de declaración.
211
Límite de cancelación de factura global.
La fecha de solicitud supera el límite permitido para una factura global.
212
Relación no válida o inexistente.
La relación especificada no es válida o no existe.
300
Usuario No Válido.
El usuario que realizó la solicitud no es válido.
301
XML Mal Formado.
El request tiene información inválida, ej. un RFC de receptor no válido.
302
Sello Mal Formado.
La firma digital del acuse de cancelación es inválida o mal formada.
304
Certificado Revocado o Caduco.
El certificado es inválido por tipo, vigencia u otra razón.
305
Certificado Inválido.
El certificado es inválido por tipo, vigencia u otra razón.
309
Certificado Inválido.
El certificado es inválido por tipo, vigencia u otra razón.
310
CSD Inválido.
El Certificado de Sello Digital (CSD) es 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.
Este método no envía body: toda la información va en el path.
Este método no recibe parámetros en path: toda la información va en el body.
Este método no recibe parámetros en path: toda la información va en el body.
Este método no recibe parámetros en path: toda la información va en el archivo XML.

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.

How useful was this post?

Click on a star to rate it!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

Updated on octubre 2, 2026

Article Attachments

Related Articles