- Home
- Apps
- SaaS Tools
- France Factur-X / Chorus Pro E-Invoicing
Illustrative previewFactur-X hybrid PDF/A-3 invoices plus Chorus Pro and PDP submission for the French e-invoicing mandate
— built, installed and supported by ECOSIRE.
What is France Factur-X / Chorus Pro E-Invoicing?
Factur-X hybrid PDF/A-3 invoices plus Chorus Pro and PDP submission for the French e-invoicing mandate — built, installed and supported by ECOSIRE. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.
Key Features
Built to order, done for you
No DIY setup — a working app, built, installed and supported by ECOSIRE.
- 1
You order
Start with a one-time build price. We scope it with you at kickoff.
- 2
We build & install
ECOSIRE builds, configures and installs it on your Odoo.
- 3
Go live + support
You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.
Technical Specifications
- Odoo Compatibility
- Odoo 17, Odoo 18, Odoo 19
- Editions
- Enterprise & Community
- License
- Licence confirmation required
- Python Requirement
- Python 3.10+
- Database
- PostgreSQL 12+
About this Product
France's e-invoicing reform makes structured, machine-readable invoices mandatory: from September 2026 all businesses must be able to receive electronic invoices, and issuance obligations phase in through 2027. Meeting this with Odoo core alone is not possible — Odoo does not natively produce compliant Factur-X hybrid files or connect to Chorus Pro and Partner Dematerialization Platforms (PDPs). This is a build-to-order Odoo module that ECOSIRE designs, develops, installs on your Odoo 17, 18 or 19 database, and supports afterwards. It is not an existing apps.odoo.com download; we build it around your chart of accounts, fiscal positions and partner platform of choice, with a one working week lead time.
The module extends account.move to generate Factur-X invoices: a human-readable PDF/A-3 with a validated CII (Cross-Industry Invoice) XML embedded inside it, so the same file is both a legal PDF and structured data. A QWeb report renders the visible invoice while a generation service assembles and attaches the embedded XML at the correct EN 16931 profile (MINIMUM, BASIC WL, BASIC, EN 16931 or EXTENDED depending on your needs). For public-sector (B2G) billing, the module submits directly to Chorus Pro, and for B2B it connects to your chosen PDP/PPF partner platform to transmit invoices and pull back lifecycle statuses.
Under the hood it is honest Odoo engineering: new fields and compute methods (with @api.depends) on account.move and res.partner for SIRET/SIREN, TVA intracommunautaire and legal identifiers; validation that blocks confirmation of non-compliant invoices; ir.model.access.csv plus record rules so only authorized accounting users can transmit or reprocess; XML/OWL views that surface submission state, Chorus Pro/PDP references and error messages on the invoice form; and automated actions (server actions on ir.cron/base.automation) that push queued invoices and poll for status changes. Everything is wired to your French VAT setup and fiscal positions so the right tax categories and exemption codes land in the XML. Delivered on Community or Enterprise, tested against your data, with source you own.
What you get
- Complete Odoo module source (models, views, security, data) with a clean __manifest__.py declaring dependencies, version and data files — packaged for Odoo 17, 18 or 19 as required
- Installation and configuration on your Odoo database: fiscal positions, French VAT taxes, company SIRET/SIREN and Chorus Pro / PDP credentials wired and verified
- Chorus Pro and/or PDP connector configuration for your entity, including sandbox testing before production transmission
- Configuration and administrator documentation: how profiles, routing, cron scheduling and error handling work, plus a runbook for handling rejections
- A live training session (recorded) for your accounting team covering issuing, transmitting and reconciling e-invoices in Odoo
- A defined post-go-live support window with bug fixes and adjustments as you process real invoices through Chorus Pro / the PDP
- Test evidence: sample Factur-X files validated against the EN 16931 profile and a documented end-to-end submission in the sandbox environment
Who this is for
French SME finance manager
Runs accounting for a French company on Odoo and must be able to receive e-invoices by September 2026 and issue Factur-X to customers as issuance obligations phase in. Wants compliance handled inside Odoo without changing the existing invoicing workflow.
Public-sector supplier (B2G)
Sells to French administrations and already knows Chorus Pro is mandatory. Needs reliable submission with correct SIRET routing, service codes and commitment numbers, and clear visibility of acceptance or rejection directly on the Odoo invoice.
EU partner billing into France
A non-French EU business that invoices French customers and must send structured invoices via a PDP. Needs correct TVA intracommunautaire handling, fiscal-position mapping and a connector to a certified partner platform, integrated with their Odoo instance.
How France Factur-X / Chorus Pro E-Invoicing Compares
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Factur-X PDF/A-3 with embedded CII XML | Included | Possible but you build the PDF/A-3 embedding and XML from scratch | Varies — some generate XML but not all embed correctly at the right profile | Not included |
| Chorus Pro B2G submission | Included | You implement the API integration and routing yourself | Sometimes, often as a separate paid add-on | Not included |
| PDP / PPF partner-platform connector | Included | Full custom connector build required | Rare — usually tied to one specific platform | Not included |
| SIRET/SIREN + TVA intracommunautaire validation | Included | You write the checksum and format logic | Partial | Partial support |
| EN 16931 profile selection & pre-submission validation | Included | You must encode and maintain the semantic rules | Partial — limited profile choice | Not included |
| Fits your existing QWeb invoice layout & fiscal positions | Included | yes, but at full build cost | Often forces its own template | Partial support |
| Built, installed & supported for your database (17/18/19) | Included | You own all the effort and maintenance | no — download-and-configure, generic support | Not included |
| Ongoing updates as the 2026-2027 mandate evolves | Included | Your team tracks spec changes | Depends on vendor release cadence | Not included |
Frequently Asked Questions about France Factur-X / Chorus Pro E-Invoicing
When will the module be ready after I purchase — what is the lead time?
This is a build-to-order module, not an instant apps.odoo.com download. After a short scoping call we build, install and test it on your Odoo 17/18/19 database, typically within a one working week lead time depending on how many French entities, platforms (Chorus Pro vs a specific PDP) and profiles you need. You get progress updates and a sandbox validation before we switch on production transmission.
What support and updates do I get after delivery?
Every build includes a defined post-go-live support window during which we fix bugs and make adjustments as you push real invoices through Chorus Pro or your PDP. Because the French mandate and the CII / Factur-X profiles are still evolving through 2026–2027, we offer an ongoing maintenance option to keep the module aligned with specification changes and to add newly required fields or statuses. You own the source, so you are never locked in.
Does this work with Odoo Community, or do I need Enterprise?
It runs on both. The module extends standard account.move, res.partner and QWeb reporting, so it installs on Community or Enterprise editions of Odoo 17, 18 and 19. We confirm your edition and installed accounting/localization apps during scoping and target the build to your exact version.
How is Factur-X actually generated — is it a real hybrid file?
Yes. The module produces a PDF/A-3 rendered from your QWeb invoice report with a validated CII XML embedded inside it, so a single file is simultaneously a human-readable PDF and structured machine-readable data. You choose the EN 16931 profile (from MINIMUM up to EXTENDED). We validate sample output against the profile's semantic rules before go-live so downstream platforms accept it.
Can it submit to both Chorus Pro (B2G) and a B2B partner platform (PDP)?
Yes. For public-sector invoices it submits directly to Chorus Pro with SIRET routing, service code and commitment-number capture. For B2B it connects to your chosen certified PDP/PPF to transmit invoices and pull back lifecycle statuses. Automated ir.cron actions queue, transmit and poll for status, stamping acceptance or rejection back onto the Odoo invoice.
Do you handle SIRET/SIREN and French VAT validation?
Yes. We add SIRET (14-digit) and SIREN (9-digit) fields to res.partner with checksum validation, plus TVA intracommunautaire checks for EU partners. Confirmation is blocked when required identifiers are missing or malformed, and your fiscal positions and French VAT taxes are mapped so the correct tax categories and any exemption reasons are written into the structured XML.
Related Modules

Flutterwave Payment Gateway for Odoo
Pan-African cards, mobile money, USSD & bank transfer via Flutterwave, built into Odoo checkout with webhook reconciliation and refunds.

Forms • Components API
A build-to-order Odoo integration layer that gives your forms real interaction, reactivity and validation across both the OWL frontend and the Python/ORM backend. ECOSIRE designs, builds, installs and supports it for your Odoo 17/18/19 database.

Full Accounting Kit (Community)
Enterprise-grade accounting for Odoo Community: financial reports, asset depreciation, recurring entries, follow-ups & PDC — built to order.
France Factur-X / Chorus Pro E-Invoicing
Factur-X hybrid PDF/A-3 invoices plus Chorus Pro and PDP submission for the French e-invoicing mandate — built, installed and supported by ECOSIRE.
- Factur-X generation on account.move: a PDF/A-3 invoice with a validated CII XML embedded, produced from your existing QWeb invoice report so the visible layout stays yours
- Configurable Factur-X / EN 16931 profile selection (MINIMUM, BASIC WL, BASIC, EN 16931, EXTENDED) chosen per company or partner to match customer and platform requirements
- Chorus Pro B2G submission: direct transmission of public-sector invoices with SIRET-based routing, service code and commitment (engagement juridique) number capture
- PDP / PPF partner-platform connector to transmit B2B invoices and receive lifecycle statuses through your chosen certified platform
