
Tipos de relación CFDI: catálogo y cuándo usar cada clave
17 de mayo de 2026
Cancelaste un CFDI con error, emitiste el nuevo, y al intentar cancelar el original el SAT te responde que no puede proceder porque el sustituto no está relacionado correctamente. El CFDI nuevo está timbrado y válido, pero usaste la clave de relación equivocada, y ahora tienes dos comprobantes vivos por la misma operación. Este es el costo de equivocarse con los tipos de relación CFDI, y pasa más seguido de lo que parece porque el PAC no te avisa: timbra el comprobante con la clave mal puesta sin chistar.
El nodo de CFDI relacionados es de esos campos que parecen triviales hasta que un proceso de sustitución se rompe en producción. Las siete claves del catálogo c_TipoRelacion se ven intercambiables en la documentación. No lo son. Este post explica cuál usar en cada caso y por qué la clave 04 es la que más errores genera.
Qué son los CFDI relacionados
Los CFDI relacionados son comprobantes que apuntan a otro CFDI previo mediante su UUID, usando una de las siete claves del catálogo c_TipoRelacion. Sirven para que el SAT entienda que un comprobante corrige, sustituye, devuelve o complementa a otro, en lugar de tratarlos como operaciones independientes sin conexión entre sí.
Sin esa relación, el SAT ve dos facturas separadas. Con ella, entiende la historia: que la segunda nació de la primera. Esa diferencia es la que permite cancelar correctamente, deducir una devolución o cerrar un anticipo sin duplicar ingresos.
Tipos de relación CFDI: el catálogo c_TipoRelacion
El catálogo tiene exactamente siete claves. Las descripciones son las del SAT y no cambian. Lo que importa, y lo que la documentación oficial no explica bien, es cuándo aplica cada una en la práctica.
| Clave | Descripción (SAT) | Cuándo usarla |
|---|---|---|
01 | Nota de crédito de los documentos relacionados | El nuevo CFDI es una nota de crédito (egreso) que reduce el monto de una factura previa por descuento, bonificación o corrección a la baja. |
02 | Nota de débito de los documentos relacionados | El nuevo CFDI incrementa el monto de un comprobante previo (intereses, cargos adicionales) sin emitir una factura nueva completa. |
03 | Devolución de mercancía sobre facturas o traslados previos | El cliente devolvió producto y emites un egreso que documenta esa devolución contra la factura original. |
04 | Sustitución de los CFDI previos | El nuevo CFDI reemplaza a uno cancelado por error. Es la clave del ciclo cancelar y reemitir. |
05 | Traslados de mercancías facturados previamente | Hay un CFDI de traslado y luego se factura esa mercancía que ya se había trasladado. |
06 | Factura generada por los traslados previos | Inverso del 05: primero se trasladó la mercancía y después se genera la factura de esos traslados. |
07 | CFDI por aplicación de anticipo | Cierras un anticipo: la factura del monto total se relaciona con el CFDI de anticipo recibido antes. |
La mayoría de las integraciones solo usan tres de estas siete en el día a día: la 01 para notas de crédito, la 04 para sustituciones y la 07 para anticipos. Las claves 05 y 06 aparecen casi siempre juntas en operaciones con CFDI de traslado, y la 02 es rara porque la mayoría prefiere emitir una factura nueva en lugar de una nota de débito.
Un detalle de CFDI 4.0 que rompe integraciones migradas desde 3.3: ahora puedes tener varios nodos CfdiRelacionados, uno por cada TipoRelacion, cada uno con sus propios UUID. En 3.3 era un solo nodo. Si tu código asume un único bloque de relación, se rompe en el primer caso donde un CFDI sustituye a uno y a la vez aplica un anticipo.
Sustitución de CFDI: el caso 04 que casi todos confunden
La sustitución de CFDI usa la clave 04, y es la que más problemas causa porque está atada al proceso de cancelación. La secuencia correcta importa: primero emites el CFDI sustituto relacionando el UUID del original con TipoRelacion="04", y después cancelas el original indicando el folio del sustituto. Hacerlo al revés es el error clásico.
Si cancelas el CFDI original primero y luego intentas emitir el sustituto, te quedas sin la referencia que el motivo de cancelación 01 ("comprobante emitido con errores con relación") exige. El SAT pide el folio fiscal del comprobante que sustituye al cancelado, y ese folio no existe todavía si no lo emitiste antes. El detalle completo de los motivos de cancelación está en la guía de cancelación de facturas, pero la regla para esta discusión es simple: el sustituto nace antes de que el original muera.
El nodo en el XML del sustituto se ve así:
<cfdi:CfdiRelacionados TipoRelacion="04">
<cfdi:CfdiRelacionado UUID="A1B2C3D4-1234-5678-9ABC-DEF012345678"/>
</cfdi:CfdiRelacionados>
Aquí está la trampa que nadie documenta: el PAC valida que el UUID exista y tenga formato correcto, pero no valida que la clave de relación sea la lógicamente correcta. Si pones 01 donde debió ir 04, el CFDI se timbra igual. El comprobante queda mal relacionado y nadie se entera hasta que la cancelación del original falla o hasta que el SAT cruza la información y genera una observación. El error es silencioso en el momento del timbrado y ruidoso semanas después.
Cómo se relaciona un CFDI correctamente
El orden de las operaciones es lo que separa una sustitución limpia de un par de comprobantes duplicados que después hay que explicarle a un auditor.
Identifica la relación real entre los comprobantes#
Antes de elegir la clave, define qué está pasando: corriges a la baja (01), devuelves mercancía (03), reemplazas por error (04) o cierras un anticipo (07). La clave describe la relación real, no la que sea más fácil de poner.
Emite primero el comprobante nuevo#
El CFDI que relaciona se emite antes de cancelar nada. En una sustitución, el sustituto se timbra primero con el UUID del original y TipoRelacion="04".
El UUID en CfdiRelacionado debe ser el folio fiscal exacto del comprobante original, ya timbrado. Un UUID con un carácter cambiado se timbra igual y rompe la trazabilidad sin avisar.
Cancela el original con el motivo y folio correctos#
Solo si aplica una sustitución. El motivo 01 exige el folio del sustituto que ya emitiste. Sin ese folio la cancelación no procede.
Confirma el estado de ambos comprobantes#
El original debe quedar cancelado y el nuevo vigente y relacionado. No asumas el resultado: consúltalo. Un original vivo y un sustituto vigente significan ingreso duplicado.
Errores comunes con la relación de CFDI
Cancelar el CFDI original antes de emitir el sustituto es el error más caro de toda esta cadena. El motivo de cancelación 01 exige el folio fiscal del comprobante sustituto, y si no existe porque no lo emitiste primero, te quedas con un CFDI cancelado sin reemplazo y una operación sin comprobante válido. El orden no es negociable: sustituto primero, cancelación después.
Cómo manejar la relación de CFDI programáticamente
El error de relación casi nunca es de criterio fiscal, es de orquestación. El equipo sabe que una sustitución usa 04, pero el sistema cancela y reemite en el orden equivocado, o arma el nodo CfdiRelacionados asumiendo un solo bloque, o no verifica el UUID antes de timbrar. Todo eso es lógica de aplicación que se rompe en los casos que no se probaron.
Fiscalapi expone la relación de comprobantes como parte del flujo de emisión y ordena la secuencia de sustitución para que el sustituto se timbre antes de cancelar el original, evitando el escenario del CFDI cancelado sin reemplazo. El manejo de múltiples nodos CfdiRelacionados de CFDI 4.0, la validación del UUID y los motivos de cancelación están descritos en la documentación de Fiscalapi, y los SDKs oficiales en C#, Node.js, Python, Java, PHP y Go incluyen el flujo de sustitución como una sola operación. Los ejemplos en GitHub muestran el ciclo completo de cancelar y reemitir con la relación correcta. Si el caso es un cierre de pago diferido, el complemento de pago tiene su propia lógica de relación que conviene revisar aparte.
Preguntas frecuentes sobre los tipos de relación CFDI
Si tu sistema todavía cancela primero y reemite después, ese es el orden que vale la pena invertir antes de la próxima corrección masiva. La clave 04 mal orquestada no falla en el timbrado: falla semanas después, cuando ya tienes cientos de comprobantes que relacionar a mano y un auditor preguntando por qué hay ingreso duplicado.