
No hace falta ser informático para entender qué debe cumplir tu programa de facturación, pero sí conviene saber lo mínimo para poder hacer las preguntas correctas a tu proveedor antes de contratarlo o de confiar en que «ya está adaptado». En este artículo traducimos a lenguaje llano los requisitos técnicos que marca el Reglamento Verifactu (Real Decreto 1007/2023) y su desarrollo técnico, la Orden HAC/1177/2024.
Los cuatro principios que debe garantizar tu software
Toda la normativa técnica se apoya en cuatro ideas de fondo, recogidas como principios en el propio Reglamento:
- Integridad: los datos de cada factura no pueden alterarse una vez generados.
- Inalterabilidad: no se pueden borrar ni modificar registros de facturación ya creados; como mucho, se puede generar un nuevo registro que anule o corrija al anterior, pero el rastro queda siempre.
- Trazabilidad: cada registro debe poder relacionarse de forma verificable con el anterior y el siguiente, formando una secuencia continua.
- Conservación, accesibilidad y legibilidad: los registros deben guardarse el tiempo exigido por ley y poder consultarse en un formato electrónico legible, tanto por el propio negocio como por la Agencia Tributaria si los solicita.
Todo lo demás (el hash, la firma, el QR) son mecanismos técnicos concretos para garantizar, en la práctica, estos cuatro principios.
El «registro de facturación»: la pieza central del sistema
Cada vez que emites una factura (completa o simplificada), tu software debe generar lo que la normativa llama un registro de facturación: un conjunto de datos estructurado que actúa como una especie de «expediente digital» de esa factura, con toda la información necesaria para poder verificarla más adelante. Además de las facturas, el sistema también puede generar registros de evento, que documentan ciertas acciones relevantes del propio programa (por ejemplo, una anulación).
Encadenamiento y huella digital (hash): así se detecta cualquier manipulación
Este es el corazón técnico de Verifactu. Cada registro de facturación incluye una huella digital o «hash», calculada mediante un algoritmo criptográfico (previsiblemente basado en SHA-256) a partir de un subconjunto de los datos de esa factura y, de forma crucial, incorporando también la huella del registro anterior. Esto crea una cadena: si alguien intentara alterar o eliminar una factura ya emitida, la huella de ese registro dejaría de coincidir con la que tiene almacenada el registro siguiente, y la cadena quedaría «rota» en ese punto, dejando un rastro imposible de disimular.
El propio sistema debe permitir, además, navegar por esa cadena (ir al registro anterior o posterior desde cualquier factura) e indicar de forma visible si el encadenamiento es correcto en cada salto, así como lanzar comprobaciones periódicas o bajo demanda de toda o parte de la cadena. En la práctica, como usuario no vas a interactuar directamente con estos mecanismos: es tu software el que debe implementarlos de forma transparente para ti.
Firma electrónica: ¿cuándo es obligatoria?
Aquí hay un matiz que se explica poco y genera confusión: la firma electrónica no siempre es obligatoria.
- Si tu sistema opta por la modalidad Verifactu (envío automático y en tiempo prácticamente real de los registros a la AEAT), basta con que calcule correctamente la huella o hash de cada registro; no es necesario firmarlos electrónicamente, porque la propia AEAT valida los registros al recibirlos.
- Si tu sistema opta por la modalidad no Verifactu (sin envío automático), sí es obligatorio firmar electrónicamente cada registro, siguiendo el estándar europeo ETSI EN 319 132, con firma de tipo XAdES. Al no existir validación automática por parte de Hacienda, la firma electrónica actúa como garantía adicional de que los datos no se han tocado.
El código QR: qué es y qué debe incluir
Todas las facturas emitidas con un sistema conforme a Verifactu, sean completas o simplificadas, deben incorporar un código QR. Este código permite que cualquiera (incluida la propia AEAT, un cliente o un inspector) pueda verificar la autenticidad de la factura escaneándolo con un móvil, accediendo a una URL vinculada a la sede electrónica de la Agencia Tributaria. En las facturas emitidas bajo la modalidad Verifactu, además, debe figurar la mención expresa de que se trata de una «Factura verificable en la sede electrónica de la AEAT» (o el texto equivalente que determine la propia Agencia).
Envío de registros a la AEAT: cómo funciona en la práctica
Para quienes opten por la modalidad Verifactu, el envío de los registros se realiza en formato XML, con los datos completos de cada factura, y de forma prácticamente inmediata a su generación. Existe un intervalo técnico mínimo (en torno a 60 segundos) entre envíos sucesivos, pensado para no saturar la plataforma de la AEAT en negocios con mucho volumen de facturación. Si en algún momento la Agencia Tributaria requiere los registros a un negocio que opera en modalidad no Verifactu, el sistema debe poder remitirlos igualmente en un formato estructurado bajo requerimiento, aunque no los haya enviado de forma automática.
La declaración responsable: el «certificado» que debes exigir a tu proveedor
Todo sistema informático de facturación debe llevar asociada una declaración responsable, un documento expedido por el propio fabricante o desarrollador del software en el que certifica, bajo su responsabilidad, que su producto cumple con los requisitos técnicos exigidos por la ley, el Reglamento y la Orden HAC/1177/2024. Este documento:
- Debe constar por escrito y de forma visible dentro del propio programa, no solo en la web del fabricante.
- Debe estar disponible tanto para el usuario final como para quien comercialice el software.
- Debe existir para cada versión del programa, ya que una actualización relevante podría, en teoría, afectar al cumplimiento.
Como comentamos en el artículo de sanciones, disponer de esta declaración responsable es también tu principal protección como usuario: si Hacienda detecta un fallo técnico en un software que sí contaba con declaración responsable, buena parte de la responsabilidad recae sobre el fabricante, no sobre ti.
Conservación de los registros: cuánto tiempo y cómo
Los registros de facturación deben conservarse de forma íntegra, accesible y legible durante el plazo exigido: 4 años a efectos fiscales y hasta 6 años a efectos mercantiles. Un detalle práctico poco conocido: la normativa permite que estos registros se conserven fuera del propio sistema informático que los generó (por ejemplo, en un servicio de almacenamiento distinto), siempre que se garantice el acceso, la recuperación y la consulta en formato electrónico legible cuando la Administración lo requiera.
Checklist: qué preguntar a tu proveedor de software
Antes de dar por hecho que tu programa de facturación «ya cumple Verifactu», pregunta directamente a tu proveedor:
- ¿Puede mostrarme la declaración responsable de cumplimiento del Reglamento?
- ¿El sistema genera un registro de facturación con huella digital para cada factura, incluidas las simplificadas?
- ¿Ofrece la opción de modalidad Verifactu (envío automático) y modalidad no Verifactu, o solo una de ellas?
- ¿Las facturas incluyen el código QR correspondiente?
- ¿Cómo garantiza la conservación de los registros durante el plazo legal exigido?
- ¿Qué pasa con mis registros si en algún momento dejo de usar este software?
Preguntas frecuentes
¿Necesito entender toda esta parte técnica para cumplir con Verifactu? No. Como usuario, tu responsabilidad es elegir un software que cumpla estos requisitos y disponer de su declaración responsable; el desarrollo técnico corresponde al fabricante.
¿El hash y la firma electrónica son lo mismo? No. El hash es una huella digital que detecta si un dato se ha alterado; la firma electrónica es un mecanismo adicional de garantía y autenticación que solo es obligatorio en determinados casos, como hemos explicado más arriba.
¿Puedo verificar yo mismo si mi software genera correctamente los registros? Como usuario no técnico, lo más práctico es confiar en la declaración responsable del proveedor. Dedicamos el próximo artículo de esta guía precisamente a explicar, paso a paso, cómo comprobar si tu programa cumple realmente con Verifactu.
¿Qué pasa si cambio de programa de facturación? ¿Pierdo el histórico de mis registros? La normativa exige que los registros se conserven el plazo legal, independientemente del software que los generó. Al cambiar de proveedor, asegúrate de poder exportar o mantener el acceso a tu histórico de facturación anterior.
En el próximo artículo te explicamos, paso a paso, cómo comprobar de forma práctica si tu programa de facturación actual cumple realmente con todos estos requisitos.