Cet article est actuellement disponible en anglais uniquement. Traduction à venir.
Odoo France Localization 2026: DGFiP, FEC, E-Invoicing Reform & TVA
France's Direction Generale des Finances Publiques (DGFiP) is rolling out one of Europe's largest e-invoicing reforms with mandatory B2B electronic invoicing through Plateformes Agreees (PA, certified platforms) phased from September 2026 through September 2027. The reform replaces traditional invoice exchange with a regulated digital ecosystem where invoices flow through the Portail Public de Facturation (PPF) for data extraction and through certified PAs for invoice exchange. Beyond the reform, France imposes strict accounting requirements via the Plan Comptable General (PCG) and the Fichier des Ecritures Comptables (FEC) audit file. Odoo's l10n_fr localization is mature and well-supported, with l10n_fr_facturx and emerging l10n_fr_pa modules for the 2026 reform.
Key Takeaways
- DGFiP administers TVA (20%, 10%, 5.5%, 2.1%), Impot sur les Societes (25%), and IR
- 2026 e-invoicing reform: B2B mandatory through Plateformes Agreees from September 2026
- Odoo
l10n_frprovides PCG-compliant chart, TVA, and FEC export- FEC mandatory for all entities under accrual accounting; on-demand audit submission
- Factur-X (PDF + structured XML) is the recommended hybrid format under the reform
- SIRET (14 digits), SIREN (9 digits), and APE/NAF code required on invoices
- Statutory reports include CA3 (TVA), liasse fiscale (annual tax bundle), DAS2
France Tax Framework Overview
DGFiP enforces:
- TVA (Value Added Tax): 20% standard rate; 10% reduced (restaurant meals, transport, renovation); 5.5% (food, books, water, cultural); 2.1% (newspapers, certain medicines); 0% on exports outside EU
- Impot sur les Societes (IS): 25% standard rate; 15% reduced rate on first EUR 42,500 of profit for SMEs
- Contribution Sociale de Solidarite (CSS): 0.16% on revenue above EUR 19M
- TVA Intracommunautaire: Reverse charge on EU acquisitions
- DEB / DES: Statistical declarations for EU intra-community trade
Personal income tax (Impot sur le Revenu) and social contributions (URSSAF, CSG, CRDS) drive payroll complexity.
Required Odoo Localization Modules
| Module | Purpose | Edition |
|---|---|---|
l10n_fr | France chart of accounts (PCG) | Community |
l10n_fr_account_check_print | French check format | Community |
l10n_fr_facturx | Factur-X PDF + XML hybrid | Community / Enterprise |
l10n_fr_fec | FEC audit file export | Community |
l10n_fr_reports | TVA returns, liasse fiscale | Enterprise |
l10n_fr_pa | Plateforme Agreee integration (emerging) | Custom / Enterprise |
account_peppol | Peppol PINT-FR for the reform | Enterprise |
hr_payroll_l10n_fr | French payroll with social charges | Enterprise / Custom |
The 2026 reform requires integration with at least one Plateforme Agreee. Odoo's l10n_fr_pa module (or partner equivalents) connects to selected PAs, with a transitional period through 2027 for full ecosystem maturity.
Chart of Accounts Setup
The Plan Comptable General (PCG) is mandatory and uses a strict numerical hierarchy:
- Class 1: Capital and reserves (10-19)
- Class 2: Fixed assets (20-29)
- Class 3: Inventory (30-39)
- Class 4: Receivables and payables (40-49)
- Class 5: Financial accounts (50-59)
- Class 6: Expenses (60-69)
- Class 7: Revenue (70-79)
- Class 8: Special accounts (80-89, optional)
Specific PCG accounts:
- 445: TVA accounts (44566 deductible TVA, 44571 collected TVA, 44551 TVA to pay/refund)
- 421: Personnel - remuneration due
- 431: Securite Sociale
- 445661: TVA deductible on goods and services
- 707: Sales of goods
- 706: Sales of services
Configure the company record with:
- SIREN (9 digits) - business identification
- SIRET (14 digits, SIREN + branch code) - establishment identifier
- TVA Intracommunautaire number (FR + 13 chars including SIREN)
- APE/NAF code - main activity classification
- Forme juridique (SARL, SAS, SA, etc.)
TVA Configuration
Configure TVA tax records:
| Tax Name | Rate | Type | Notes |
|---|---|---|---|
| TVA 20% Vente | 20% | Sales | Standard |
| TVA 10% Vente | 10% | Sales | Restaurants, transport, renovation |
| TVA 5.5% Vente | 5.5% | Sales | Food, water, books |
| TVA 2.1% Vente | 2.1% | Sales | Newspapers, specific medicines |
| TVA 0% Export hors UE | 0% | Sales | Exports outside EU |
| TVA Intracommunautaire | 0% | Sales | Goods to EU VAT-registered (with VIES check) |
| TVA 20% Achat | 20% | Purchase | Recoverable |
| Autoliquidation TVA Intra | 20% | Purchase | EU acquisitions self-charge |
<record id="account_tax_fr_intra_self_charge" model="account.tax">
<field name="name">Autoliquidation TVA Intracommunautaire 20%</field>
<field name="amount">20</field>
<field name="amount_type">percent</field>
<field name="type_tax_use">purchase</field>
<field name="invoice_repartition_line_ids" eval="[
(0,0,{'factor_percent': 100, 'repartition_type': 'base'}),
(0,0,{'factor_percent': 100, 'repartition_type': 'tax', 'account_id': ref('tva_collectee_intra_account')}),
(0,0,{'factor_percent': -100, 'repartition_type': 'tax', 'account_id': ref('tva_deductible_intra_account')})
]"/>
</record>
2026 E-Invoicing Reform
The reform creates a regulated invoice flow:
| Date | Scope | Requirement |
|---|---|---|
| 1 September 2026 | All companies | Must be able to RECEIVE e-invoices |
| 1 September 2026 | Large companies (5,000+ employees) and ETI | Must ISSUE e-invoices |
| 1 September 2027 | SMEs and TPE | Must ISSUE e-invoices |
Architecture:
- Plateformes Agreees (PA): Private certified platforms exchanging invoices between buyers and sellers
- Operateurs de Dematerialisation (OD): Service providers offering value-add services on top of PAs
- Portail Public de Facturation (PPF): Public portal extracting fiscal data from invoices
Invoices flow seller PA → buyer PA, with both PAs reporting structured data to PPF. Direct seller-to-buyer invoicing (without a PA) becomes prohibited for B2B.
Required formats:
- Factur-X / Factura PDF: PDF with embedded UBL/CII XML (recommended hybrid)
- UBL 2.1: Pure XML option
- CII (Cross Industry Invoice) 16B: Pure XML option
Factur-X Implementation
Factur-X is a PDF/A-3 file with embedded XML, allowing both human-readable display and machine processing. Odoo's l10n_fr_facturx module:
- Generates the standard Odoo invoice PDF
- Builds the matching CII XML with all invoice data
- Embeds the XML inside the PDF as PDF/A-3 attachment
- Validates the resulting Factur-X meets the BASIC, EN16931, or EXTENDED profiles
When sending to a PA, the Factur-X PDF + extracted XML is transmitted; the PA may convert to UBL based on the recipient's preference.
FEC Audit File
The Fichier des Ecritures Comptables is mandatory for all entities under accrual accounting. Required when:
- DGFiP requests during a tax audit
- For specific compliance certifications
The FEC is a delimited text file with 18 mandatory columns including journal code, posting date, document reference, account number, debit/credit, etc. Format strictly defined by Article A47 A-1 du LPF.
Odoo's l10n_fr_fec exports the FEC for any fiscal year. Validation against DGFiP's "Test Compta Demat" tool before submission is recommended.
CA3 - Monthly TVA Return
Most TVA-registered companies submit CA3 monthly via the impots.gouv.fr portal. Key boxes:
- Operations imposables: Standard, reduced, super-reduced rate sales
- Operations non imposables: Exports, intra-community supplies
- TVA brute due: Total TVA collected
- TVA deductible: Input TVA recoverable
- TVA a payer / Credit de TVA: Net amount
Odoo's TVA report aggregates by tax category and produces a CA3-ready summary.
Payroll Considerations
French payroll is among the most complex globally. Components:
| Item | Employee | Employer | Notes |
|---|---|---|---|
| URSSAF (multiple sub-cotisations) | ~22% | ~42% | Health, family, unemployment, retirement |
| Retraite Complementaire (AGIRC-ARRCO) | 4.01% | 6.02% | Mandatory complementary pension |
| CSG/CRDS | 9.7% | N/A | Generalized social contribution |
| Prelevement a la Source | Per progressive | N/A | PAYG income tax since 2019 |
| Mutuelle (Health top-up) | Variable | Min 50% | Mandatory employer contribution |
| Prevoyance | Variable | Variable | Disability/death insurance |
Most French Odoo deployments integrate specialized payroll software (Sage Paie, Cegedim, ADP, Silae) due to French payroll complexity. Native Odoo payroll handles basic structures but rarely covers the full social charges matrix.
Reporting Requirements
A French Odoo deployment must produce:
- CA3 (TVA Return): Monthly via impots.gouv.fr
- DEB (Declaration d'Echanges de Biens): Monthly intra-community goods statistics
- DES (Declaration Europeenne de Services): Monthly intra-community services
- Liasse Fiscale: Annual tax bundle (Bilan, P&L, annexes 2050-2059)
- DAS2: Annual declaration of fees, commissions paid above EUR 1,200/year
- DSN (Declaration Sociale Nominative): Monthly unified payroll declaration
Implementation Checklist
- Confirm SIRET, TVA Intra, APE, forme juridique
- Choose Plateforme Agreee for the 2026 reform; obtain PA credentials
- Install
l10n_frandl10n_fr_facturx; configure SIRET, TVA Intra - Verify PCG chart of accounts; add company-specific 6-digit accounts
- Configure TVA 20%, 10%, 5.5%, 2.1%, autoliquidation intra
- Implement Factur-X hybrid invoice generation
- Configure or integrate PA submission per reform requirements
- Plan FEC export procedures for tax audits
- Decide on payroll: native Odoo or specialized French payroll integration
- Build CA3, DEB, DES exports aligned to DGFiP formats
Common Pitfalls
Missing TVA Intra autoliquidation: EU acquisitions require self-charge — both output and input TVA on the same line. Treating as exempt purchases distorts the CA3.
Wrong PCG account structure: French audits expect PCG-compliant chart. Custom non-PCG charts are rejected by auditors and DGFiP.
FEC validation errors: The FEC has strict column ordering, encoding (ISO-8859-15), and date format requirements. Test with DGFiP's validator before submission.
Late DSN submissions: DSN is monthly with strict deadlines (5th or 15th of next month). Late submissions incur per-day penalties.
E-invoicing reform unpreparedness: Companies must register with a PA before the September 2026 deadline. Late registration causes invoice exchange interruption.
ECOSIRE provides Odoo localization for France, including PA integration for the 2026 reform, FEC compliance, and DSN/DGFiP filings. Contact us for implementation or explore our accounting services.
Frequently Asked Questions
Which Plateforme Agreee should we use?
The DGFiP publishes a list of certified PAs. Choice depends on integration ease, cost, and additional value-add services (analytics, archive, multi-format conversion). Odoo's l10n_fr_pa module supports several major PAs with more being added. ECOSIRE evaluates PAs per client needs and recommends based on transaction volume and complexity.
Is Factur-X required, or can we use pure UBL?
The reform allows multiple formats: Factur-X (hybrid PDF+XML), UBL 2.1, and CII 16B. Buyers may prefer one format; PAs typically convert between formats. Factur-X is the most user-friendly because it preserves human-readable PDF while including machine-readable XML. ECOSIRE recommends Factur-X for SMEs and pure UBL for high-volume B2B.
Does Odoo's payroll work for French companies?
For very small companies (under 10 employees) with simple structures, native Odoo payroll suffices. For most companies, integration with specialized French payroll software (Silae, Sage Paie, Cegedim) is the practical path due to URSSAF complexity and DSN requirements. Odoo handles HR data; payroll software handles calculations and DSN.
How does FEC export work in Odoo?
l10n_fr_fec exports the FEC in the prescribed delimited format. Run from Accounting > Reporting > FEC Export, specifying the fiscal year. The output is a .txt file ready for DGFiP submission. Always run DGFiP's "Test Compta Demat" validator on the file before delivering to inspectors during an audit.
Can we still issue paper invoices after September 2026?
For B2B transactions to entities required to receive e-invoices (i.e., all companies as of September 2026), paper invoices are not a valid replacement — invoices must flow through PAs. For B2C, paper or electronic without PA remains acceptable. The reform fundamentally changes B2B invoice exchange.
Rédigé par
ECOSIRE TeamTechnical Writing
The ECOSIRE technical writing team covers Odoo ERP, Shopify eCommerce, AI agents, Power BI analytics, GoHighLevel automation, and enterprise software best practices. Our guides help businesses make informed technology decisions.
ECOSIRE
Transformez votre entreprise avec Odoo ERP
Implémentation, personnalisation et assistance expertes d'Odoo pour rationaliser vos opérations.
Articles connexes
Comment ajouter un bouton personnalisé à une vue de formulaire Odoo (2026)
Ajoutez des boutons d'action personnalisés aux vues de formulaire Odoo 19 : méthode d'action Python, héritage des vues, visibilité conditionnelle, boîtes de dialogue de confirmation. Testé en production.
Comment ajouter un champ personnalisé dans Odoo sans Studio (2026)
Ajoutez des champs personnalisés via le module personnalisé dans Odoo 19 : héritage de modèle, extension de vue, champs calculés, décisions magasin/non-magasin. Code d'abord, contrôle de version.
Comment ajouter un rapport personnalisé dans Odoo à l'aide d'une mise en page externe
Créez un rapport PDF de marque dans Odoo 19 à l'aide de web.external_layout : modèle QWeb, format papier, liaison d'action. Avec logo imprimé + remplacements de pied de page.