France

Modules

The following modules related to the French localization are available:

Name

Technical name

Description

France - Accounting

l10n_fr_account

French fiscal localization package that applies only to companies based in mainland France and doesn’t include DOM-TOMs.

France - Factur-X integration with Chorus Pro

l10n_fr_facturx_chorus_pro

Adds fields needed for submitting invoices to Chorus Pro.

France - E-Invoicing (Approved Platform)

l10n_fr_pdp

Support for the mandatory French electronic invoicing reform: sends and receives invoices through an approved platform (Plateforme de Dématérialisation Partenaire) and the e-reporting flows. Installed automatically with the French package.

France - VAT Anti-Fraud Certification for Point of Sale (CGI 286 I-3 bis)

l10n_fr_pos_cert

Point of Sale VAT anti-fraud certification

Note

The localization’s core modules are installed automatically with the localization. The rest can be manually installed.

The French VAT report export (EDI to the DGFiP), the French payroll, the FEC import, the liasse fiscale (Teledec) synchronization and the French versions of the financial reports (Bilan comptable (FR), Compte de résultats (FR), Rapport de taxes (FR)) are not available in this edition; the generic financial reports and the tax report (with the French CA3 grids) can be used instead.

Localization overview

The French localization package ensures compliance with French fiscal and accounting regulations. It includes tools for managing taxes, fiscal positions, reporting, and a predefined chart of accounts tailored to France’s standards.

The French localization package provides the following key features to ensure compliance with local fiscal and accounting regulations:

Accounting

E-Invoicing

The Chorus Pro portal, managed by the AIFE (Agence pour l’Informatique financière de l’État), is the official platform for submitting electronic invoices to French public entities. It allows businesses to send and manage invoices, track their processing status, and access payment updates. Since January 2020, electronic invoicing has been mandatory for all business-to-government (B2G) transactions in France. Odoo supports integration with Chorus Pro to submit invoices generated in Odoo.

Configuration

To send invoices to Chorus Pro, the following configuration is required:

  1. Install the France - Factur-X integration with Chorus Pro (l10n_fr_facturx_chorus_pro) module.

  2. Register with Peppol, as invoices are sent from Odoo to Chorus Pro via the Peppol network.

  3. If you don’t already have a Chorus Pro account, go to the Chorus Pro page, click Créer un compte, and create one.

  4. Configure the relevant customers’ contact form.

Customers

To submit invoices to Chorus Pro, configure the relevant customers’ contact form as follows:

  1. Ensure the Country field is completed, then select VAT as the Identification Number and enter the corresponding number.

  2. In the Sales & Purchase tab, ensure the SIRET field is completed.

  3. In the Accounting tab, fill in the following fields in the Customer Invoices section:

    • eInvoice format: Select BIS Billing 3.0.

    • Make sure France SIRET is selected in the next field, then type 11000201100044, the reference used by Chorus Pro.

Sending invoices to Chorus Pro

To send invoices to Chorus Pro, follow these steps:

  1. Go to Accounting ‣ Customers ‣ Invoices and open or create the invoice.

  2. Make sure the following fields are filled in the Other Info tab:

    • Buyer Reference: Service Exécutant in Chorus Pro

    • Contract Reference: Numéro de Marché in Chorus Pro

    • Purchase Order Reference: Engagement Juridique in Chorus Pro

  3. Confirm the invoice.

  4. Click Send and, in the Print & Send window, enable By Peppol.

  5. Click Send.

Once the invoice is sent, the Peppol status of the invoice is updated to Done.

See also

Peppol

Approved platform (PDP) e-invoicing

The France - E-Invoicing (Approved Platform) (l10n_fr_pdp) module implements the French electronic invoicing reform: B2B invoices are exchanged through an approved platform (Plateforme de Dématérialisation Partenaire, PDP) and the sales data is e-reported to the tax administration. The connection is configured in Accounting ‣ Configuration ‣ Settings ‣ French Electronic Invoicing:

  • Click Activate Electronic Invoicing to register the company (identified by its SIREN/SIRET) on the platform, with the Primary contact email and the Incoming Invoices Journal in which received vendor bills are created. The block then shows the registration state; Disconnect cancels the registration.

  • E-Reporting Periodicity: the VAT regime of the company (monthly or quarterly régime réel normal, monthly régime simplifié, bimonthly franchise), which determines how often the e-reporting flows (flux 10) are generated.

Once active, customer invoices are sent from the Send & Print window like Peppol invoices, incoming invoices are fetched automatically, and the generated e-reporting flows can be followed under Accounting ‣ Reporting ‣ France ‣ E-Reporting (list of Flows 10 with their period, status and transmission type).

Note

The platform connection is provided by an access-point service operated by Odoo S.A.; the registration requires the company’s SIRET, a public URL for the database and two-factor authentication for the users.

screenshot: finance-fl-france-pdp-settings
menu
Accounting ‣ Configuration ‣ Settings ‣ French Electronic Invoicing
shows
The "French Electronic Invoicing" settings block of a French company after activation: the SIRET identification with the "active" state, "Primary contact email", "Incoming Invoices Journal", "E-Reporting Periodicity" and the "Disconnect" button.
highlight
The "Activate Electronic Invoicing" / state line.
data
Demo company "YourCompany FR" registered in test mode.
module
l10n_fr_pdp
notes
English UI, light theme, 1440px width; use a test registration.

FEC - Fichier des Écritures Comptables

An FEC Fichier des Écritures Comptables audit file contains all the accounting data and entries recorded in all the accounting journals for a financial year. The entries in the file must be arranged in chronological order. Since January 2014, every French company is required to produce and transmit this file upon request by the tax authorities for audit purposes.

Note

The FEC File Generation wizard (l10n_fr.fec.export.wizard) is part of the France - Accounting module, but the menu that opens it is not available in this edition. Ask your system administrator to open the wizard (a window action on that model can be created from Settings ‣ Technical ‣ Actions ‣ Window Actions in developer mode), or export the journal items from the general ledger instead.

FEC Export

In the FEC File Generation window, fill in the following fields:

  • Start Date

  • End Date

  • Export Type: Official FEC report (posted entries only) or Non-official FEC report (posted and unposted entries) (for testing).

  • Exclude lines at 0: Enable this option if needed.

  • Excluded Journals: Select the journal(s) to exclude.

Then, click Generate.

Point of sale

VAT anti-fraud certification

Since January 2018, new anti-fraud legislation has been in effect in France and its overseas territories (DOM-TOM). This legislation establishes specific requirements for the integrity, security, storage, and archiving of sales data. Odoo complies with these legal requirements by providing a dedicated module.

Anti-fraud cash register software, such as Odoo (CGI art. 286, I. 3° bis), is required for companies taxable in France or DOM-TOM, where some customers are private individuals (B2C). This rule applies to all company sizes, but auto-entrepreneurs exempt from VAT are unaffected.

Certification

The tax administration requires all companies to provide a certificate of conformity confirming that their software complies with anti-fraud legislation. In case of non-compliance, a €7,500 fine may be imposed.

Note

The certificate of conformity is a document issued by the software vendor for the certified software version. Ask your support provider which certificate applies to your installation.

To activate the anti-fraud features, follow these steps:

  1. Install the France - VAT Anti-Fraud Certification for Point of Sale (CGI 286 I-3 bis) (l10n_fr_pos_cert) module.

  2. Set the Country field on the company record to encrypt entries for the inalterability check.

Anti-fraud features

The anti-fraud module introduces the following features:

Inalterability

All methods to cancel or modify key data in POS orders, invoices, and journal entries are deactivated for companies located in France or any DOM-TOM.

Note

In a multi-company environment, only the documents of such companies are impacted.

Security

To ensure inalterability, every order or journal entry is encrypted upon validation. This number (or hash) is calculated from the document’s key data and the hash of the precedent documents. The module introduces an interface to test the data’s inalterability. The test will fail if any information is modified on a document after its validation. The algorithm recomputes all the hashes and compares them against the initial ones. In case of failure, the system points out the first corrupted document recorded in the system.

Only users with administrator access rights can initiate the inalterability check:

  • For POS orders, go to Point of Sale ‣ Reporting ‣ POS Inalterability Check;

  • For journal entries, run the Data Inalterability Check server action as described in Data inalterability check report.

Storage

The system also processes automatic sales closings daily, monthly, and annually. Such closings compute the sales total for the period and the cumulative grand totals from the very first sales entry recorded in the system.

To access closings, either go to Point of Sales ‣ Reporting ‣ Sales Closings or Invoicing/Accounting ‣ Reporting ‣ Sales Closings.

Note

  • Closings compute the totals for journal entries of sales journals (Journal Type = Sales).

  • For multi-companies environments, such closings are performed by company.

  • POS orders are posted as journal entries at the closing of the POS session. Closing a POS session can be done anytime. To prompt users to do it daily, the module prevents them from resuming a session that was opened more than 24 hours ago. Such a session must be closed before selling again.

  • A period’s total is computed from all the journal entries posted after the previous closing of the same type, regardless of their posting date. Recording a new sales transaction for a period already closed will be counted in the very next closing.

Tip

For test & audit purposes, closings can be manually generated in developer mode. To do so, go to Settings ‣ Technical ‣ Scheduled Actions. In the scheduled actions list view, open the desired Sale Closing action and click Run manually.

Responsibilities

Uninstalling this module will reset the security hashes. This means the system will no longer guarantee the integrity of the past data.

Users are responsible for their Odoo system and must operate it carefully. Modifying source code responsible for ensuring data integrity is not allowed.

Odoo is not responsible for any issues with this module’s functionality if caused by uncertified third-party applications.