¿Por qué un código QR obligatorio?

El principal objetivo de la Ley Antifraude es evitar el "software de doble uso" y garantizar la integridad y trazabilidad de los registros de facturación. El código QR actúa como un enlace directo entre el cliente (receptor de la factura) y la Agencia Tributaria (AEAT), permitiendo una auditoría descentralizada por parte de los ciudadanos.

Al escanear este código, se accede a una URL de la Sede Electrónica de la AEAT que contrasta los datos básicos de la factura con los registros almacenados (o que deben almacenarse) en la administración. Si el emisor intenta ocultar o manipular dicha factura, la verificación fallará, alertando del posible fraude.

Especificaciones Técnicas del QR

La Orden HAC/1177/2024 establece normas muy precisas sobre cómo debe generarse y visualizarse este código bidimensional en las facturas, sean en formato papel (impresas) o digitales (PDF).

Especificaciones Técnicas del Código QR según Orden HAC/1177/2024
Parámetro Especificación AEAT
Tamaño mínimo obligatorio 30 mm × 30 mm
Tamaño máximo recomendado 40 mm × 40 mm
Nivel de corrección de errores Nivel M (15% de recuperación)
Formato del código QR Code Model 2 (ISO/IEC 18004:2015)
Codificación de caracteres UTF-8
Margen (Quiet Zone) Mínimo 4 módulos de espacio en blanco alrededor

Contenido del Código QR: Estructura de la URL

El código QR no contiene un XML ni los datos completos de la factura. En su lugar, codifica exclusivamente una URL que apunta al servicio de validación de la AEAT, pasando los datos clave de la factura como parámetros querystring.

El formato general de la URL es el siguiente:

https://prewww2.aeat.es/wlpl/TIKE-CONT/ValidarQR?nif=B12345678&numserie=FA-2027-0001&fecha=01-01-2027&tipo=F1&cuota=2100.00&total=12100.00

A continuación se desglosan los parámetros que componen esta URL:

Parámetros de la URL del Código QR de VeriFactu
Parámetro Descripción Ejemplo
nif NIF del emisor de la factura. B12345678
numserie Número y serie de la factura (exactamente como figura impresa). FA-2027-0001
fecha Fecha de expedición en formato DD-MM-AAAA. 01-01-2027
tipo Tipo de factura (F1: Factura, F2: Factura simplificada/Ticket). F1
cuota Suma de las cuotas repercutidas. Formato numérico, punto decimal. 2100.00
total Importe total de la factura, impuestos incluidos. 12100.00

Entorno de Producción vs Pruebas

El dominio prewww2.aeat.es es un entorno de pruebas preliminar. Para producción, la AEAT publicará el dominio definitivo (por ejemplo, www.agenciatributaria.gob.es). Los desarrolladores de software deben configurar correctamente esta variable.

Ubicación en la Factura

La inclusión del código QR no puede hacerse de manera oculta o ilegible. La normativa especifica que debe imprimirse (o visualizarse en el PDF):

  • De forma visible y clara: No puede estar obstruido por logotipos, marcas de agua, ni texto superpuesto.
  • Al final de la factura (recomendado): Para no interferir con la cabecera ni los datos fiscales clave.
  • Junto a la frase obligatoria: Debe ir acompañado del texto "Factura verificable en la sede electrónica de la AEAT" (o similar, según especifique la resolución definitiva) o el distintivo "VERI*FACTU" si el sistema remite los datos automáticamente.

QR en Facturas Simplificadas (Tickets)

Una de las implicaciones más grandes de VeriFactu es que todas las facturas simplificadas (los tradicionales tickets de caja) también deben incluir este código QR. Esto aplica a cualquier negocio (bares, restaurantes, comercios minoristas) que expida tickets mediante un sistema informático o Terminal Punto de Venta (TPV).

El reto técnico radica en el espacio físico del ticket. Muchos rollos térmicos tienen anchos reducidos (58mm o 80mm). Integrar un QR de mínimo 30x30mm requiere rediseñar el ticket o ajustar márgenes.

Validación del QR por el Receptor

Cuando un cliente o consumidor escanea el código QR con la cámara de su teléfono móvil, el proceso es el siguiente:

  1. El móvil abre el navegador apuntando a la URL de la AEAT con los datos de la factura.
  2. La aplicación de la AEAT extrae los parámetros (NIF, Número, Total...).
  3. La AEAT busca en su base de datos (si es sistema "VERI*FACTU" de envío instantáneo) o registra la consulta (si es sistema No-VERI*FACTU, donde la AEAT puede requerir la información después).
  4. La pantalla muestra al usuario un semáforo de validez indicando si los datos coinciden con lo reportado por la empresa emisora.

Si hay discrepancias graves o el emisor no está registrado correctamente, la plataforma permite al usuario (el cliente) notificar la incidencia, contribuyendo al control fiscal distribuido.

Tabla Comparativa: QR VeriFactu vs QR TicketBAI

TicketBAI, el sistema de facturación de las Haciendas Forales Vascas, fue el precursor en España. Aunque VeriFactu se inspira en él, existen diferencias sutiles:

Diferencias en el QR: VeriFactu (Estatal) vs TicketBAI (País Vasco)
Característica VeriFactu (Resto de España) TicketBAI (País Vasco)
Tamaño mínimo 30 mm x 30 mm 30 mm x 30 mm
Código Adicional No requerido TBAI (Código identificativo alfanumérico) obligatorio
Envío de datos Voluntario (Sistema VERI*FACTU) o a requerimiento Obligatorio y automático en el momento de expedición
Dominio de validación Portal único AEAT Portal de la Hacienda Foral correspondiente (Álava, Bizkaia, Gipuzkoa)

Implicaciones para Impresoras y TPV

Para los comercios y negocios a pie de calle, la principal barrera no es el software, sino el hardware.

  • Ancho del rollo: Se recomienda utilizar rollos de 80mm. Los rollos de 58mm dejan márgenes (Quiet Zones) muy estrechos para un QR de 30mm de ancho.
  • Desgaste del papel térmico: Aunque la normativa exige la impresión, el papel térmico se borra con el tiempo. El nivel de corrección de errores "M" (15%) ayuda a la legibilidad parcial, pero el emisor debe garantizar su durabilidad durante el período de prescripción fiscal (o emitir factura electrónica si se prefiere).