Orden HAC/1177/2024: especificaciones técnicas Verifactu (registros, hash, QR)
Orden HAC/1177/2024, de 17 de octubre: desarrollo técnico del RD 1007/2023. Estructura del registro de facturación, hash SHA-256, encadenamiento, QR y eventos.
¿Qué es la Orden HAC/1177/2024?
La Orden HAC/1177/2024, de 17 de octubre es la norma de rango ministerial que desarrolla el detalle técnico del RD 1007/2023. El RD establece el marco general (qué debe hacer un software adaptado); la Orden establece exactamente cómo debe hacerlo: campos, formatos, algoritmos, estructura del código QR, contenido del log de eventos.
Es la norma que tiene que leer cualquier desarrollador para implementar Verifactu en su producto. Para usuarios finales (autónomos, pymes) es relevante saber que existe, pero el detalle técnico no aplica directamente: lo aplica el software que utilizan.
Se publicó en el BOE el 28 de octubre de 2024 y está plenamente en vigor.
Qué desarrolla: las 4 áreas técnicas
1. Estructura del registro de facturación
La Orden fija exactamente qué campos debe contener cada registro que genera un sistema informático de facturación:
- Identificación del obligado tributario (NIF, nombre).
- Datos del destinatario (cuando aplica).
- Tipo de factura (completa, simplificada, rectificativa).
- Base imponible, cuota, tipo de IVA.
- Importe total.
- Fecha de expedición y de operación.
- Identificación del registro anterior (para el encadenamiento).
- Hash del propio registro.
- Versión del software emisor.
El formato es XML ajustado al esquema técnico publicado por la AEAT.
2. Algoritmo de hash y encadenamiento
- Algoritmo: SHA-256.
- Codificación: Base64 o hexadecimal según el contexto.
- Encadenamiento: cada registro incluye, en uno de sus campos, el hash del registro inmediatamente anterior emitido por el mismo sistema.
- Inicio de la cadena: el primer registro de un sistema lleva un valor predefinido como hash anterior.
Esto convierte la secuencia de facturas en una cadena criptográfica inalterable: modificar una factura intermedia rompe la integridad de todas las posteriores y es detectable por la AEAT.
3. Código QR de la factura
La Orden detalla el contenido y formato del QR:
- Datos codificados: NIF emisor, número de factura, fecha de expedición, importe total y un identificador de cotejo.
- En modalidad Verifactu: el QR enlaza a una URL de la sede AEAT donde se puede verificar la factura.
- En modalidad no Verifactu: el QR contiene los datos suficientes para verificación local.
- Tamaño mínimo y posición: definidos para garantizar legibilidad por dispositivos comunes.
4. Registro de eventos (log)
Toda operación relevante del sistema debe quedar registrada en un log inalterable:
- Inicio y cierre de sesión.
- Generación, modificación o anulación de facturas.
- Errores y excepciones.
- Cambios de configuración del sistema.
El log también está encadenado por hash y debe poder ponerse a disposición de la AEAT cuando lo solicite.
Diferencia con el RD 1007/2023
| Norma | Función | Audiencia |
|---|---|---|
| RD 1007/2023 | Marco general: crea el sistema, define obligaciones, plazos, sanciones | Usuarios + desarrolladores |
| Orden HAC/1177/2024 | Detalle técnico: cómo se implementa exactamente cada requisito | Principalmente desarrolladores |
Las dos normas se leen juntas. El RD es el “qué”; la Orden es el “cómo”.
Implicaciones para los desarrolladores de software
Cualquier productor o comercializador de software adaptado a Verifactu debe:
- Implementar el esquema XML publicado en la Orden.
- Aplicar SHA-256 correctamente para hash y encadenamiento.
- Generar el QR en cada factura con los datos exactos exigidos.
- Mantener el log de eventos de forma inalterable.
- Presentar declaración responsable ante la AEAT acreditando que el producto cumple la Orden y el RD.
- Aparecer en el listado público de software con declaración responsable de la AEAT.
Un software que no cumpla la Orden HAC/1177/2024 no puede presentar declaración responsable y, en consecuencia, no es legalmente comercializable como software Verifactu adaptado en España.
Implicaciones para usuarios finales
Aunque la Orden está pensada para desarrolladores, hay dos cosas que un usuario final debe entender:
- El QR de la factura no es decorativo. Es obligatorio, lleva contenido específico y debe poder ser leído. Una factura sin QR válido es factura no conforme.
- El sistema lleva un log que tú no puedes editar. Cualquier intento de manipular el log (con herramientas externas) constituye un incumplimiento grave y queda detectable.
Relación con el resto del silo normativo
- Habilitación legal: Ley 11/2021.
- Marco general: RD 1007/2023.
- Plazos vigentes: RDL 15/2025.
- Detalle técnico: esta Orden.