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