The PDF-by-email invoice stops being valid
For domestic B2B transactions in France, the invoice must be sent in a structured format through an accredited platform. Emailing a plain PDF no longer complies with the reform.
From 1 September 2026, the French reform makes it compulsory to send and receive electronic invoices through an approved platform (PDP). Bolting that on with tools outside your ERP is a real risk. This Odoo 19 module connects your ERP to the approved platform, generates Factur-X, tracks every invoice through its lifecycle and prepares B2C e-reporting, all inside Odoo.

Try the France e-invoicing module inside a real Odoo 19, no sign-up. User demo / flexigodemo.
From September 2026, a PDF by email is no longer enough. The invoice has to travel through an approved platform in a structured format, and its status has to be traceable. Handling that with disconnected tools outside your ERP just multiplies the errors.
For domestic B2B transactions in France, the invoice must be sent in a structured format through an accredited platform. Emailing a plain PDF no longer complies with the reform.
Without lifecycle tracking, you cannot tell whether an invoice was deposited, rejected or accepted. That blind spot breaks your reconciliation and your relationship with the French customer.
It is not all B2B invoices: consumer sales and certain cross-border transactions require e-reporting. Keeping that in a separate system is one more source of mistakes.
It does not promise to represent you before the French tax authority. It does the concrete, useful work: connect Odoo to an approved platform, generate Factur-X, track every invoice through its lifecycle and prepare B2C e-reporting.
Routes both sending and receiving from Odoo itself, with built-in adapters for Basware, Sovos, Tradeshift, EDICOM and Docaposte, plus a generic REST adapter for any other accredited platform.
Generates Factur-X (PDF/A-3 with embedded XML, from the Minimum profile to Extended) and also the UBL 2.1 and UN/CEFACT CII structured formats, whichever your platform expects.
Validates each invoice against the EN 16931 standard before submission, with BR error codes, so rejections are caught inside Odoo before they ever reach the platform.
Records the 6 DGFiP statuses of every invoice with an immutable history and alerts for stalled submissions, so you always know whether it was deposited, accepted or rejected.
Invoices arriving from the platform are turned into draft vendor bills inside Odoo, with purchase-order matching by confidence score and built-in duplicate control.
Covers the three CGI Art. 290 e-reporting types: B2C in 10-day periods, monthly cross-border and domestic reverse-charge, with deadline reminders sent by email from Odoo.
Validates and completes your contacts' SIRET against the INSEE SIRENE API, with a bulk-completion wizard for cleaning up an existing contact database.
Compliance dashboard with a countdown to the mandate, a ZIP evidence export for a DGFiP audit with 10-year retention, and platform credentials encrypted with Fernet, never stored in plain text.
You keep working the way you already do in Odoo. The module takes over the moment you validate the invoice.
Install the module and enter the credentials of your accredited platform (PDP). They are stored encrypted with Fernet, and a built-in or generic REST adapter handles the rest.
When you post an invoice, the module builds the Factur-X (or UBL 2.1 / CII), checks it against EN 16931 and routes it to the platform, all without leaving the invoice screen.
The 6 DGFiP statuses update automatically on each invoice, and inbound invoices from the platform land as draft vendor bills matched to your purchase orders.
FlexigoTech is Flexibles y Accesorios Gobe, S.L., based in Barcelona. The module is built by a single developer, so when you have a question about the approved platform or Factur-X, you talk directly with the person who wrote the code, not a salesperson.
It is a native Odoo module, with no external platform to maintain and no extra SaaS fee. It connects to the approved platform, generates Factur-X, tracks the lifecycle and prepares B2C e-reporting. Signing the contract with the approved platform and your own tax responsibility remain yours, and we tell you that before you buy, not after.
Buy it once on the Odoo App Store and it is yours. No per-invoice charges, no monthly SaaS subscription on top of your platform contract.
A single purchase on the Odoo App Store. No subscription, no per-document fee: what you pay for the France e-invoicing module is what it costs.
You get the readable Python and XML source, so your own team or partner can review, adapt and maintain it. No obfuscation, no black box.
Built and tested for Odoo 17, 18 and 19, on both Community and Enterprise. Whichever supported version you run today, the module is ready for it.
Questions and issues go straight to the developer who wrote the module. Try it first in the free live demo, then buy with confidence.
E-invoicing rarely comes alone. It usually shows up next to other European e-invoicing mandates and the need to keep all your compliance inside a single Odoo.
Under the French reform timeline, receiving e-invoices is mandatory for every company from 1 September 2026. Issuing e-invoices is mandatory from that same date for large companies and mid-caps, and from 1 September 2027 for SMEs and micro-businesses. This Odoo 17/18/19 module gets your business ready to issue and receive through an approved platform (PDP).
A PDP, now officially called a Plateforme Agreee, is a private platform accredited by the French tax administration that routes your e-invoices between issuer and recipient and forwards the required data to the DGFiP. Because the public portal no longer handles routing, going through an approved platform is the operational way to send and receive. The module connects your Odoo to that platform so the routing happens straight from the ERP.
The module generates Factur-X, the hybrid format of the French reform: a human-readable PDF/A-3 with a structured XML embedded inside for automated processing, from the Minimum profile up to Extended. It can also output the UBL 2.1 and UN/CEFACT CII structured formats, so the invoice works for both your customer and the transmission through the approved platform.
Yes. Beyond B2B e-invoices, the reform requires e-reporting: sending the tax administration the data for transactions that do not carry a mandatory e-invoice, such as B2C sales and certain cross-border operations. The module covers the three CGI Art. 290 e-reporting types (B2C in 10-day periods, monthly cross-border and domestic reverse-charge) right inside Odoo, so you do not run compliance in two separate systems.
Yes. The module runs on both Odoo Community and Enterprise, for Odoo 17, 18 and 19. It does not depend on any Enterprise-only app, so a standard Community install with Accounting/Invoicing is enough to connect to the approved platform, generate Factur-X and track the invoice lifecycle.
Yes. There is a live demo, a real Odoo 19 with the module installed and no sign-up (user demo, password flexigodemo), where you can see the approved-platform connection, Factur-X generation, invoice lifecycle tracking and B2C e-reporting. When you are ready, you buy the license on the Odoo App Store for a single one-time payment of 49 EUR, source code included.
The only question is whether you bolt it on with loose tools or solve it inside Odoo. Try the demo and tell us which Odoo you run.