El problema que VeriFactu quiere resolver
Antes de VeriFactu, cualquier empresa podia emitir una factura, cobrarla, y despues eliminarla de su sistema sin dejar rastro. La AEAT no tenia forma de saber que esa operacion habia existido. Esto permitia el fraude fiscal a gran escala: se cobraba sin declarar, se eliminaban facturas inconvenientes, se alteraban importes.
VeriFactu hace imposible esto porque cada factura queda sellada con una firma criptografica que incluye su contenido y su relacion con la factura anterior. Si alguien modifica o elimina una factura, la cadena se rompe y la inconsistencia es detectable.
💡 Analogia: imagina que cada factura es un eslabon de una cadena. Si intentas romper o modificar un eslabon, toda la cadena queda visible como alterada. Eso es exactamente lo que hace VeriFactu con el hash SHA-256 encadenado.
Que es el hash SHA-256 de una factura
Un hash es una funcion matematica que convierte cualquier texto en una cadena de caracteres de longitud fija. Es como una huella dactilar digital: dos textos identicos producen siempre el mismo hash, y cualquier cambio minimo en el texto produce un hash completamente diferente.
SHA-256 es el algoritmo de hash mas usado en el mundo. El numero 256 se refiere a los 256 bits (64 caracteres hexadecimales) del resultado. Para VeriFactu, el hash se calcula con los datos clave de la factura:
- NIF del emisor
- Numero de factura
- Fecha de emision
- Importe total
- Hash de la factura anterior (encadenamiento)
El resultado es algo como: a3f8c2e1d4b7a9f0c3e2d1b8a7f6e5d4c3b2a1f0e9d8c7b6a5f4e3d2c1b0a9f8
La cadena de facturas: por que es inviolable
La clave del sistema no es el hash de una factura individual, sino el encadenamiento. El hash de cada factura incluye dentro de sus datos el hash de la factura anterior. Esto crea una cadena donde cada eslabon depende del anterior.
| Factura | Datos incluidos en el hash | Resultado |
|---|---|---|
| F-2026-001 | NIF + datos + hash inicial (0000...) | hash001 = a3f8c2... |
| F-2026-002 | NIF + datos + hash001 | hash002 = 9b2e7f... |
| F-2026-003 | NIF + datos + hash002 | hash003 = 5c1d4a... |
Si alguien intenta eliminar F-2026-002, el hash de F-2026-003 ya no coincidira. La inconsistencia es matematicamente detectable de forma inmediata.
El codigo QR de VeriFactu: que informacion contiene
El codigo QR que aparece en cada factura VeriFactu no es decorativo. Contiene una URL que apunta al sistema de verificacion de la AEAT. Cualquier persona (el cliente, un inspector, un auditor) puede escanear ese QR y comprobar que esa factura es autentica y que sus datos coinciden con lo que tiene registrado Hacienda.
La URL del QR sigue el formato oficial del sistema AEAT y contiene:
- NIF del emisor
- Numero de serie y numero de factura
- Fecha de expedicion
- Cuota total del IVA
- Importe total
- Indicador de si la factura es VeriFactu o TBAI
✅ DeclarApp genera automaticamente tanto el hash SHA-256 como el QR verificable en cada factura que emites. No necesitas saber nada de criptografia.
VeriFactu vs TBAI: diferencias clave
En Pais Vasco y Navarra existe un sistema equivalente llamado TBAI (TicketBAI). Aunque la idea es similar, hay diferencias importantes:
| VeriFactu (territorio comun) | TBAI (PV y Navarra) | |
|---|---|---|
| Envio a AEAT | Opcional (puede ser voluntario o SII) | Obligatorio en tiempo real |
| Ambito | Toda Espana excepto PV/Navarra | Pais Vasco y Navarra |
| Obligatorio desde | 1 enero 2027 (autonomos) | Ya vigente segun territorio |
| Hash | SHA-256 encadenado | SHA-256 + firma electronica |
Como lo genera tu software de facturacion
Si usas un software certificado como DeclarApp, el proceso es completamente automatico:
- Introduces los datos de la factura (cliente, concepto, importe, IVA).
- Al guardar, el sistema calcula el hash SHA-256 con los datos + el hash de la factura anterior.
- Se genera el QR con la URL de verificacion AEAT.
- La factura se descarga con el QR visible y el hash en el pie de pagina.
- El registro encadenado queda guardado en el sistema, listo para cualquier auditoria.
Todo esto ocurre en menos de un segundo, sin que tengas que hacer nada especial.
📱 VeriFactu automatico desde el primer dia
DeclarApp implementa el sistema VeriFactu completo: hash SHA-256 encadenado, QR AEAT y registro certificado. Empieza hoy con 30 dias gratis.
Crear cuenta gratuita →