Report Manager
ENES

← Todos los articulos

¿Dónde y de qué tamaño va el QR de Verifactu en la factura?

· Toni Martir, arquitecto de software

Según el reglamento de Verifactu, las sociedades que facturan con un programa tienen que tenerlo adaptado antes del 1 de enero de 2027, y los autónomos y el resto de obligados, antes del 1 de julio. Cada factura que sale de ese programa lleva un código QR con el que quien la recibe puede cotejarla con la Agencia Tributaria. Quien mantiene la plantilla de la factura, el informe que la imprime, tiene que hacerle sitio.

Va arriba, preferiblemente centrado, mide de 30 a 40 milímetros y lleva encima el rótulo «QR tributario:», debajo «VERI*FACTU» si el programa envía los registros de sus facturas a la Agencia, y al menos 2 milímetros en blanco alrededor. En el diseñador hay además un ajuste que se escapa con facilidad: el nivel de corrección de errores, que tiene que ser el M.

Vista previa de una factura de Talleres Ribera, S.L.: arriba y en el centro, el rótulo «QR tributario:», un código QR y debajo «VERI*FACTU»; a la izquierda, los datos del emisor y a la derecha, los del cliente; más abajo, el número FA2026/0125, la fecha 10/11/2026, cuatro líneas de conceptos y un total de 285,44.
Una factura inventada, en la vista previa del diseñador de Report Manager. El QR ocupa un cuadro de 4 × 4 cm y lleva la URL del entorno de pruebas de la Agencia Tributaria; el emisor y el cliente van a los lados, como en uno de los ejemplos de la Agencia.

Lo que fija la orden

La Orden HAC/1177/2024 desarrolla el artículo 6.5 del reglamento de facturación. Su artículo 21 fija el tamaño, entre 30 × 30 y 40 × 40 milímetros; la norma del código, la ISO/IEC 18004, y el nivel de corrección de errores, el M. Ese nivel es la información de reserva que permite recuperar los datos si el código se mancha o se estropea. Según la web del código QR de Denso Wave, hay cuatro niveles, el M es el más usado y subir de nivel agranda el código.

El QR lleva una URL con cuatro datos de la factura: el NIF de quien la emite, la serie y el número, la fecha y el importe total. La frase «VERI*FACTU», o la larga «Factura verificable en la sede electrónica de la AEAT», sólo la llevan las facturas de programas que envían todos sus registros a la Agencia. Y en una factura electrónica, de las que viajan como datos de un programa a otro, basta con la URL en un campo aparte.

Las fechas de 2027 son las del texto vigente en el BOE; cómo se fijan y quién puede moverlas lo conté en ¿Puede el Gobierno aplazar Verifactu en periodo electoral?

Dónde va y qué lo acompaña

La Agencia Tributaria detalla el resto en su documento técnico del QR. El código va al principio de la factura, antes de su contenido, y una sola vez, en la página 1, aunque la factura tenga varias. En una factura vertical, arriba y preferiblemente centrado; en una apaisada, a la izquierda. Encima va siempre el rótulo «QR tributario:» y debajo, cuando toca, la frase de VERI*FACTU, los dos con letra igual o mayor que la del resto de la factura. Alrededor tienen que quedar al menos 2 milímetros en blanco, y la Agencia recomienda 6. En sus ejemplos en A4, los datos del emisor, con el logotipo, y los del cliente pueden ir a los lados del código, como en la factura de la imagen.

La URL que lleva dentro

La URL apunta al servicio de cotejo de la Agencia, en www2.agenciatributaria.gob.es, y su ruta termina en ValidarQR si el programa es VERI*FACTU, o en ValidarQRNoVerifactu si no lo es. Lleva cuatro parámetros: nif; numserie, la serie y el número, hasta 60 caracteres; fecha, como día-mes-año con guiones, e importe, con punto decimal. Los valores van codificados como en cualquier dirección web: la Agencia pone de ejemplo un número de factura con un &, que tiene que escribirse %26.

Esa URL la genera el programa de facturación, que es el que sabe si emite como VERI*FACTU. Lo práctico es que la guarde con la factura y que el informe se limite a imprimirla.

En el diseñador: el componente de código de barras

Así está hecha la factura de la imagen en Report Manager. El código va en la cabecera del grupo de la factura, que se imprime una vez por factura, y no en la cabecera de página, que se repetiría en cada hoja. Los rótulos «QR tributario:» y «VERI*FACTU» son dos etiquetas centradas encima y debajo, en negrita y a 10 puntos, el mismo tamaño que los datos. El código es un componente de código de barras con estas propiedades:

Las propiedades del código de barras para el QR tributario

Tipo Barra El tipo de código
QR
Expresión De dónde sale lo que lleva dentro
FACT.QR_URL el campo con la URL
Ancho y Alto El cuadro que ocupa, margen incluido
4 cm
Nivel ECC El nivel de corrección de errores
Level1: M con Delphi y Lazarus Level3: M con .NET
Transparente El fondo del cuadro
False: margen en blanco
Izquierda La posición en horizontal
7,5 cm: centrado

Los nombres de las propiedades son los del diseñador. La posición es para una A4 con márgenes de 1 cm: centra un cuadro de 4 cm en los 19 cm útiles.

Dos de esas propiedades tienen trampa. El nivel de corrección se elige en «Nivel ECC», que en las versiones anteriores del diseñador se llama «PDF417 ECC», y el valor que da el nivel M depende del motor que imprime el informe. Con el de Delphi y Lazarus, el que usan los diseñadores de Delphi y de Lazarus, printreptopdf y el servidor web de informes, es Level1; con el de .NET, el que usan el diseñador .NET, el diseñador web y Reportman Server, es Level3. Con Auto, el valor por defecto, los dos imprimen el QR con nivel L.

La otra es el tamaño. El componente reserva dentro de su cuadro un margen blanco de cuatro módulos, los cuadraditos de los que está hecho el código. En el PDF de la factura, hecho con el motor de Delphi y Lazarus, con un cuadro de 4 × 4 cm, el código mide 33,3 milímetros y el margen, casi 3 por lado, más de los 2 que pide la Agencia. Con un cuadro de 3 × 3 cm, el código se queda en 25,4 milímetros, por debajo de los 30. Con 4 cm cumple tanto si se mide el código solo como si se mide con su margen.

Comprobar que se lee

Antes de dar la plantilla por buena, hay que leer el código. Decodifiqué el QR de la vista previa y el del PDF, y los dos devuelven la URL exacta, con nivel M. Con la cámara del móvil basta: tiene que salir la URL con el NIF, el número, la fecha y el importe de esa factura. Para probar sin usar la dirección de producción, la Agencia tiene un entorno de pruebas, en prewww2.aeat.es, que es el que lleva la factura del ejemplo.

Entonces, ¿dónde y de qué tamaño?

Arriba, preferiblemente centrado, una sola vez, de 30 a 40 milímetros y con nivel M, entre «QR tributario:» y «VERI*FACTU», con al menos 2 milímetros en blanco. En el diseñador: tipo QR, la URL en la expresión, un cuadro de 4 × 4 cm y, en «Nivel ECC», Level1 con el motor de Delphi y Lazarus o Level3 con el de .NET. Registrar y enviar cada factura es cosa del programa de facturación: la plantilla sólo imprime el código.


Report Manager imprime códigos QR a partir de un campo o de una expresión (componente de código de barras, documentación en inglés), y la plantilla de la factura es el mismo archivo .rep para el diseñador, printreptopdf, el servidor web de informes y Reportman Server, aunque el nivel M se pide con un valor distinto en cada motor.

Fuentes

Toni Martir, arquitecto de software · · fuentes comprobadas el