Guide
VeriFactu QR Code: What Is in It and How to Read It
Last updated October 7, 2026
Spain's VeriFactu rules require invoicing software to register each invoice and to print on it a QR code that leads to a service of the Agencia Tributaria (AEAT). The code lets the recipient check that the invoice was registered. This guide explains what is in the code, what a reader can establish from it and what it cannot. Technical details come from the AEAT's description of the QR as read on 6 October 2026; check the AEAT website for the current version.
What the code contains
The QR code is a web address of the form https://www2.agenciatributaria.gob.es/wlpl/TIKE-CONT/ValidarQR?nif=…&numserie=…&fecha=DD-MM-AAAA&importe=…. There are exactly four parameters. nif is the issuer's tax number, nine characters. numserie is the series and number of the invoice, up to 60 ASCII characters, percent-encoded in the address. fecha is the issue date as day-month-year. importe is the total amount with a decimal point, at most twelve digits before the point and two after. For tests, the host prewww2.aeat.es is used. A fifth parameter, formato=json, exists for machine requests but does not belong in the printed code.
Format rules for the printed code
The code must follow ISO/IEC 18004:2015, use error correction level M and measure between 30 × 30 and 40 × 40 mm. Software that prints it smaller or at a lower correction level can produce codes that some phones cannot read.
What a reader can check
- The host. Only the two AEAT hosts are genuine. Any other host, however similar it looks, should not be opened.
- The parameters. All four must be present once; the date must be a real date; the amount must have the allowed form; a negative amount suggests a corrective invoice.
- The tax number. The last character of a DNI, NIE or CIF is computed from the others, so a wrong character reveals a typing or reading mistake.
- Consistency with the document. Compare the number, date and amount in the code with the printed invoice.
The VeriFactu QR Code Reader & Checker does these checks in your browser, from an image or PDF, and only offers the official link when the host is one of the AEAT's.
What only the AEAT can tell you
A well-formed code proves nothing about registration. The page the code leads to answers whether the invoice was registered, and it is the only answer that counts. Opening it sends the four values to the AEAT from your browser. A fabricated invoice can carry a perfectly formatted QR, which is why the official check matters.
Dates and scope
Royal Decree-law 15/2025, published on 3 December 2025, moved the date from which systems must be adapted: 1 January 2027 for taxpayers subject to corporate income tax and 1 July 2027 for other obliged taxpayers. Whether a particular invoice must carry the QR depends on the issuer and the date, and some taxpayers are outside the system. This is a question for the AEAT or an adviser, not for a reader tool.
Not the same as Facturae
VeriFactu is about registering invoices and the QR code that lets a recipient verify one. Facturae is an XML invoice format used, among other things, for invoicing public administrations. A Facturae file can be shown with the Facturae viewer; the QR code on a printed invoice is read with the VeriFactu reader. For QR codes in other countries see the KSeF KOD I guide and the tools for India and Saudi Arabia.