Estimated reading time: 9 minutes
For a company invoicing with Odoo, the practical conclusion is different: you don’t have to adapt twice. VeriFactu and electronic invoicing are distinct obligations, but both live in the same place, the Odoo accounting and invoicing module. If planned together, a single implementation is carried out that covers both and arrives on time for either of the two schedules.
In this article, we explain what each obligation requires, which dates are official and which are only announced, what Odoo offers today, and a six-step adaptation plan based on how we work at Inprofit with companies using Odoo as an ERP.
What is VeriFactu and what is mandatory electronic invoicing
VeriFactu is the regulation that sets how any invoicing software must operate (Royal Decree 1007/2023). Each invoice generates a record with a chained hash to the previous one, a QR code, and, in the VERI*FACTU modality, an automatic submission to the Tax Agency. Its goal is to ensure that invoices cannot be altered or deleted without leaving a trace.
Mandatory electronic invoicing is another regulation: Law 18/2022 (Crea y Crece), developed by Royal Decree 238/2026 and Order HAC/1028/2026. It regulates how invoices are exchanged between companies and professionals: in a structured format, not PDF, and communicating their payment status.
| VeriFactu | B2B electronic invoicing | |
|---|---|---|
| What it regulates | How your software records each invoice | How the invoice is sent to another company |
| Affects | Invoices to companies and individuals | Only invoices between companies and professionals |
| Regulation | RD 1007/2023 | Law 18/2022, RD 238/2026, Order HAC/1028/2026 |
| What changes in Odoo | Record, hash, QR, and submission to AEAT | Structured format, submission, and payment statuses |
Those already in the SII (Immediate Supply of Information on VAT) are exempt from VeriFactu, but not from B2B electronic invoicing.
Calendar: what is in the BOE and what has only been announced
B2B electronic invoicing already has official dates; VeriFactu has some official dates and others announced that are not yet law. This is the situation as of November 2, 2026:
| Obligation | Who | Date in the BOE today | Announced date | Status |
|---|---|---|---|---|
| VeriFactu | Corporations (Corporate Tax) | January 1, 2027 | October 2028 | Announced postponement, no published regulation |
| VeriFactu | Freelancers and other obligated parties | July 1, 2027 | October 2028 | Announced postponement, no published regulation |
| B2B electronic invoicing | Annual turnover exceeding €8M | October 6, 2027 | No change | Official |
| B2B electronic invoicing | Rest of companies and freelancers | October 6, 2028 | No change | Official |
Three nuances are important for planning:
- The postponement to 2028 is not final until it appears in the BOE. The Tax Agency note speaks of a forecast; a regulation is needed to modify the fourth final provision of RD 1007/2023. Until then, the 2027 dates are the ones in force.
- The note does not clarify what happens with companies over €8M. Their electronic invoicing arrives in October 2027 in any case.
- Technical requirements do not change. The Tax Agency indicates that the guarantees of integrity, traceability, and inalterability will be maintained in substantially equivalent terms. The date moves, not what the software has to do.
What Odoo covers today
Odoo already includes VeriFactu as standard in recent versions. In Odoo 19, it is covered by the official module Spain – Veri*Factu (l10n_es_edi_verifactu), according to the Odoo Spanish localization documentation. The important thing is to know which module corresponds to you:
| Your situation | Regime | Odoo Module |
|---|---|---|
| Company in common territory, outside the SII | VeriFactu | l10n_es_edi_verifactu (and l10n_es_edi_verifactu_pos if you use Odoo POS) |
| Company in the SII (large companies, monthly VAT refund, VAT groups) | SII | l10n_es_edi_sii |
| Basque Country | TicketBAI | l10n_es_edi_tbai |
| Versions prior to 19 or Odoo Community | VeriFactu | Community modules (OCA) or third-party modules, ensuring they are maintained for your exact version |
The official module works like this in practice:
- It is activated from the Accounting or Invoicing settings and requires a digital certificate from the company or its representative.
- It starts in test mode, sending to the AEAT test servers. Someone must switch it to production once everything is validated.
- Upon confirming and sending an invoice, it generates the record, shows its status on the invoice itself, and adds the QR to the PDF.
For B2B electronic invoicing, Odoo already generates formats compatible with the European standard EN 16931, such as UBL and Facturae. What remains pending is the connection with the public invoicing solution and the communication of payment statuses, which depends on how the Spanish localization evolves in future versions.
Three common scenarios and what each implies
The adaptation effort does not depend on Odoo, but on how many systems issue invoices in your company. These are the three cases we see most in Inprofit projects.
1. Odoo is the only system that invoices
This is the simplest case. If you are on Odoo 19 or later, the adaptation is mainly about configuration and testing: activating the module, loading the certificate, testing the types of invoices you use, and moving to production. The risk lies in customizations: if a custom development modifies the invoice submission flow, it may prevent the record from being generated.
2. Odoo connected to WooCommerce or Shopify
Here is the most frequent blind spot. VeriFactu requires the system that issues the invoice to comply. If your online store generates its own invoices and then synchronizes them with Odoo, the store must also comply. The cleanest solution is usually for the store to send orders and Odoo to issue all invoices.
This change affects the integration: the volume of API calls and the timing of when each order is invoiced. We explain it in detail in the hidden cost of the Odoo API when synchronizing WooCommerce and Shopify.
3. Odoo on an old version or with many custom developments
If you work with Odoo 16, 17, or earlier, you have two paths: install a community or third-party module compatible with your version, or take advantage of the calendar to migrate to a version with the official module. The announced postponement gives room for the second option, which also leaves the installation prepared for B2B electronic invoicing.
| Scenario | Main risk | Key decision |
|---|---|---|
| Only Odoo invoices | Customizations that alter submission | Review custom developments before activating |
| Odoo + online store | Store issues non-compliant invoices | Centralize invoice issuance in Odoo |
| Old version | Unmaintained modules | Compatible module now or planned migration |
Six-step adaptation plan
The goal is to carry out a single implementation that complies with VeriFactu on the date that finally remains in the BOE and leaves Odoo prepared for B2B electronic invoicing.
- Confirm your regime and dates. With your consultancy, review if you are in VeriFactu, SII, or TicketBAI, if you pay Corporate Tax or IRPF, and if you invoice more or less than €8M. In multi-company installations, do this for each entity.
- Take inventory of everything that issues invoices. Odoo, the online store, a POS from another provider, a marketplace, an old program for services. Each must comply or stop invoicing.
- Decide where each invoice is issued. We recommend it be Odoo whenever possible: a single system to comply with, a single chained record, and a single connection point for electronic invoicing.
- Resolve the version. If you are on Odoo 19 or later, activate the official module. If not, evaluate a module compatible with your version versus a planned migration.
- Test in test mode with real cases. Standard invoices, various VAT types, corrective invoices for differences and substitution, simplified invoices if you have a POS, and orders arriving from the online store.
- Move to production with an assigned manager. Someone must review rejected records and monitor the digital certificate’s expiration, because an expired certificate blocks invoicing.
With the current BOE calendar, corporations should complete steps 1 to 4 before the end of 2026. If the postponement to 2028 is published, the same plan works: only the production activation date changes.
Five errors to avoid
- Taking the postponement for granted. As long as it is not published in the BOE, the current dates are those of 2027. Planning only for October 2028 may leave you without a margin.
- Confusing VeriFactu with electronic invoicing. Complying with one does not exempt you from the other. An invoice to another company will have to comply with both.
- Forgetting the online store. If WooCommerce or Shopify issue invoices on their own, they also fall within VeriFactu.
- Leaving the module in test mode. It is a silent failure: Odoo invoices normally, but the records go to the test servers.
- Not testing corrective invoices. They are the invoices that fail most during startup and cause the most problems in an inspection.
The risk is not just the penalty. Article 201 bis of the General Tax Law provides for €50,000 per fiscal year for those using a non-compliant system, but in practice, the biggest problem is not being able to invoice the day the obligation comes into force.
Frequently Asked Questions
The Tax Agency announced it on October 5, 2026, but it is not yet published in the BOE. Until then, the current dates are January 1, 2027, for corporations and July 1, 2027, for freelancers.
October 6, 2027, for those invoicing more than €8M per year and October 6, 2028, for the rest, according to Order HAC/1028/2026.
Yes. Odoo 19 includes the official module Spain – Veri*Factu. For earlier versions or Odoo Community, there are community and third-party modules.
No. Companies that keep VAT books through the SII are exempt from VeriFactu, although they are affected by B2B electronic invoicing.
Yes, if it issues invoices. If it only sends orders and Odoo is the one invoicing, it is enough for Odoo to comply.
It depends on your version and your custom developments. If a migration was already on the horizon, doing it now allows you to cover VeriFactu and prepare for electronic invoicing in a single project.
Conclusion: one project, two obligations
The announced postponement does not cancel VeriFactu: it changes the order in which things should be done. Companies using Odoo can take advantage of it to organize where their invoices are issued, resolve the version, and reach 2027 or 2028 with an installation prepared for both obligations.
At Inprofit, we implement and integrate Odoo with WooCommerce, Shopify, and automations with n8n. If you want to know what VeriFactu implies for your specific installation, we can review your version, your custom developments, and the systems that issue invoices, and propose a plan with dates.

Marketing tecnológico en vena. Fanático de las tecnologías Martech que rompen moldes: IA generativa, blockchain, no-code, metaverso, automatización extrema… Convencido de que el futuro no se espera, se construye (y se vende muy bien).
Responsable del marketing más disruptivo y tecnológico.



