Factura electrónica12 May 2026

Electronic invoicing in Odoo: FACe (public administration) and the B2B obligation of the Crea y Crece Law

In Spain two distinct electronic invoicing obligations coexist: the one already in force since 2015 for invoicing the Administration (FACe, Facturae format) and the future business-to-business (B2B) obligation of Law 18/2022 "Crea y Crece", whose calendar remains conditional on a ministerial order not yet published. We review what each one requires and how it is covered in Odoo with OCA (Community) and Enterprise modules, being honest about what already works and what does not yet have a firm date.

Fiscalidad EspañaFACeOdooOCA

Two distinct obligations that should not be mixed up

When people talk about "electronic invoicing in Spain" they are, almost always, mixing up two things that are legally and technically different:

  • Invoicing to the Public Administration (B2G): mandatory since 15 January 2015, in Facturae format and through FACe. This is already in force and is routine for any public sector supplier.
  • Electronic invoicing between companies and professionals (B2B): the one introduced by Law 18/2022 "Crea y Crece". Its regulation (Real Decreto 238/2026) is already published, but its effective application remains deferred and conditional on a ministerial order that, as of writing, has not been published.

The rest of the article separates the two, because in Odoo they are also solved with different pieces.

Invoicing to the Administration (B2G): FACe, mandatory since 2015

The legal basis is Law 25/2013, of 27 December, on the promotion of electronic invoicing and the creation of the accounting register of invoices in the Public Sector. Since then, invoicing an Administration requires issuing in Facturae format and submitting through the corresponding general entry point.

  • Since 15 January 2015 all invoices submitted to public administrations must be electronic.
  • The general entry point of the General State Administration is called FACe (www.face.gob.es).
  • The standard format is Facturae (XML signed with XAdES electronic signature).
  • There is a practical exception: many Administrations, including the AGE, have exercised the power to exempt invoices of up to 5,000 euros from this obligation.

This obligation has nothing to do with the Crea y Crece Law: it has been in force for more than a decade and is the one you are probably already complying with if you work with the public sector.

B2B electronic invoicing: Law 18/2022 "Crea y Crece" and RD 238/2026

Law 18/2022, on the creation and growth of companies ("Crea y Crece"), extends the obligation to issue and submit electronic invoices to all commercial relationships between entrepreneurs and professionals, not only with the Administration. The law's own approach is for the transition to be phased:

[that] large companies, with greater financial muscle, tackle the transition in a first stage [and smaller ones have] a transitional period of two years from the approval of its regulatory development.

That "regulatory development" is Real Decreto 238/2026, of 25 March, which develops the mandatory electronic invoicing system between entrepreneurs and professionals, published in the BOE no. 79 of 31/03/2026. Its purpose is, in the words of the AEAT, to "establecer los requisitos técnicos y de información del sistema español de factura electrónica obligatoria entre empresarios y profesionales".

The calendar: why there is still no firm date

This is where you have to be especially cautious. The Real Decreto comes into force twenty days after its publication (that is, from the publication of 31/03/2026), but its effective application is deferred and conditional on a subsequent ministerial order that develops the public invoicing solution. The deadlines do NOT start counting with the Real Decreto, but with that order.

Once that ministerial order comes into force, the planned deadline scheme is:

  • 12 months for entrepreneurs and professionals whose operating turnover has exceeded 8 million euros.
  • 24 months for the rest of entrepreneurs and professionals.

In addition, the AEAT must make its public invoicing solution available "at least two months before the first effective application". As of the writing of this article, that ministerial order has not been published, so it is not possible to set a specific calendar date for the entry into force of the B2B obligation. Any exact date circulating out there should be taken with a pinch of salt until the order is published.

How it is solved in Odoo

The B2G part (FACe/Facturae) can already be covered today in Odoo, both in Enterprise and in Community with OCA modules. The B2B part, not yet having a definitive format/public platform set by ministerial order, is still to be defined in all ERPs, Odoo included.

Odoo Enterprise

The Spanish localisation of Odoo Enterprise includes a specific module for Facturae. According to the official Odoo 19 documentation:

  • l10n_es_edi_facturae ("Spain - Facturae EDI"): "Creates EDI Facturae files required to send to AGE (Administración General del Estado)".
  • Odoo states that "Odoo integrates with FACe, allowing businesses to submit e-invoices directly to Spanish public authorities".
  • The framework is "aligned with EU Directive 2014/55/EU, mandating e-invoicing for B2G transactions".

On B2B, Odoo's own documentation is cautious: "e-invoicing is not yet mandatory for B2B transactions, though its adoption is expected to expand in the near future". In other words, Odoo covers the B2G case today and leaves B2B pending the regulatory development.

It is worth not confusing Facturae/FACe with Veri*Factu or the SII: they are different obligations that Odoo handles with different modules (l10n_es_edi_sii for the SII and l10n_es_edi_verifactu, which "Sends Veri*Factu XML to AEAT"). Veri*Factu regulates invoicing systems and the invoice register; it is not the same as the B2B electronic invoice of Crea y Crece.

Odoo Community + OCA

In Community, the coverage comes from the OCA (OCA/l10n-spain repository), with two main pieces:

  • l10n_es_facturae (base module): generates the Facturae file in XML format according to the Facturae 3.2.x schema and signs it with an XAdES certificate. It allows configuring the accounting data of the public recipient (accounting office, managing body, processing unit). It requires the xmlsig library (pip install xmlsig) and depends on OCA modules such as account_payment_partner and report_xml.
  • l10n_es_facturae_face: adds submission to FACe. "It allows managing the submission of Spanish electronic invoicing to FACe. The submission is managed through the certificates with which it is signed". It uses the FACe web service (test environment se-face-webservice.redsara.es and production webservice.face.gob.es).

On versions: the base module l10n_es_facturae is already available in branch 19.0 (manifest 19.0.1.0.0, "Creación de Facturae"). The submission module l10n_es_facturae_face is confirmed in 18.0, but as of consultation its folder does not appear in branch 19.0 of the repository (the URL returns 404), so if you migrate to Odoo 19 it is worth verifying the status of the port before assuming that automatic submission to FACe has been ported.

Enterprise vs Community: which to choose

For the B2G case, both routes are viable: Enterprise brings Facturae/FACe integrated and maintained by Odoo; Community covers it with OCA (base + face) at zero licence cost, but with you taking on the maintenance and the validation of dependencies (xmlsig, certificates, registration as an integrator in FACe). The decision usually depends more on which edition you are already on and your appetite for self-managing the modules than on a radical functional difference in submission to the Administration.

For the B2B case, no one today can offer a "closed" and definitive solution, because the format and the public platform are pending the ministerial order. The prudent thing is to leave the ERP ready (Facturae already working, clean master data) and wait for the technical standard.

What is worth having ready (B2G checklist)

  • A valid digital certificate to sign the invoices (XAdES). It is essential both in OCA and in Enterprise.
  • Registration as an integrator on the FACe platform and uploading of the public part of the certificate in the corresponding environment.
  • Correctly completed public recipient data: accounting office, managing body and processing unit (DIR3 codes).
  • Status-change notification email configured and the web service (test/production) correctly pointed.
  • Clean customer/supplier master data (NIF, address, payment terms): they will be just as critical when B2B arrives.

Limitations and honest warnings

  • The OCA base module documents known limitations: for example, credit notes are not supported and there are cases (equivalence surcharge / recargo de equivalencia) that can generate an incorrect format. It is worth testing your real casuistry before taking the migration for granted.
  • Automatic submission to FACe in OCA (l10n_es_facturae_face) does not appear ported to 19.0 as of consultation: verify it if your project is going to Odoo 19.
  • The B2B obligation of Crea y Crece has no firm calendar date: it depends on a ministerial order not yet published. Do not plan with dates that do not come from the BOE.
  • Veri*Factu, SII and B2B electronic invoicing are distinct obligations; the fact that Odoo covers one does not imply that it covers the others with the same module.

How we help you from skanndar

If you work with Odoo (Community or Enterprise) and need to get invoicing to the Administration working well —or simply want an honest audit of how the B2B obligation will affect you when it arrives— at skanndar we do exactly that: we review your installation, validate the Facturae/FACe modules with your real casuistry (credit notes, certificates, DIR3) and tell you what is ready and what is not, without selling you smoke about dates that do not yet exist. If you want a review of your Spanish localisation in Odoo, write to us and we will look at it.

Have an Odoo project or an implementation that never quite works?

Tell me directly — I run a free audit for qualified projects.