Repository
odoo/odoo · module folder
Module version
2.4
Category
Accounting/Localizations/Account Charts
Folder size
0.63 MB
License
LGPL-3
Application
No
Auto-installable
Yes
Website
https://www.odoo.com/documentation/latest/applications/finance/fiscal_localizations/france.html
Last tracking update
2026-08-07 16:13:18
Authors
Odoo S.A.
Maintainers
Odoo S.A.
Committers
Alexis de Lattre, Josse Colpaert, Odoo Translation Bot, Laurent Smet, Julien Castiaux, Anh Thao Pham (pta), Gorash, Miquel Raïch, william-andre, Florian(flg), jbw-odoo, Habib (ayh), Maximilien (malb), Thomas Becquevort (thbe), Gauthier Wala (gawa), Ali Alfie (alal), Dylan Kiss (dyki), Jinane Maksoud, Arnaud Sibille, Sven Fuehr, yosa-odoo, kcv-odoo, SaddemAmine, hatr-odoo, Ahmad (alah), Claire (clbr), gteboul, Antoine Dupuis, Hesham Saleh, Logan Staelens, Smit Patel, AhmedElemary57, gvar-odoo, Corentin Heinix (cohe), Sherif Gabr, Krzysztof Magusiak (krma), Ajit Singh, krip-odoo, ijja-odoo, depr-odoo, Jugurtha, igbe, Jeanne Delneste, hisi-odoo, malb, Nesma Harraz (neha), pkri-odoo, Romain (roto), Abo Taha
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
l10n_account_edi_ubl_cii_tests, l10n_fr_account_tax_unece, l10n_fr_das2, l10n_fr_facturx_chorus_pro, l10n_fr_pdp, l10n_fr_pos_cert, l10n_mc
Description
This is the module to manage the accounting chart for France in Odoo.
========================================================================

This module applies to companies based in France mainland. It doesn't apply to
companies based in the DOM-TOMs (Guadeloupe, Martinique, Guyane, Réunion, Mayotte).

This localisation module creates the VAT taxes of type 'tax included' for purchases
(it is notably required when you use the module 'hr_expense'). Beware that these
'tax included' VAT taxes are not managed by the fiscal positions provided by this
module (because it is complex to manage both 'tax excluded' and 'tax included'
scenarios in fiscal positions).

This localisation module doesn't properly handle the scenario when a France-mainland
company sells services to a company based in the DOMs. We could manage it in the
fiscal positions, but it would require to differentiate between 'product' VAT taxes
and 'service' VAT taxes. We consider that it is too 'heavy' to have this by default
in l10n_fr_account; companies that sell services to DOM-based companies should update the
configuration of their taxes and fiscal positions manually.

**Credits:** Sistheo, Zeekom, CrysaLEAD, Akretion and Camptocamp.

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
fec_export_wizard_view l10n_fr.fec.export.wizard.view l10n_fr.fec.export.wizard form New
report_invoice_document report_invoice_document ir.ui.view qweb Inherits account.report_invoice_document
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (7)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • l10n_fr_is_company_french Boolean
    compute='_compute_l10n_fr_is_company_french'
Public methods (0)

No public methods.

New fields (1)
  • report_footer Html
    default=_default_report_footer
Public methods (0)

No public methods.

New fields (6)
  • date_from Date
    default=<expr> required=True string='Start Date'
  • date_to Date
    default=<expr> required=True string='End Date'
  • excluded_journal_ids Many2many → account.journal
    domain="[('company_id', 'parent_of', current_company_id)]" string='Excluded Journals' args: 'account.journal'
  • export_type Selection
    default='official' required=True string='Export Type' args: [('official', 'Official FEC report (posted entries only)'), ('nonofficial', 'Non-official FEC report (posted and unposted entries)')]
  • filename Char
    readonly=True size=256 string='Filename'
  • test_file Boolean
Public methods (2)
  • create_fec_report_action(self)
  • generate_fec(self)

New fields (2)
  • l10n_fr_rounding_difference_loss_account_id Many2one → account.account
    check_company=True args: 'account.account'
  • l10n_fr_rounding_difference_profit_account_id Many2one → account.account
    check_company=True args: 'account.account'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

Loading…