Skip to main content
France Factur-X / Chorus Pro E-Invoicing — Factur-X hybrid PDF/A-3 invoices plus Chorus Pro and PDP submission for the French — 1/1Illustrative preview

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.

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

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
SIRET (14-digit) and SIREN (9-digit) capture and validation on res.partner with Luhn checksum verification and a compute-blocked confirmation when identifiers are missing or malformed
French VAT and fiscal-position mapping so each line's tax, category code and any exemption reason are written into the structured XML correctly
TVA intracommunautaire number validation for EU cross-border partners, with format and country-prefix checks
Submission state machine on the invoice (draft, generated, submitted, accepted, rejected, paid) surfaced in an OWL/XML view with the platform reference and rejection reason
Automated actions via ir.cron: queue eligible confirmed invoices, transmit them, then poll Chorus Pro / PDP for status updates and stamp them back onto account.move
ir.model.access.csv and record rules restricting who can generate, transmit, or reprocess e-invoices, keeping transmission separate from normal invoice editing
EN 16931 pre-submission validation: the module checks the CII XML against the semantic rules and blocks or flags invoices that would be rejected downstream
XML-RPC / JSON-RPC exposure of the generation and submission methods so external systems or portals can trigger compliant invoice creation programmatically
Audit trail: every generation and transmission attempt logged with timestamp, user, payload reference and platform response for reconciliation and inspection
Multi-company aware — per-company French identifiers, platform credentials and profile defaults for groups running several French entities in one database

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Odoo.

  3. 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

CriterionECOSIRECustom BuildCompetitorOdoo Native
Factur-X PDF/A-3 with embedded CII XMLIncludedPossible but you build the PDF/A-3 embedding and XML from scratchVaries — some generate XML but not all embed correctly at the right profileNot included
Chorus Pro B2G submissionIncludedYou implement the API integration and routing yourselfSometimes, often as a separate paid add-onNot included
PDP / PPF partner-platform connectorIncludedFull custom connector build requiredRare — usually tied to one specific platformNot included
SIRET/SIREN + TVA intracommunautaire validationIncludedYou write the checksum and format logicPartialPartial support
EN 16931 profile selection & pre-submission validationIncludedYou must encode and maintain the semantic rulesPartial — limited profile choiceNot included
Fits your existing QWeb invoice layout & fiscal positionsIncludedyes, but at full build costOften forces its own templatePartial support
Built, installed & supported for your database (17/18/19)IncludedYou own all the effort and maintenanceno — download-and-configure, generic supportNot included
Ongoing updates as the 2026-2027 mandate evolvesIncludedYour team tracks spec changesDepends on vendor release cadenceNot 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.

Request a quote

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

Request a Quotation

Tell us about your France Factur-X / Chorus Pro E-Invoicing requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.