Qué es la huella o hash de una factura y para qué sirve

«Huella», «hash», «encadenamiento»… El vocabulario de VeriFactu suena a informática, pero la idea es sencilla y conviene entenderla: explica por qué ya no se pueden borrar facturas y por qué los errores se corrigen de otra manera. No necesitas saber programar para seguir este artículo.
Qué es un hash, explicado sin tecnicismos
Un hash es el resultado de aplicar una fórmula matemática a un conjunto de datos. Esa fórmula tiene tres propiedades que la hacen útil:
- Siempre da el mismo resultado para los mismos datos.
- Cualquier cambio mínimo (un céntimo, una cifra del número de factura) produce un resultado totalmente distinto.
- No se puede ir hacia atrás: a partir del hash no se pueden reconstruir los datos, ni fabricar otros datos que den el mismo hash.
Funciona como una huella dactilar de los datos, y de ahí el nombre que usa la normativa española: huella. El algoritmo que fija la Orden HAC/1177/2024 para los registros de facturación es SHA-256, que produce un código de 64 caracteres hexadecimales (números del 0 al 9 y letras de la A a la F).
Qué datos de la factura entran en la huella
La huella no se calcula sobre el PDF de la factura, sino sobre el registro de facturación que genera el programa. Según las especificaciones técnicas publicadas por la AEAT, para un registro de alta se usan, entre otros, estos campos:
| Campo | Qué es |
|---|---|
| IDEmisorFactura | NIF de quien emite la factura |
| NumSerieFactura | Número y serie de la factura |
| FechaExpedicionFactura | Fecha de expedición |
| TipoFactura | Completa, simplificada, rectificativa… |
| CuotaTotal | Suma de las cuotas de IVA |
| ImporteTotal | Importe total de la factura |
| Huella | La huella del registro anterior |
| FechaHoraHusoGenRegistro | Fecha, hora y huso horario en que se generó el registro |
Para los registros de anulación se usan campos equivalentes de la factura anulada. El detalle exacto, incluido el formato de cada campo, está en la documentación técnica de la sede de la AEAT; es tarea del fabricante del programa aplicarlo, no tuya.
El encadenamiento: por qué no se puede borrar una factura
El punto clave es el campo «Huella»: cada registro incluye la huella del registro anterior. Eso crea una cadena en la que cada eslabón depende de todos los anteriores.
Ejemplo con datos reales de cálculo
Supongamos una empresa ficticia con NIF B12345678 que emite la factura 2027-0042 por 121,00 € (100 € de base y 21 € de IVA; cifras de ejemplo). La factura anterior, la 2027-0041, tenía esta huella:
62E7982F83C179AC5A61BC95CF9697CDCACE8CB4927500653B9B97062FBD8F5E
El programa une los datos de la nueva factura con esa huella en una cadena de texto con un formato fijo, parecida a esta (ilustrativa):
IDEmisorFactura=B12345678&NumSerieFactura=2027-0042&FechaExpedicionFactura=15-03-2027&TipoFactura=F1&CuotaTotal=21.00&ImporteTotal=121.00&Huella=62E7…8F5E&FechaHoraHusoGenRegistro=2027-03-15T10:24:05+01:00
Al aplicar SHA-256 a esa cadena completa se obtiene la huella de la 2027-0042:
5896C0580DFE66EBBFEA8C6886F314C3D0C5EBE0F1571D07016A4CCCB4C36C07
Si alguien intentara cambiar después el importe a 112,00 €, la huella pasaría a ser:
0E9F14AB4951D4EEBF65DFC2E5398E2D398ADEB867012C1C8EC89BC048D0B72E
No se parece en nada a la original. Y como la factura 2027-0043 lleva dentro la huella original de la 2027-0042, la cadena dejaría de cuadrar a partir de ese punto.
Qué ocurre con cada tipo de manipulación
| Manipulación | Qué delata la cadena |
|---|---|
| Cambiar el importe de una factura | Su huella cambia y no coincide con la que guarda el registro siguiente. |
| Borrar una factura | El registro siguiente apunta a una huella que ya no existe. |
| Insertar una factura con fecha antigua | No encaja en la cadena sin recalcular todas las posteriores, y la fecha y hora de generación del registro la delata. |
| Recalcular toda la cadena | En VeriFactu, la AEAT ya tiene las huellas originales. En No VeriFactu, cada registro va firmado electrónicamente y hay un registro de eventos. |
Hash no es lo mismo que firma electrónica
Es una confusión frecuente. La huella demuestra que los datos no han cambiado respecto a una referencia, pero cualquiera podría calcularla. La firma electrónica, en cambio, demuestra quién ha generado el registro, porque requiere un certificado. Por eso:
- En modalidad VeriFactu basta con la huella: el envío inmediato a la AEAT hace de garantía.
- En modalidad No VeriFactu, además de la huella, cada registro debe ir firmado electrónicamente.
Lo comparamos con más detalle en diferencias entre VeriFactu y No VeriFactu.
¿La huella aparece en la factura?
No. La huella queda en el registro de facturación, no impresa en la factura. Lo que sí aparece es el código QR, que contiene el NIF del emisor, el número, la fecha y el importe, para que el cliente pueda cotejar la factura. Lo explicamos en qué contiene el código QR de las facturas VeriFactu.
Qué implica la huella para tu forma de trabajar
- Una factura emitida es definitiva. Si te equivocas, emites una factura rectificativa, que genera su propio registro en la cadena.
- Si una factura se registró por error y no llegó a expedirse, el programa genera un registro de anulación, que también se encadena. El registro original no desaparece.
- No mezcles programas sin control. Si facturas con dos sistemas distintos, cada uno debe cumplir el reglamento por su cuenta.
- Revisa antes de emitir. El NIF del cliente, la fecha y el importe pasan a formar parte de la cadena en cuanto pulsas «emitir».
Esta misma técnica de encadenar huellas se usa en otros ámbitos donde importa demostrar que un registro no se ha tocado, como el registro de jornada o los registros notariales electrónicos. No es una invención de Hacienda, sino un método estándar de integridad.
Huellas y VeriFactu, sin que tengas que pensar en ellas
En Gestonet la huella, el encadenamiento, el QR y el envío a la AEAT los gestiona el sistema al emitir cada factura del portal del cliente. Las correcciones se hacen con rectificativas, nunca borrando, y la gestoría ve el estado de cada envío. Si quieres verlo en funcionamiento, conoce Gestonet.
Preguntas frecuentes
¿Qué algoritmo se usa para calcular la huella de una factura VeriFactu?
SHA-256, según las especificaciones técnicas de la Orden HAC/1177/2024. Produce un código de 64 caracteres hexadecimales.
¿Tengo que calcular yo la huella?
No. La calcula el programa de facturación de forma automática al generar cada registro. Tu responsabilidad es usar un programa adaptado y no manipularlo.
¿Qué pasa si borro una factura en un sistema con huella encadenada?
Un sistema adaptado no debe permitirlo. Si se forzara, el registro siguiente apuntaría a una huella inexistente y la manipulación quedaría a la vista. Los errores se corrigen con rectificativas o registros de anulación.
¿El cliente puede ver la huella de mi factura?
No en la factura. El cliente ve el código QR, que contiene el NIF del emisor, el número, la fecha y el importe para cotejarla en la AEAT.
Fuentes oficiales
- AEAT · Sistemas informáticos de facturación y VeriFactu (información técnica)
- BOE · Orden HAC/1177/2024, especificaciones técnicas
Este artículo tiene carácter informativo y no sustituye al asesoramiento profesional. La normativa puede cambiar: comprueba siempre la información vigente en las fuentes oficiales o consulta tu caso con tu gestoría.


