
Sustitución de CFDI previos: cómo refacturar paso a paso
19 de julio de 2026
Emitiste una factura con el RFC equivocado, un importe mal calculado o una clave de producto que no era. El SAT no permite editar un CFDI timbrado, ni una coma. La única salida es la sustitución de CFDI previos: emites un comprobante nuevo que corrige al anterior y cancelas el original declarando que fue sustituido. Suena simple. En la práctica, el orden de las operaciones y un par de campos mal llenados convierten este trámite de 5 minutos en una factura imposible de cancelar.
Qué es la sustitución de CFDI previos
La sustitución de CFDI previos es el procedimiento del SAT para reemplazar una factura timbrada que contiene errores. Consiste en emitir un nuevo CFDI relacionado al original mediante la clave de relación 04 y después cancelar el comprobante original con el motivo de cancelación 01, indicando el folio fiscal del CFDI que lo sustituye.
El resultado: el CFDI original queda cancelado, el nuevo queda vigente, y ante el SAT existe un rastro explícito de que uno reemplazó al otro. Ese rastro es lo que protege la deducibilidad de tu cliente y evita que el ingreso se duplique en tus declaraciones.
Cuándo sustituir una factura y cuándo solo cancelarla
No todo error amerita sustitución. La decisión depende de si la operación existió y de si habrá un comprobante de reemplazo:
| Situación | Qué hacer | Motivo de cancelación |
|---|---|---|
| Factura con errores (RFC, importes, claves) y la operación sí existió | Sustituir: emitir CFDI nuevo y cancelar el original | 01, con relación al sustituto |
| Factura con errores pero no habrá reemplazo | Solo cancelar | 02, sin relación |
| La operación nunca se concretó | Solo cancelar | 03 |
| Venta nominativa que ya estaba en una factura global | Cancelar la global relacionada | 04 |
La confusión clásica: el motivo de cancelación 01 y la clave de relación 04 trabajan en pareja, pero son catálogos distintos. El 04 va en el CFDI nuevo (campo TipoRelacion). El 01 va en la solicitud de cancelación del CFDI viejo. Si quieres el detalle de cada clave de relación, el catálogo completo está en la guía de tipos de relación CFDI.
Cómo sustituir una factura en el SAT paso a paso
El orden es la parte que más gente rompe. Primero se emite el sustituto, después se cancela el original. Nunca al revés.
Emite el CFDI sustituto con relación 04#
Genera la factura corregida. En el nodo CfdiRelacionados declara TipoRelacion = 04 (sustitución de los CFDI previos) y agrega el UUID del comprobante original. Sin este nodo, el nuevo CFDI no tiene ningún vínculo con el que pretende sustituir.
Guarda el folio fiscal del sustituto#
Al timbrar, el PAC asigna al nuevo comprobante su propio folio fiscal (UUID). Lo vas a necesitar en el siguiente paso: la cancelación con motivo 01 exige declararlo.
Cancela el CFDI original con motivo 01#
Solicita la cancelación del comprobante viejo indicando motivo 01 (comprobante emitido con errores con relación) y el UUID del sustituto en el campo de folio de sustitución. El SAT valida que ese UUID exista y esté vigente.
Verifica el estatus de ambos comprobantes#
El original debe quedar cancelado (o en espera de aceptación del receptor) y el sustituto vigente. Si el receptor rechaza la cancelación, el proceso queda a medias y tienes dos CFDI vivos por la misma operación.
Si cancelas primero con motivo 01, el SAT rechaza la solicitud porque no tienes UUID de sustitución que declarar. Y si cancelas con motivo 02 "para ahorrarte el paso" y luego emites la factura nueva sin relación, rompes el rastro documental: ante una revisión, esa factura nueva parece una operación distinta.
El flujo completo, visto de corrido:
Los plazos y los casos donde la cancelación necesita aceptación del receptor tienen su propia letra chica; están cubiertos en la guía de cómo cancelar una factura en el SAT.
La relación 04: qué valida el SAT y qué no
Cuando timbras el CFDI sustituto, el PAC valida que el UUID relacionado tenga formato válido, pero el SAT no verifica en ese momento que el comprobante original tenga errores reales ni que vayas a cancelarlo después. Esto tiene dos consecuencias prácticas.
La primera: puedes emitir el sustituto con calma, revisarlo, y solo entonces disparar la cancelación. No hay un plazo de minutos entre un paso y otro.
La segunda es menos amable. Como el SAT no te obliga a completar el ciclo, he visto sistemas en producción con decenas de facturas "sustituidas" cuyo original nunca se canceló. Cada una de esas parejas duplica el ingreso ante el SAT, y el error no aparece hasta que contabilidad concilia contra el visor de nómina o la declaración anual prellenada. Si automatizas la sustitución, automatiza también la verificación del estatus final de ambos UUIDs.
Errores comunes al sustituir CFDI
Sustituir una factura PUE pagada con otra forma de pago. Si la factura original salió PUE con forma de pago 01 (efectivo) pero el cliente terminó pagando por transferencia, la corrección correcta es sustituir el CFDI con la forma de pago real. El error común es intentar "corregirlo" con un complemento de pago, que solo aplica a facturas PPD. La diferencia entre ambos métodos está explicada en PUE vs PPD.
Cadenas de sustitución. Sustituiste una factura y el sustituto también salió mal. Se puede sustituir al sustituto (el nuevo relaciona con 04 al UUID del segundo, no al del primero), pero cada eslabón debe cerrar su ciclo de cancelación. Una cadena de tres facturas donde solo la última está vigente y las dos anteriores canceladas es válida. Tres facturas vigentes de la misma operación es un problema de auditoría.
Relacionar el UUID equivocado. El nodo CfdiRelacionados acepta el UUID que le pongas mientras tenga formato válido. Si por error relacionas el folio fiscal de otra factura, el timbrado pasa y el desastre se descubre semanas después. Valida contra tu base de datos antes de timbrar, no después.
Sustituir en un ejercicio posterior a la deducción. Si tu cliente ya dedujo la factura original en 2025 y la sustituyes en 2026, el CFDI vigente queda fechado en un ejercicio distinto al de la deducción. Este escenario tiene efectos fiscales que dependen del caso; lo relevante operativamente es evitarlo sustituyendo dentro del mismo ejercicio siempre que se pueda.
Cómo automatizar la sustitución de CFDI
Hacer este flujo a mano en el portal del SAT es viable para dos facturas al mes. Para un sistema que factura en volumen, la sustitución necesita ser una operación de tu backend: emitir el sustituto con su relación 04, cancelar el original con motivo 01 y verificar ambos estatus, todo en una secuencia controlada con reintentos.
La API de Fiscalapi expone la emisión con CFDI relacionados y la cancelación con motivo y folio de sustitución como llamadas REST en JSON, sin que tengas que construir el XML de la relación a mano. El flujo completo está documentado en la documentación de Fiscalapi y hay ejemplos de integración en los SDKs oficiales.