VeriFactu QR code in Dolibarr: what it is and where it goes
The VeriFactu QR code is mandatory on every invoice issued with invoicing software: where it goes and how EasySoft's module stamps it in Dolibarr.
VeriFactu QR code in Dolibarr: what it is and where it goes
The VeriFactu QR code is the square that Spanish regulations require on every invoice issued with a computerised invoicing system (SIF). It goes at the start of the invoice, before the content, with the wording “QR tributario:” above the code. Dolibarr does not include it out of the box: it is generated by a VeriFactu module, such as EasySoft's, which stamps it onto the PDF when each invoice is validated.
What the QR code is and what it is for
It is a QR code required on invoices issued with a computerised invoicing system. Its content is a URL of the AEAT verification service (the Spanish tax agency) plus four pieces of invoice data: the issuer's NIF, the serial number and number, the issue date and the total amount.
Its purpose is not to send the invoice to the AEAT. It is there so the customer can check the invoice — with the AEAT app or any camera — and confirm that the invoice data is on record. The check returns “Factura encontrada” or “Factura no encontrada” for VERI*FACTU systems, and “Factura no verificable” for non-verifiable invoicing systems.
The QR is mandatory on all invoices issued with a SIF: complete and simplified, on paper or as an image or PDF, and in any modality, both VERI*FACTU and non-verifiable. The legal basis is article 17 of the SIF Regulation and articles 6.5 and 7.5 of the Invoicing Regulation.
Who it affects and who it does not
It affects users of computerised invoicing systems (SIF) who are not subject to the SII: anyone who keeps their VAT ledgers through the AEAT's electronic site is outside VeriFactu. In other words, the SII and VeriFactu do not overlap (art. 3 of RD 1007/2023).
It is also worth remembering that VeriFactu is not mandatory yet. Under the current schedule (RDL 15/2025), companies subject to Corporate Tax must comply before 01/01/2027; everyone else (self-employed, etc.) before 01/07/2027.
Where the QR code goes on the invoice
At the start of the invoice, before the content. It is the first QR code on the document and, when the invoice runs to several pages, it only appears on the first one.
The position depends on the layout:
- Portrait invoice: at the top, preferably centred or top left.
- Landscape invoice: on the left, near the top left margin.
If there is a justified obstacle, the QR can be placed somewhere else, but always visible and differentiated from the rest of the content.
Size and readability
- Size: between 30×30 and 40×40 mm.
- Error correction level M.
- High contrast.
- White space around it: 2 mm minimum, 6 mm recommended.
Where it does not go
Not on delivery notes. The tax QR code only appears on invoices.
What wording goes with the QR code
Above the code, the text “QR tributario:” is printed. On invoices from VERIFACTU systems, the phrase “Factura verificable en la sede electrónica de la AEAT” or “VERIFACTU” appears just below it, in a legible font and size, equal to or larger than the rest of the invoice data. On non-verifiable systems only the QR appears, with no such phrase.
Structured e-invoices
When the e-invoice is structured, the QR image is replaced by its content — the verification URL — inside the file. A regular (non-structured) PDF is treated like paper: with the QR visible. If you send e-invoices to other businesses, the blog has a guide to B2B e-invoicing in Dolibarr.
How EasySoft's VeriFactu module for Dolibarr generates the QR
Dolibarr does not include VeriFactu in its core: you need a module. The EasySoft VeriFactu module for Dolibarr acts when each invoice is validated: it calculates the chained hash, stamps the QR code in line with the AEAT and signs the invoice. The VERI*FACTU tab of the invoice record shows the AEAT response, the QR and an XML/JSON viewer.
Two operating modes
- VERI*FACTU: invoices are sent to the AEAT over SOAP with your certificate, from your server.
- NO VERIFACTU: XAdES signature and local custody, with no submission. In this mode the phrase “VERIFACTU” is not printed, because claiming that the invoice has been submitted would be false.
Placing the QR on the PDF
The module stamps the QR onto the PDF once it has been generated, and you choose the size and position in the settings:
- Standard Dolibarr PDF templates: they work as they are.
- Your own ODT template: paste the QR tag where you want it to appear.
- TakePos receipt: it includes the QR as standard.
The module also supports simplified invoices (F2) for POS and TakePos with generic customers, and corrective invoices and credit notes. Everything stays on your server, with no external gateways, and it works with Dolibarr 10 or higher.
A note about “approvals”
The AEAT does not approve or certify software: there is no such thing as “approved software”. Compliance is backed by the manufacturer's responsible declaration (art. 13 of the SIF Regulation). At EasySoft we are the manufacturers of the module and we sign the responsible declaration of RD 1007/2023.
Frequently asked questions and common issues
Does the QR send the invoice to the AEAT?
No. The QR allows the customer to check the invoice; it does not submit it to the AEAT. Submission depends on the mode: in VERI*FACTU invoices are sent to the AEAT; in non-verifiable mode, nothing is sent.
Do I have to include the QR on delivery notes?
No. The tax QR code only goes on invoices; delivery notes do not carry it.
Why is the phrase “VERI*FACTU” missing from my invoices?
Because the module is running in non-verifiable mode (local custody). In that mode the invoice is not submitted to the AEAT, so printing “VERIFACTU” would be wrong: only the QR is stamped. The phrase appears when you work in VERIFACTU mode.
How to get ready
VeriFactu is not mandatory yet, so there is still time to arrive with the work done. A good first step is the VeriFactu checklist, designed to review your case point by point. If you want to see the module in detail, the EasySoft VeriFactu module for Dolibarr page has all the information. And to start with the most common stumbling blocks, this article rounds up the frequent errors when implementing VeriFactu in Dolibarr.
