Skip to main content

Estás aquí:

Código QR en las facturas: cómo funciona el QR de Verifactu

Un móvil escaneando el código QR de Verifactu en una factura

El código QR de Verifactu es obligatorio en todas las facturas que emitas con un programa informático, y la obligación llega en 2027.

Lo que casi nadie cuenta es que la norma no deja margen. El QR Verifactu tiene un tamaño fijado en milímetros, una posición fijada dentro del documento y un contenido fijado parámetro a parámetro. La AEAT lo ha publicado todo, y aquí lo tienes ordenado.

Respuesta corta: el QR Verifactu mide entre 30x30 y 40x40 mm, va al principio de la factura con el texto «QR tributario:» justo encima, y dentro lleva la URL de cotejo de la AEAT más el NIF, el número, la fecha y el importe.

¿Qué es el código QR?

El código QR (siglas de Quick Response) es una evolución moderna del código de barras. A simple vista, es ese cuadrado de puntitos blancos y negros que ya habrás visto en carteles, tickets o incluso para ver la carta en un restaurante.

Es una herramienta más potente de lo que parece: permite almacenar y transmitir información digital de manera inmediata con solo escanearlo desde un móvil o una tablet.

Como habrás visto ya, al escanearlo con la cámara de tu dispositivo, te lleva a un contenido digital sin necesidad de teclear nada. Aunque no todo el mundo sabe esto, no solo puede tener la información de una URL. También puede llevar un número de factura, los datos fiscales del emisor o un justificante de pago. O los datos que necesita la Agencia Tributaria para verificar esa factura en tiempo real.

Aunque su estructura técnica es bastante compleja, de momento como usuario no necesitas saber cómo funciona por dentro. Nos limitaremos a decirte que desde hace años se usa en logística, publicidad, pasarelas de pago o inventarios… y ahora llega también a la facturación.

¿Qué tiene que ver con las facturas?

El código QR va a ser una pieza obligatoria en las facturas emitidas con programas informáticos, tanto en papel como en digital, para empresas y profesionales.

¿Es obligatorio? Sí, tanto para Verifactu como para TicketBAI.

Da igual si entregas la factura en papel, PDF o en formato digital no estructurado (como un JPG o un simple documento con diseño). Solo hay una excepción: las facturas electrónicas estructuradas (como en formato Facturae) no necesitarán llevar el QR visible.

Esto aplica a profesionales, empresas y fabricantes de software. Eso sí: la responsabilidad última de que el QR esté bien generado es del emisor de la factura, aunque el programa lo cree automáticamente.

¿Por qué es tan importante este código? Dejando a un lado la obligatoriedad legal, se justifica por estas dos funciones:

  1. Le hace fácil al receptor verificar la validez de la factura. Escaneando el código QR, ese cliente puede saber si la factura ha sido registrada ante la Agencia Tributaria, o si es falsa, duplicada o manipulada. Esto aporta más transparencia en cualquier operación comercial.
  2. Permite a Hacienda cruzar datos y controlar el fraude. Si tú declaras una factura y tu cliente la escanea o la registra, queda constancia de que esa transacción ha tenido lugar. Y si uno de los dos miente, los sistemas de la AEAT lo detectan.

Por tanto, el QR no sustituye a la factura en sí, pero sí resume su contenido esencial y conecta tu documento con la Administración.

Veamos entonces las tres cosas que la norma fija: dónde va, qué tamaño tiene y qué lleva dentro.

¿Dónde debe ir el código QR de Verifactu en la factura?

El QR se sitúa al principio de la factura, antes de que empiece el contenido que genera tu programa de facturación. Da igual si la entregas en papel o en digital. Y debe ser siempre el primer código QR del documento, por si la factura ya lleva otros para cobrar o para seguir el envío.

Estas son las ubicaciones que fija la AEAT en su documento de especificaciones técnicas, con los matices de las Haciendas Forales Vascas para TicketBAI:

  • Formato vertical (clásico, tipo A4): arriba, cerca del margen superior y preferiblemente centrado respecto a los márgenes izquierdo y derecho. Si no, hacia el margen izquierdo-superior. En el caso de TicketBAI es en la parte inferior.
  • Formato apaisado (horizontal): a la izquierda, preferiblemente cerca del margen superior-izquierdo. Si no, centrado respecto a los márgenes superior e inferior. En el caso de TicketBAI es en el lateral derecho, siempre cerca del identificador TBAI.

Solo debe haber un único código QR tributario, y va en la primera página de la factura, incluso si el documento ocupa varias hojas.

¿Y si esa posición no es posible?

La norma admite una excepción poco conocida. Si justificas que existe algún obstáculo para colocar el QR al principio, puedes ponerlo en otro sitio.

La condición es que quede bien visible, claramente separado y diferenciado del resto del contenido y de otros posibles códigos QR, y en un lugar preeminente. Es la salida prevista para casos como los tickets impresos en rollo estrecho, donde la impresora manda más que el diseño.

¿Y si hay elementos preimpresos?

No pasa nada. Si usas papel con un logotipo ya impreso, por ejemplo, puedes mantenerlo. En ese caso, el QR debe ser el primer elemento generado digitalmente por el software de facturación. La prioridad es que destaque como componente fiscal, no como parte del diseño corporativo.

Los dos textos obligatorios que acompañan al QR de Verifactu

Aquí está el detalle que más se pasa por alto, y basta para dejar una factura fuera de norma: el código no va solo. Lleva un texto encima y, según cómo emita tu programa, otro debajo.

Encima del QR debe aparecer siempre «QR tributario:», preferiblemente centrado respecto al código. Sirve para que quien recibe la factura sepa cuál de los códigos que ve es el fiscal, y no el de pago o el de seguimiento del pedido.

Debajo, si tu programa emite facturas verificables, tiene que ir la frase «Factura verificable en la sede electrónica de la AEAT» o su versión corta, «VERI*FACTU». También preferiblemente centrada, y puede repartirse en varias líneas si no cabe en una.

Los dos textos deben ser legibles y su tipo de letra tiene que ser igual o mayor que el del resto de los datos de la factura. No valen en cuerpo cinco al pie del documento.

Si trabajas en modalidad no Verifactu, el «QR tributario:» sigue siendo obligatorio, pero la frase de abajo no, porque tus facturas no son verificables.

El propio documento de especificaciones de la AEAT incluye ejemplos maquetados, tanto para un ticket de 57 mm de ancho como para un A4. Es la mejor referencia si estás rediseñando tu plantilla.

¿Qué tamaño debe tener el código QR de Verifactu?

Para que sea útil de verdad, no vale cualquier tamaño ni cualquier forma. El artículo 21 de la Orden HAC/1177/2024 fija las dimensiones y el estándar, y la AEAT los completa en su documento técnico. Esta es la ficha entera:

Especificación Requisito
Tamaño Entre 30x30 y 40x40 mm
Norma técnica ISO/IEC 18004:2015
Corrección de errores Nivel M (medio)
Margen blanco (zona de silencio) Mínimo 2 mm por los cuatro lados, 6 mm recomendados
Contraste Suficiente entre el código y el fondo para garantizar la legibilidad
Codificación de la URL URL encoding y UTF-8
Cuántos por factura Uno solo, en la primera página

Dentro de ese rango puedes adaptarlo a tu diseño, pero no te salgas de esos límites si quieres cumplir con el reglamento.

Ojo con el margen blanco, porque es donde más se equivoca la gente. Los 2 mm son el mínimo legal, no el objetivo. La AEAT recomienda 6 mm por una razón práctica: un QR Verifactu pegado al texto se lee bastante peor con la cámara de un móvil viejo. Y el que escanea suele ser tu cliente.

Y recuerda que, aunque tu software lo genere de manera automática, tú como emisor eres responsable de que esté bien ubicado, sea legible y cumpla con lo exigido.

¿Qué contiene exactamente el código QR de Verifactu?

Nada más y nada menos que una URL. El QR Verifactu no guarda la factura entera: guarda la dirección del servicio de cotejo de la AEAT y cuatro datos que identifican el documento. Son cuatro parámetros, todos obligatorios, y no hay un quinto:

  • nif: el NIF de quien está obligado a expedir la factura, nueve caracteres.
  • numserie: la serie y el número de la factura, hasta 60 caracteres.
  • fecha: la fecha de expedición, en formato DD-MM-AAAA.
  • importe: el importe total, con el punto como separador decimal, hasta 12 dígitos enteros y dos decimales.

Todo va codificado con URL encoding y UTF-8, que es lo que permite que una serie con espacios o guiones llegue intacta al servidor de la AEAT.

Fíjate en lo que no está ahí: ni los datos del receptor, ni el desglose de IVA, ni las líneas de la factura. El QR no sustituye a la factura ni la resume. Es la llave para preguntar a la AEAT si ese documento consta registrado, y nada más.

En TicketBAI el planteamiento es parecido, pero el contenido no es el mismo: allí el código incorpora además el identificador TBAI.

¿Y si uso facturas electrónicas?

Si tu factura es electrónica pero no estructurada, por ejemplo un PDF, se aplica lo mismo que en papel. El QR debe estar visible y contener todos los datos.

Si usas facturas electrónicas estructuradas no hace falta que el QR sea visible. El artículo 20.2 de la Orden pide otra cosa: incluir la URL que contendría el QR como un campo independiente dentro del propio fichero.

Es decir, toda la info está ahí, pero no se verá el formato gráfico del código QR. Esto es porque no hace falta que tú los representes en un código visible si Hacienda ya puede leer directamente esos datos estructurados.

Qué pasa cuando un cliente escanea el QR de Verifactu

Cualquiera con una cámara y conexión puede escanearlo. No hace falta app ni identificarse, aunque la AEAT recomienda usar su aplicación oficial para evitar códigos falsificados que lleven a otro sitio.

El QR Verifactu resuelve contra uno de dos servicios de la AEAT, según si tu programa es un sistema Verifactu o no:

  • ValidarQR, para los sistemas que emiten facturas verificables.
  • ValidarQRNoVerifactu, para el resto.

La respuesta que ve tu cliente es una de estas tres:

Respuesta Qué significa
Factura encontrada La AEAT tiene el registro de facturación. Todo correcto
Factura no encontrada La AEAT no tiene ese registro, o la factura estaba anulada
Factura no contrastable El sistema que la emitió no envía los registros, así que no se puede cotejar

Hay un caso que sorprende y merece la pena saberlo antes de que te pase. Una factura anulada también responde «no encontrada». Para la AEAT es una respuesta correcta, no un error. Así que si has anulado o rectificado una factura, no te alarmes cuando el QR de la original deje de dar resultado.

Y «no contrastable» no significa que la factura sea inválida. Significa que tu sistema no envía los registros y que nadie puede cotejarla. Lo que sí limita es la trazabilidad, y por tanto la AEAT tendrá más motivos para revisarte si detecta patrones raros.

Cómo genera Quaderno el QR Verifactu

No es algo que vayas a montar a mano. En Quaderno el QR Verifactu se añade automáticamente a cada factura, cada ticket y cada abono. El registro de facturación viaja a la AEAT en el momento de emitir, así que cuando tu cliente escanea el código, la respuesta ya es «factura encontrada».

Quaderno cumple con el Reglamento Verifactu y funciona como sistema Verifactu, la modalidad que envía los registros a la AEAT de forma automática. Si integras por API, la respuesta te devuelve verification_code y verification_url, que es lo que necesitas para montar el código en tu propia plantilla.

Un límite que conviene conocer antes de empezar: con Verifactu activo, el número y la fecha de la factura los asigna Quaderno. La numeración personalizada no está disponible mientras la integración esté encendida.

La diferencia con casi todo lo que vas a encontrar buscando esto: el resto son herramientas de cumplimiento solo para España. Si vendes con Stripe, Shopify o WooCommerce fuera de España, Quaderno aplica además el impuesto correcto de cada país en el que vendes. Si quieres el contexto completo de la norma, los plazos y a quién obliga, aquí tienes la guía de Verifactu.

Esperamos que con este artículo hayas resuelto todas tus dudas sobre el funcionamiento del código QR en las facturas. Y recuerda que nuestra plataforma de facturación se encarga de estos cambios de formato por ti, porque nos adaptamos a Verifactu. Para demostrártelo, podemos concertar una reunión contigo.

Nota: En Quaderno nos encanta ofrecer información útil y buenas prácticas sobre impuestos y finanzas, pero no somos asesores fiscales certificados. Si tienes cualquier duda o pregunta, consulta con un asesor fiscal profesional o la propia Agencia Tributaria.

Preguntas frecuentes

¿Qué tamaño debe tener el código QR de Verifactu?

Entre 30x30 y 40x40 milímetros, siguiendo la norma ISO/IEC 18004:2015 y con nivel M (medio) de corrección de errores. Alrededor del código hay que dejar un mínimo de 2 mm de espacio en blanco por los cuatro lados, y la AEAT recomienda 6 mm. Lo fija el artículo 21 de la Orden HAC/1177/2024.

¿Qué contiene el código QR de Verifactu?

La URL del servicio de cotejo de la AEAT y cuatro parámetros obligatorios. Son el NIF de quien expide la factura, la serie y el número de la factura, la fecha de expedición en formato DD-MM-AAAA y el importe total con el punto como separador decimal. El código QR de Verifactu no lleva nada más, ni los datos del receptor ni el desglose de IVA.

¿Dónde debe ir el código QR en la factura?

Al principio del documento, antes del contenido que genera el programa de facturación, una sola vez y en la primera página. En formato vertical va arriba y preferiblemente centrado; en formato apaisado, a la izquierda y preferiblemente cerca del margen superior. Solo se admite otra ubicación si se justifica un obstáculo y el código queda bien visible y en un lugar preeminente.

¿Qué es el «QR tributario» de una factura?

Es el texto obligatorio que debe aparecer justo encima del código, para que se distinga de cualquier otro QR que lleve la factura. Los sistemas que emiten facturas verificables añaden además, debajo del código, la frase «Factura verificable en la sede electrónica de la AEAT» o su versión corta «VERI*FACTU».