Verifactu: qué exige la ley y cómo se cumple
Verifactu es el nombre popular del sistema de emisión de facturas verificables regulado por el Reglamento de Requisitos de los Sistemas y Programas Informáticos (RRSIF, desarrollo del artículo 29.2.j de la Ley General Tributaria). Su objetivo es que cada factura quede registrada de forma íntegra, trazable e inalterable desde el momento en que se emite.
Qué exige la norma, en resumen
- Cada factura debe generar un registro de facturación con una huella que la encadena a la anterior.
- La numeración de facturas no puede tener huecos ni duplicados.
- El registro debe incluir un código QR que permita verificar la factura.
- El software debe declarar responsablemente que cumple estos requisitos (o el registro debe poder enviarse a la AEAT en tiempo real, según la modalidad elegida).
- Una factura ya emitida no se puede editar ni eliminar: solo se corrige mediante una factura rectificativa encadenada.
Cómo verifica Zeva una factura, paso a paso
Cuando emites una factura en Zeva, esto es lo que pasa por dentro, en el mismo instante de guardarla:
- 1
Numeración sin huecos
Zeva bloquea la serie de facturación a nivel de base de datos (bloqueo transaccional) y asigna el siguiente número de la serie sin saltos ni duplicados, aunque dos personas de tu empresa emitan a la vez. - 2
Huella SHA-256 encadenada con la anterior
Con los datos clave de la factura — emisor, serie y número, fecha, tipo, cuota e importe total — y la huella de la factura inmediatamente anterior (lo que el motor llama huella anterior), Zeva calcula un hash SHA-256: el resultado es la huella de esta factura, que a su vez servirá de huella anterior para la siguiente. Si alguien alterase una factura ya emitida, su huella dejaría de coincidir con la que ya quedó grabada en la factura de después, y la cadena se rompería de forma detectable — por eso se llama cadena de huellas, no huellas sueltas. - 3
Verificación contra el vector oficial de la AEAT
El cálculo de la huella en Zeva está contrastado byte a byte contra el vector de pruebas que publica la AEAT (Departamento de Informática Tributaria): con los mismos datos de entrada del documento oficial, Zeva produce exactamente el hash que exige la especificación, no una interpretación propia del algoritmo. - 4
QR de cotejo y XML del registro
Con la huella ya calculada, Zeva genera el código QR de cotejo — con el NIF del emisor, la serie y número, la fecha y el importe total — y lo incrusta en el PDF de la factura, además de construir el XML del registro de facturación con ese mismo contenido: el documento que queda listo para transmitirse a la AEAT en cuanto esa pieza del roadmap esté activa.
Qué entra exactamente en la huella (y por qué el orden importa)
La huella no es «un hash de la factura»: es el SHA-256 de una cadena de texto con unos campos concretos, en un orden concreto, unidos por &. Cambiar el orden, añadir un espacio o formatear una fecha distinto produce un hash diferente y, por tanto, una cadena que la AEAT no reconocería. Estos son los ocho campos del registro de alta, en el orden exacto en que Zeva los concatena:
- IDEmisorFactura — el NIF de quien emite.
- NumSerieFactura — serie y número, ya asignados sin huecos.
- FechaExpedicionFactura.
- TipoFactura — F1 completa, F2 simplificada, R1–R5 rectificativas.
- CuotaTotal — el impuesto repercutido.
- ImporteTotal.
- Huella — la de la factura inmediatamente anterior. Este es el eslabón.
- FechaHoraHusoGenRegistro — el instante de generación, con huso horario.
El resultado se guarda en hexadecimal, 64 caracteres en mayúsculas. Y hay un segundo tipo de registro que casi nadie menciona: el registro de anulación, que encadena con sus propios cinco campos (NIF, serie y número, fecha de expedición de la factura anulada, huella anterior y fecha-hora de generación). Anular también deja rastro en la cadena: no es borrar.
El QR no es un QR cualquiera: tiene norma, tamaño y destino
El código que se imprime en la factura sigue la norma ISO/IEC 18004 con nivel de corrección de errores M, y debe medir entre 30 y 40 mm de lado — no es decorativo: tiene que poder leerse con un móvil desde una factura en papel. Apunta a la sede electrónica de la AEAT con cuatro parámetros: NIF del emisor, número de serie, fecha de expedición e importe total.
Un detalle de implementación que evita un fallo silencioso: en Zeva, el QR impreso y el registro que se remitirá a la AEAT resuelven su entorno (pruebas o producción) desde la misma fuente única. Es la clase de divergencia que no se nota hasta que un cliente escanea su factura y aterriza en el entorno de pruebas de la Agencia.
Las dos modalidades: remitir a la AEAT o no remitir
El reglamento contempla dos formas de cumplir, y conviene no confundirlas al comparar programas:
- Modalidad VERI*FACTU — el sistema remite cada registro a la AEAT. A cambio, la factura lleva la leyenda «VERI*FACTU» y el cliente puede cotejarla en la sede electrónica.
- Modalidad no VERI*FACTU — no se remite, pero entonces el software carga con requisitos más estrictos de conservación, registro de eventos e inalterabilidad, y con la declaración responsable del fabricante.
Dicho sin adornos: Zeva construye hoy el registro y su XML, pero todavía no lo transmite. La huella, la cadena y el QR funcionan; la remisión automática es la Fase 2 que describimos más abajo. Preferimos que lo sepas antes de contratar y no después.
Qué exige el RRSIF y cómo lo cumple Zeva hoy
El RRSIF exige, en esencia, cuatro propiedades sobre el registro de facturación: integridad (que los datos no se puedan alterar sin que se note), trazabilidad (que cada factura quede encadenada a la anterior), conservación (que el registro completo se guarde durante el periodo exigido) y, según la modalidad elegida, el envío del registro a la AEAT. Esto es lo que Zeva cumple hoy — verificado byte a byte contra el vector de pruebas oficial de la AEAT, no una implementación propia sin contrastar:
- Numeración de facturas sin huecos, con bloqueo transaccional real en base de datos — la base de la trazabilidad.
- Huella (hash SHA-256) encadenada entre facturas consecutivas, con el mecanismo detallado en la sección anterior.
- Generación del XML del registro de facturación y del QR de cotejo en cada factura.
- Firma del registro con el Sello de Entidad de Zeva: lo aporta y gestiona Zeva como proveedor, así que no tienes que cargar, custodiar ni renovar ningún certificado propio.
- Bloqueo de edición sobre facturas ya emitidas: la única corrección posible es una factura rectificativa, encadenada a continuación de la original — nunca se reescribe ni se borra un registro ya sellado.
- Conservación del registro completo en base de datos, disponible para tu empresa en todo momento, no solo en el instante de emitir.
Qué llega después
La transmisión telemática automática del registro a la AEAT todavía no está activa — es la siguiente pieza de nuestro roadmap (Fase 2), junto con la firma electrónica XAdES-EPES integrada para Facturae B2B y los modelos fiscales avanzados. Preferimos decir esto con total claridad antes que dar a entender que ya ocurre; puedes ver el detalle completo, módulo por módulo, en Facturación y Contabilidad.
Preguntas frecuentes sobre Verifactu
Dudas de producto que nos plantean en las demos sobre cómo funciona Verifactu en Zeva — plazos y sanciones los tratamos aparte, con detalle, en el blog.
¿Qué pasa si me equivoco en una factura ya emitida?
¿Puedo desactivar Verifactu en Zeva o emitir facturas sin huella y QR?
¿Verifactu me afecta si soy autónomo, o solo si tengo una empresa?
¿Necesito instalar o comprar algo aparte para cumplir?
¿Tengo que gestionar yo el certificado digital?
¿Qué diferencia hay entre la huella de Zeva y enviar la factura a la AEAT?
¿El QR es igual en una factura completa que en una simplificada?
Para profundizar
Sigue leyendo
- Qué es Verifactu y desde cuándo es obligatorio
- Requisitos técnicos del software Verifactu: hash, QR y RD 1007/2023
- Calendario Verifactu por tipo de contribuyente: qué fecha te afecta
- Checklist para elegir software Verifactu (sin humo)
- Verifactu vs. facturación electrónica B2B: no son lo mismo
- Sanciones por incumplir Verifactu