Hash de encadenamiento VeriFactu: la cadena que protege tu facturación
El hash de encadenamiento VeriFactu es uno de los mecanismos antifraude más importantes del sistema. Cada factura incluye un código SHA-256 que se calcula a partir de los datos de la propia factura más el hash de la factura anterior. El resultado es una cadena de bloques inalterable: cambiar una factura del medio invalida todas las posteriores. Está regulado en el RD 254/2025 y desarrollado en la Orden Ministerial HAC/1177/2024.
Cómo funciona el encadenamiento
Cada factura emitida por un sistema VeriFactu genera un registro con esta estructura:
- Datos identificativos: NIF emisor, número factura, fecha de expedición.
- Importe y desglose: base imponible, IVA, total.
- Hash factura anterior: el SHA-256 calculado en la factura inmediatamente precedente del mismo emisor.
- Hash propia: el SHA-256 calculado a partir de la concatenación de todos los campos anteriores.
Algoritmo SHA-256: por qué este
SHA-256 (Secure Hash Algorithm de 256 bits) es un algoritmo criptográfico estándar mundial:
- Produce siempre un hash de 64 caracteres hexadecimales.
- Cualquier cambio mínimo en la entrada produce un hash totalmente distinto (efecto avalancha).
- Es irreversible: no se puede deducir la entrada original a partir del hash.
- Es determinista: la misma entrada produce siempre el mismo hash.
- No tiene colisiones conocidas (dos entradas distintas con el mismo hash).
Estructura del registro de facturación
El art. 8 del RD 254/2025 detalla el contenido del registro:
- NIF y nombre del obligado tributario.
- Número y serie de la factura.
- Fecha de expedición y, en su caso, de la operación.
- Tipo de factura (F1 normal, F3 simplificada, R1 rectificativa…).
- Descripción de la operación.
- Base imponible, cuota de IVA y total.
- Hash factura inmediatamente anterior del mismo emisor.
- Hash de la factura actual.
- Marca temporal con resolución de segundo.
Ejemplo del cálculo del hash
Supongamos que la factura FC-2026/0042 de NIF B12345678 tiene estos datos:
- NIF emisor: B12345678
- Número: FC-2026/0042
- Fecha: 2026-05-18
- Base imponible: 1.000,00 €
- Cuota IVA: 210,00 €
- Total: 1.210,00 €
- Hash factura anterior FC-2026/0041:
a3f5...8d72
El hash de FC-2026/0042 sería SHA-256(B12345678|FC-2026/0042|2026-05-18|1000.00|210.00|1210.00|a3f5...8d72) = un nuevo SHA-256 de 64 caracteres que se incluye en la propia factura y en el envío a la AEAT.
Por qué impide la modificación retroactiva
Imagina que un autónomo intenta cambiar la factura FC-2026/0042 a posteriori para bajar la base imponible. Al recalcular su hash, este cambia. Pero ese hash ya está embebido en la factura FC-2026/0043. Para que la cadena cuadrara, debería recalcular también el hash de la 43 — y este afecta al de la 44, etc. Modificar una factura del medio implica recalcular toda la cadena posterior, y como la AEAT ya tiene los hashes originales recibidos en VeriFactu, detecta inmediatamente la incongruencia.
Importante: el sistema NO impide cambios en facturas individuales fuera del sistema; el efecto disuasorio es la imposibilidad de cambiar el registro sin ser detectado por la AEAT en una inspección.
Validación por la AEAT
El portal Sede Electrónica AEAT permite a cualquier ciudadano validar una factura mediante el QR VeriFactu, comprobando:
- La factura existe en los servidores de la AEAT (si el emisor está en modo "VeriFactu").
- El hash recalculado coincide con el almacenado.
- El emisor está dado de alta y la cadena no presenta saltos.
Sistemas VeriFactu vs no VeriFactu
- Sistemas VeriFactu: envían cada factura a la AEAT en tiempo real. La cadena se almacena en los servidores de la AEAT (mayor garantía).
- Sistemas no VeriFactu: el hash sigue existiendo pero solo se entrega a la AEAT cuando se solicita en inspección. Mayor obligación de conservar el huddle local.
Relación con otros conceptos
- VeriFactu (concepto general).
- QR de verificación AEAT: incluye el hash codificado.
- Factura electrónica: marco general.
- TicketBAI: sistema análogo en País Vasco con hash propio.
Base legal
- RD 1007/2023 — desarrollo del SIF (Sistema Informático de Facturación).
- RD 254/2025 — Reglamento VeriFactu definitivo.
- Orden HAC/1177/2024 — especificaciones técnicas SHA-256 y formato XML.
- Art. 29 Ley 58/2003 LGT — obligaciones formales del SIF.
Preguntas frecuentes
¿Si pierdo el hash de una factura anterior, puedo seguir facturando?
Si tu sistema de facturación es VeriFactu integrado, no deberías perderlo: el sistema lo conserva persistentemente. Si pierdes el rastro (cambio de software, error técnico), el RD 254/2025 prevé un mecanismo de "reinicio de cadena" con incidencia notificada a la AEAT. Lo recomendable: usar un sistema certificado que automatice el almacenamiento y respaldo del hash.
¿El hash SHA-256 es suficiente o necesito también firma electrónica?
En modo "VeriFactu" basta el hash y el envío en tiempo real. En modo "no VeriFactu" (sistemas que no envían cada factura), se exige adicionalmente firma electrónica avanzada para garantizar autenticidad. La diferencia clave: VeriFactu = AEAT custodia + valida; no VeriFactu = tú custodias + firmas digitalmente.
¿Cómo verifico que un proveedor está usando VeriFactu correctamente?
Escanea el QR de la factura recibida con tu móvil. Si el sistema VeriFactu del proveedor envía las facturas, te redirige a la Sede AEAT y muestra los datos validados. Si no aparece (sistema no VeriFactu), el QR es solo informativo. Para tu deducción de IVA es indiferente, pero como cliente puedes preferir trabajar con proveedores VeriFactu por trazabilidad.
FactuChat genera la cadena VeriFactu sin tocar nada
Cada factura emitida con FactuChat incluye automáticamente el hash SHA-256 encadenado con la anterior y se envía a la AEAT en tiempo real. Cumples el RD 254/2025 desde la primera factura.
Empezar gratis en Telegram