From d56baebc8e7f654304eca59b3c58ceb80846c659 Mon Sep 17 00:00:00 2001 From: "Lucas Perais (lpe)" Date: Wed, 3 May 2017 14:27:59 +0200 Subject: [PATCH] [IMP] l10n_fr: make french localization usable out of the box. * added some accounts, cash based taxes, DOM-TOM country group... * improved sale/purchase journal creation for french companies by making sure they have a dedicated sequence for refunds --- addons/l10n_fr/__manifest__.py | 1 + .../data/account_chart_template_data.xml | 22 +++++ .../account_fiscal_position_template_data.xml | 80 ++++++++++++++- addons/l10n_fr/data/account_tax_data.xml | 99 ++++++++++++++++++- addons/l10n_fr/data/l10n_fr_chart_data.xml | 1 + addons/l10n_fr/data/res_country_data.xml | 16 +++ addons/l10n_fr/models/l10n_fr.py | 13 +++ 7 files changed, 225 insertions(+), 7 deletions(-) create mode 100644 addons/l10n_fr/data/res_country_data.xml diff --git a/addons/l10n_fr/__manifest__.py b/addons/l10n_fr/__manifest__.py index a1aadeaf849..fef029afb3d 100644 --- a/addons/l10n_fr/__manifest__.py +++ b/addons/l10n_fr/__manifest__.py @@ -36,6 +36,7 @@ configuration of their taxes and fiscal positions manually. 'data/account_chart_template_data.xml', 'views/l10n_fr_view.xml', 'data/account_tax_data.xml', + 'data/res_country_data.xml', 'data/account_fiscal_position_template_data.xml', 'data/account_reconcile_model_template.xml', 'data/account_chart_template_data.yml', diff --git a/addons/l10n_fr/data/account_chart_template_data.xml b/addons/l10n_fr/data/account_chart_template_data.xml index 429e5b3030e..67deb80cc04 100644 --- a/addons/l10n_fr/data/account_chart_template_data.xml +++ b/addons/l10n_fr/data/account_chart_template_data.xml @@ -2298,6 +2298,13 @@ + + TVA due imports + 445204 + + + + TVA à décaisser 44551 @@ -2343,6 +2350,13 @@ + + TVA déductible imports + 445663 + + + + Crédit de TVA à reporter 44567 @@ -2389,6 +2403,14 @@ + + Taxes sur le chiffre d'affaires à régulariser ou en attente + 445800 + + + + + Acomptes - Régime simplifié d'imposition 44581 diff --git a/addons/l10n_fr/data/account_fiscal_position_template_data.xml b/addons/l10n_fr/data/account_fiscal_position_template_data.xml index 51108bb0be8..c1b3663520f 100644 --- a/addons/l10n_fr/data/account_fiscal_position_template_data.xml +++ b/addons/l10n_fr/data/account_fiscal_position_template_data.xml @@ -11,19 +11,30 @@ + + 1 + Domestique - France + + + + + 2 Intra-EU B2B French VAT exemption according to articles 262 ter I (for products) and/or 283-2 (for services) of "CGI" + + + - - Import/Export + DOM-TOM + 50 + Import/Export Hors Europe + DOM-TOM - French VAT exemption according to articles 262 I of "CGI" + French VAT exemption according to articles 291, 294 and 262 I of "CGI" + - @@ -43,6 +54,16 @@ + + + + + + + + + + @@ -76,6 +97,16 @@ + + + + + + + + + + @@ -87,6 +118,16 @@ + + + + + + + + + + @@ -157,6 +198,16 @@ + + + + + + + + + + @@ -190,6 +241,16 @@ + + + + + + + + + + @@ -201,7 +262,16 @@ - + + + + + + + + + + diff --git a/addons/l10n_fr/data/account_tax_data.xml b/addons/l10n_fr/data/account_tax_data.xml index ea0044ba6ff..b2eee3a6b5e 100644 --- a/addons/l10n_fr/data/account_tax_data.xml +++ b/addons/l10n_fr/data/account_tax_data.xml @@ -510,6 +510,21 @@ + + + TVA à l'encaissement (vente) 20,0% + 20.0 + + percent + + + + + + sale + + + TVA collectée (vente) 8,5% @@ -549,6 +564,21 @@ + + + TVA réduite à l'encaissement (vente) 5.5% + 5.5 + + percent + + + + + + sale + + + TVA collectée (vente) 2,1% @@ -562,6 +592,21 @@ + + + TVA réduite à l'encaissement (vente) 2.1% + 2.1 + + percent + + + + + + sale + + + @@ -578,6 +623,22 @@ + + + TVA à l'encaissement (vente) 20,0% TTC + 20.0-TTC + + + percent + + + + + + sale + + + TVA collectée (vente) 8,5% TTC @@ -620,6 +681,22 @@ + + + TVA réduite à l'encaissement (vente) 5.5% TTC + 5.5-TTC + + + percent + + + + + + sale + + + TVA collectée (vente) 2,1% TTC @@ -634,6 +711,22 @@ + + + TVA réduite à l'encaissement (vente) 2.1% TTC + 2.1-TTC + + + percent + + + + + + sale + + + @@ -1024,13 +1117,15 @@ IMPORT-0 percent - - + + purchase + + diff --git a/addons/l10n_fr/data/l10n_fr_chart_data.xml b/addons/l10n_fr/data/l10n_fr_chart_data.xml index 281b1717092..eadc305bc34 100644 --- a/addons/l10n_fr/data/l10n_fr_chart_data.xml +++ b/addons/l10n_fr/data/l10n_fr_chart_data.xml @@ -15,6 +15,7 @@ 512 53 + diff --git a/addons/l10n_fr/data/res_country_data.xml b/addons/l10n_fr/data/res_country_data.xml new file mode 100644 index 00000000000..b2d3f7cdae8 --- /dev/null +++ b/addons/l10n_fr/data/res_country_data.xml @@ -0,0 +1,16 @@ + + + DOM-TOM + + + diff --git a/addons/l10n_fr/models/l10n_fr.py b/addons/l10n_fr/models/l10n_fr.py index 54b557cb7c1..714df0a9744 100644 --- a/addons/l10n_fr/models/l10n_fr.py +++ b/addons/l10n_fr/models/l10n_fr.py @@ -9,3 +9,16 @@ class ResCompany(models.Model): siret = fields.Char(string='SIRET', size=14) ape = fields.Char(string='APE') + + +class ChartTemplate(models.Model): + _inherit = 'account.chart.template' + + def _prepare_all_journals(self, acc_template_ref, company, journals_dict=None): + journals = super(ChartTemplate, self)._prepare_all_journals(acc_template_ref, company, journals_dict) + if company.country_id == self.env.ref('base.fr'): + #For France, sale/purchase journals must have a dedicated sequence for refunds + for journal in journals: + if journal['type'] in ['sale', 'purchase']: + journal['refund_sequence'] = True + return journals