En esta guía te explicamos de forma clara qué exige la Agencia Tributaria, qué elementos son obligatorios y cómo comprobar si tu software los cumple.
Qué es una factura VeriFactu
Una factura VeriFactu es aquella que cumple con todos los requisitos del Real Decreto 1007/2023, que regula los sistemas informáticos de facturación.
Puedes consultar el documento oficial aquí:
BOE – Real Decreto 1007/2023
Este RD exige que toda factura generada por software incluya mecanismos de seguridad que permitan demostrar:
- Que no ha sido modificada
- Que se emitió en un orden correcto
- Que su contenido es íntegro
- Que la trazabilidad puede verificarse en cualquier momento
- Que no existe manipulación del sistema
Elementos obligatorios que debe incluir una factura VeriFactu
A continuación te explicamos cada elemento, su función y cómo debe generarlo tu software.
1. Hash de la factura (firma criptográfica única)
El hash es un código único generado a partir de los datos esenciales de la factura (importe, fecha, número, emisor, etc.).
Es imposible modificar una factura sin que cambie su hash.
Debe cumplir los siguientes requisitos:
- Algoritmo definido por la AEAT
- Basado en datos reales de la factura
- Inalterable
- Generado automáticamente
- Registrado en el libro de trazabilidad
Función: Garantiza que la factura no ha sido alterada.
Si quieres ver cómo se implementa correctamente en un ERP, consulta:
Guía de hash VeriFactu en Odoo
2. Código QR obligatorio
El QR no es decorativo: contiene datos clave para verificación y permite que la AEAT o un inspector pueda validar inmediatamente la factura.
Debe incluir:
- Identificación del emisor
- Datos esenciales de la factura
- Hash
- Esquema de verificación
- Enlace para consulta
- Información de la firma
Referencia oficial AEAT QR:
AEAT – Cuestiones generales VeriFactu
Función: Permite al receptor o a la Administración verificar la validez y la integridad de la factura.
3. Identificador único e incremental
Cada factura debe tener un número que no pueda repetirse, alterarse ni retroceder.
Muchos programas antiguos permiten borrar facturas o cambiar la numeración, lo que incumple VeriFactu.
El identificador debe:
- Ser único
- Seguir un orden cronológico
- Estar vinculado al hash
- Registrarse en la trazabilidad
4. Registro de trazabilidad inalterable (logs VeriFactu)
El sistema debe mantener un libro de eventos donde se registren:
- Emisión
- Correcciones
- Anulaciones
- Cambios de estado
- Operaciones internas del software
Este registro no puede modificarse ni eliminarse.
Si tu software permite borrar facturas o cambiar su contenido sin rastro, no cumple VeriFactu.
Puedes consultar una guía completa aquí:
Cómo saber si tu software cumple VeriFactu
5. Firma electrónica del registro interno
No es necesario que el PDF tenga una firma electrónica visible, pero sí que el registro interno quede firmado para garantizar su inmutabilidad.
La firma:
- Debe generarse automáticamente
- Se aplica al registro, no al PDF
- Debe poder verificarse posteriormente
Función: asegura que los datos no se han alterado desde su creación.
6. Datos fiscales obligatorios del emisor y receptor
Además de los nuevos requisitos técnicos, la factura debe incluir los datos fiscales obligatorios del emisor y del cliente.
Incluye:
- Nombre o razón social
- NIF
- Dirección completa
- Conceptos
- Base imponible
- Tipo de IVA aplicado
- Total factura
7. Indicación de que es una «Factura VeriFactu»
Aunque no es obligatorio el texto literal, sí lo es que la factura incluya información visible del sistema antivirus utilizado.
Muchos software ya están añadiendo:
«Factura generada conforme al Sistema VeriFactu — RD 1007/2023».
Esto facilita al receptor identificar facturas reguladas.
8. Conservación de facturas en formato electrónico original
La AEAT exige mantener:
- La factura emitida
- El registro interno
- El hash
- El QR
- La secuencia cronológica
El software debe guardar automáticamente estos datos en una estructura no manipulable.
Qué NO puede hacer una factura VeriFactu
La normativa prohíbe expresamente:
❌ Borrar facturas
❌ Cambiar numeración
❌ Reordenar facturas
❌ Duplicar números
❌ Modificar datos sin registro
❌ Aplicar descuentos posteriores sin rastro contable
Si tu software permite alguna de estas acciones, no cumple VeriFactu.
Cómo comprobar si tus facturas cumplen los requisitos
Puedes seguir este checklist rápido:
- ¿Tu software genera hash?
- ¿El PDF incluye QR?
- ¿Existe un registro interno inalterable?
- ¿El número de factura no puede retroceder?
- ¿El sistema genera firma del registro?
- ¿Los datos fiscales son completos?
- ¿Los datos se guardan automáticamente?
Si alguna respuesta es «no», tu sistema necesita adaptación.
Puedes ver una guía completa aquí:
Digitalizar facturación y cumplir con VeriFactu
Preguntas frecuentes
¿Puede la factura ser en papel?
Sí, pero debe haberse generado en un sistema VeriFactu con hash y QR válidos.
¿Puedo emitir facturas simplificadas?
Sí, pero deben cumplir los requisitos técnicos.
¿Mi software debe enviar información automáticamente a la AEAT?
Solo si optas por la modalidad VERI•FACTU con envío voluntario. No es obligatorio para todos.
