Cancelar
Cancelar un CFDI
La solicitud se firma con el sello que cargaste y va directo al SAT. Lo que pasa después depende de si el receptor tiene que aceptarla.
- 1
Pide la cancelación
Con el folio fiscal y el motivo. Con el motivo 01, también el UUID del CFDI que lo sustituye.
curl https://pruebas.timbrado.idea15.com/api/cancelarCFDI \ -u "$DUBSARIA_USUARIO:$DUBSARIA_CLAVE" \ -H "Content-Type: application/json" \ -d '{"rfcEmisor":"EKU9003173C9","rfcReceptor":"EKU9003173C9","uuid":"988B5F3A-889E-4C9C-BAC7-0FEE99589858","total":"116.00","motivo":"02","uuidRelacionado":""}' - 2
Lee la respuesta del SAT
Código HTTP Qué significa 201 200 Solicitud recibida. 202 200 Ya estaba cancelado. 203 200 El folio no corresponde al emisor. 204 200 No aplica para cancelación. 205 200 El SAT no tiene ese folio (en pruebas, siempre: ahí los timbres no llegan al SAT). 301 200 El uuid, el uuidRelacionado o el rfcEmisor no tienen el formato del SAT; nada salió al PAC. 500 200 No hay CSD cargado para el RFC emisor. - 3
Confirma cómo terminó
Si el CFDI es «cancelable con aceptación», el receptor tiene tres días hábiles para responder; si no responde, se cancela. Consulta el estado final con consultarEstatusCFDI.
curl https://pruebas.timbrado.idea15.com/api/consultarEstatusCFDI \ -u "$DUBSARIA_USUARIO:$DUBSARIA_CLAVE" \ -H "Content-Type: application/json" \ -d '{"uuid":"988B5F3A-889E-4C9C-BAC7-0FEE99589858","rfcEmisor":"EKU9003173C9","rfcReceptor":"EKU9003173C9","total":"116.00"}'
Motivos
| Motivo | Cuándo |
|---|---|
01uuidRelacionado | Comprobante emitido con errores con relación: ya timbraste el que lo sustituye. |
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. |
En pruebas
Los CFDI de pruebas no llegan al SAT, así que la respuesta real de pruebas es 205:
cancelarCFDI · HTTP 200
{
"Codigo": "205",
"Mensaje": "El SAT no tiene registrado este folio fiscal",
"Acuse": "<Acuse Fecha=\"2026-10-29T21:24:26.5212341\" RfcEmisor=\"EKU9003173C9\"><Folios xmlns=\"http://cancelacfd.sat.gob.mx\"><UUID>988B5F3A-889E-4C9C-BAC7-0FEE99589858</UUID><EstatusUUID>205</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>+FR9CVmLaeOCE5bd7MLMgIaM3pe9DvC9wmAn107QQJ8Mc22Z3sNoPMnFEFgpfqp+bmeerW6DuwY+OKOLA9Z8/g==</DigestValue></Reference></SignedInfo><SignatureValue>oK8NmWydi+tEK/TMYQfeQPzs7pFBh1RxOUhXi+PN0GlY4BLjItZIWKnstGWJ+EnrBuj3CywB9uGGVa1vSPpd6Q==</SignatureValue><KeyInfo><KeyName>30001000000500002554</KeyName><KeyValue><RSAKeyValue><Modulus>hUcUOoGEtSDAlrF8KegQkGKY8aDAe9tNRkf48uj1+YirDP4cMEd8YEelQY1jLu1GINYKf9N9XxmOfHdL4FUr+cuOgrBviaGWcIsJfZ80IGpvox6kUSHoRt+h32yQayW0HuNOp0b3yiBp9Y6jTdYTFTAVzgzUjf4LfVt8n5FejVZ2xERIyROnGgbK8A4xBsPpFazHQkK2PCiYe+LYBm0Ux9UZYkYJ9Mu9rL5c51Sjgq8JJekorp0BzfKadRrSEFyD2Z6GwB0RswjLZQspojZGxUnqlbldvO6TjFUV4MT7EV8P7f2VTS0yr4qSwx0y080zoK10CbIoJXfsFROHypFj5w==</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue></KeyInfo></Signature></Acuse>"
}Retenciones
Se cancelan con cancelarRetencion. Usa el PFX que cargaste con cargarPfx (y su contraseña en passwordPfx) o, si no hay, tu CSD.
