From 8be9baf198cc064586f9b3acad4b5660b170dac4 Mon Sep 17 00:00:00 2001
From: "Dylan Kiss (dyki)" <dyki@odoo.com>
Date: Mon, 17 Oct 2022 14:55:32 +0000
Subject: [PATCH] [IMP] l10n_es: add new 2023 taxes and mod 303 tags

- Added tags for the new Modelo 303 tax grids: 150, 152, 153, 155, 156, 158
- Added new 0% and 5% taxes (used for ceratain food and electricity)
- Added new 0% and 0.62% Recargo de Equivalencia taxes
- Added fiscal position and Modelo 303 tag mappings for all new taxes

References:
- https://sede.agenciatributaria.gob.es/static_files/Sede/Disenyo_registro/DR_300_399/archivos_23/DR303e23.xlsx
- https://www.boe.es/buscar/doc.php?lang=es&id=BOE-A-2022-22685

Thanks to @pedrobaeza for the input

task-2993087

backport of b4cd54a3c9227370667913ff2e170e24539c6328

Part-of: odoo/odoo#108868
---
 addons/l10n_es/data/account_data.xml          |   6 +
 .../account_fiscal_position_template_data.xml | 180 +++++
 addons/l10n_es/data/account_tax_data.xml      | 732 +++++++++++++++++-
 3 files changed, 884 insertions(+), 34 deletions(-)

diff --git a/addons/l10n_es/data/account_data.xml b/addons/l10n_es/data/account_data.xml
index e1fdea031b42..fd58d9c30cbc 100644
--- a/addons/l10n_es/data/account_data.xml
+++ b/addons/l10n_es/data/account_data.xml
@@ -6,9 +6,15 @@
         <record id="tax_group_iva_0" model="account.tax.group">
             <field name="name">IVA 0%</field>
         </record>
+        <record id="tax_group_recargo_0" model="account.tax.group">
+            <field name="name">Recargo de Equivalencia 0%</field>
+        </record>
         <record id="tax_group_recargo_0-5" model="account.tax.group">
             <field name="name">Recargo de Equivalencia 0.5%</field>
         </record>
+        <record id="tax_group_recargo_0-62" model="account.tax.group">
+            <field name="name">Recargo de Equivalencia 0.62%</field>
+        </record>
         <record id="tax_group_retenciones_1" model="account.tax.group">
             <field name="name">Retenciones 1%</field>
         </record>
diff --git a/addons/l10n_es/data/account_fiscal_position_template_data.xml b/addons/l10n_es/data/account_fiscal_position_template_data.xml
index c5f78068a097..bc92a92a7900 100644
--- a/addons/l10n_es/data/account_fiscal_position_template_data.xml
+++ b/addons/l10n_es/data/account_fiscal_position_template_data.xml
@@ -164,6 +164,16 @@
 
         <!-- Extracomunitarios -->
 
+        <record id="fptt_extra_0b" model="account.fiscal.position.tax.template">
+            <field name="position_id" ref="fp_extra"/>
+            <field name="tax_src_id" ref="account_tax_template_p_iva0_s_bc"/>
+            <field name="tax_dest_id" ref="account_tax_template_p_iva0_ibc"/>
+        </record>
+        <record id="fptt_extra_0s" model="account.fiscal.position.tax.template">
+            <field name="position_id" ref="fp_extra"/>
+            <field name="tax_src_id" ref="account_tax_template_p_iva0_s_sc"/>
+            <field name="tax_dest_id" ref="account_tax_template_p_iva0_isc"/>
+        </record>
         <record id="fptt_extra_4b" model="account.fiscal.position.tax.template">
             <field name="position_id" ref="fp_extra"/>
             <field name="tax_src_id" ref="account_tax_template_p_iva4_bc"/>
@@ -180,6 +190,16 @@
             <field name="tax_src_id" ref="account_tax_template_p_iva4_bi"/>
             <field name="tax_dest_id" ref="account_tax_template_p_iva4_ibi"/>
         </record>
+        <record id="fptt_extra_5b" model="account.fiscal.position.tax.template">
+            <field name="position_id" ref="fp_extra"/>
+            <field name="tax_src_id" ref="account_tax_template_p_iva5_bc"/>
+            <field name="tax_dest_id" ref="account_tax_template_p_iva5_ibc"/>
+        </record>
+        <record id="fptt_extra_5s" model="account.fiscal.position.tax.template">
+            <field name="position_id" ref="fp_extra"/>
+            <field name="tax_src_id" ref="account_tax_template_p_iva5_sc"/>
+            <field name="tax_dest_id" ref="account_tax_template_p_iva5_isc"/>
+        </record>
         <record id="fptt_extra_10b" model="account.fiscal.position.tax.template">
             <field name="position_id" ref="fp_extra"/>
             <field name="tax_src_id" ref="account_tax_template_p_iva10_bc"/>
@@ -212,6 +232,18 @@
             <field name="tax_src_id" ref="account_tax_template_p_iva21_bi"/>
             <field name="tax_dest_id" ref="account_tax_template_p_iva21_ibi"/>
         </record>
+        <record id="fptt_extra_ventas_0b"
+            model="account.fiscal.position.tax.template">
+            <field name="position_id" ref="fp_extra"/>
+            <field name="tax_src_id" ref="account_tax_template_s_iva0b"/>
+            <field name="tax_dest_id" ref="account_tax_template_s_iva0_e"/>
+        </record>
+        <record id="fptt_extra_ventas_0s"
+            model="account.fiscal.position.tax.template">
+            <field name="position_id" ref="fp_extra"/>
+            <field name="tax_src_id" ref="account_tax_template_s_iva0s"/>
+            <field name="tax_dest_id" ref="account_tax_template_s_iva_e"/>
+        </record>
         <record id="fptt_extra_ventas_4b"
             model="account.fiscal.position.tax.template">
             <field name="position_id" ref="fp_extra"/>
@@ -224,6 +256,18 @@
             <field name="tax_src_id" ref="account_tax_template_s_iva4s"/>
             <field name="tax_dest_id" ref="account_tax_template_s_iva_e"/>
         </record>
+        <record id="fptt_extra_ventas_5b"
+            model="account.fiscal.position.tax.template">
+            <field name="position_id" ref="fp_extra"/>
+            <field name="tax_src_id" ref="account_tax_template_s_iva5b"/>
+            <field name="tax_dest_id" ref="account_tax_template_s_iva0_e"/>
+        </record>
+        <record id="fptt_extra_ventas_5s"
+            model="account.fiscal.position.tax.template">
+            <field name="position_id" ref="fp_extra"/>
+            <field name="tax_src_id" ref="account_tax_template_s_iva5s"/>
+            <field name="tax_dest_id" ref="account_tax_template_s_iva_e"/>
+        </record>
         <record id="fptt_extra_ventas_10b"
             model="account.fiscal.position.tax.template">
             <field name="position_id" ref="fp_extra"/>
@@ -257,6 +301,16 @@
 
         <!-- Intracomunitarios -->
 
+        <record id="fptt_intra_0b" model="account.fiscal.position.tax.template">
+            <field name="position_id" ref="fp_intra"/>
+            <field name="tax_src_id" ref="account_tax_template_p_iva0_s_bc"/>
+            <field name="tax_dest_id" ref="account_tax_template_p_iva0_ic_bc"/>
+        </record>
+        <record id="fptt_intra_0s" model="account.fiscal.position.tax.template">
+            <field name="position_id" ref="fp_intra"/>
+            <field name="tax_src_id" ref="account_tax_template_p_iva0_s_sc"/>
+            <field name="tax_dest_id" ref="account_tax_template_p_iva0_ic_sc"/>
+        </record>
         <record id="fptt_intra_4b" model="account.fiscal.position.tax.template">
             <field name="position_id" ref="fp_intra"/>
             <field name="tax_src_id" ref="account_tax_template_p_iva4_bc"/>
@@ -273,6 +327,16 @@
             <field name="tax_src_id" ref="account_tax_template_p_iva4_bi"/>
             <field name="tax_dest_id" ref="account_tax_template_p_iva4_ic_bi"/>
         </record>
+        <record id="fptt_intra_5b" model="account.fiscal.position.tax.template">
+            <field name="position_id" ref="fp_intra"/>
+            <field name="tax_src_id" ref="account_tax_template_p_iva5_bc"/>
+            <field name="tax_dest_id" ref="account_tax_template_p_iva5_ic_bc"/>
+        </record>
+        <record id="fptt_intra_5s" model="account.fiscal.position.tax.template">
+            <field name="position_id" ref="fp_intra"/>
+            <field name="tax_src_id" ref="account_tax_template_p_iva5_sc"/>
+            <field name="tax_dest_id" ref="account_tax_template_p_iva5_ic_sc"/>
+        </record>
         <record id="fptt_intra_10b" model="account.fiscal.position.tax.template">
             <field name="position_id" ref="fp_intra"/>
             <field name="tax_src_id" ref="account_tax_template_p_iva10_bc"/>
@@ -305,6 +369,18 @@
             <field name="tax_src_id" ref="account_tax_template_p_iva21_bi"/>
             <field name="tax_dest_id" ref="account_tax_template_p_iva21_ic_bi"/>
         </record>
+        <record id="fptt_intra_ventas_0b"
+            model="account.fiscal.position.tax.template">
+            <field name="position_id" ref="fp_intra"/>
+            <field name="tax_src_id" ref="account_tax_template_s_iva0b"/>
+            <field name="tax_dest_id" ref="account_tax_template_s_iva0_ic"/>
+        </record>
+        <record id="fptt_intra_ventas_0s"
+            model="account.fiscal.position.tax.template">
+            <field name="position_id" ref="fp_intra"/>
+            <field name="tax_src_id" ref="account_tax_template_s_iva0s"/>
+            <field name="tax_dest_id" ref="account_tax_template_s_iva0_sp_i"/>
+        </record>
         <record id="fptt_intra_ventas_4b"
             model="account.fiscal.position.tax.template">
             <field name="position_id" ref="fp_intra"/>
@@ -317,6 +393,18 @@
             <field name="tax_src_id" ref="account_tax_template_s_iva4s"/>
             <field name="tax_dest_id" ref="account_tax_template_s_iva0_sp_i"/>
         </record>
+        <record id="fptt_intra_ventas_5b"
+            model="account.fiscal.position.tax.template">
+            <field name="position_id" ref="fp_intra"/>
+            <field name="tax_src_id" ref="account_tax_template_s_iva5b"/>
+            <field name="tax_dest_id" ref="account_tax_template_s_iva0_ic"/>
+        </record>
+        <record id="fptt_intra_ventas_5s"
+            model="account.fiscal.position.tax.template">
+            <field name="position_id" ref="fp_intra"/>
+            <field name="tax_src_id" ref="account_tax_template_s_iva5s"/>
+            <field name="tax_dest_id" ref="account_tax_template_s_iva0_sp_i"/>
+        </record>
         <record id="fptt_intra_ventas_10b"
             model="account.fiscal.position.tax.template">
             <field name="position_id" ref="fp_intra"/>
@@ -443,6 +531,28 @@
 
         <!-- Recargo de equivalencia -->
 
+        <record id="fptt_recargo_0b" model="account.fiscal.position.tax.template">
+            <field name="position_id" ref="fp_recargo"/>
+            <field name="tax_src_id" ref="account_tax_template_s_iva0b"/>
+            <field name="tax_dest_id" ref="account_tax_template_s_iva0b"/>
+        </record>
+        <record id="fptt_recargo_0b_2"
+            model="account.fiscal.position.tax.template">
+            <field name="position_id" ref="fp_recargo"/>
+            <field name="tax_src_id" ref="account_tax_template_s_iva0b"/>
+            <field name="tax_dest_id" ref="account_tax_template_s_req0"/>
+        </record>
+        <record id="fptt_recargo_0s" model="account.fiscal.position.tax.template">
+            <field name="position_id" ref="fp_recargo"/>
+            <field name="tax_src_id" ref="account_tax_template_s_iva0s"/>
+            <field name="tax_dest_id" ref="account_tax_template_s_iva0s"/>
+        </record>
+        <record id="fptt_recargo_0s_2"
+            model="account.fiscal.position.tax.template">
+            <field name="position_id" ref="fp_recargo"/>
+            <field name="tax_src_id" ref="account_tax_template_s_iva0s"/>
+            <field name="tax_dest_id" ref="account_tax_template_s_req0"/>
+        </record>
         <record id="fptt_recargo_4b" model="account.fiscal.position.tax.template">
             <field name="position_id" ref="fp_recargo"/>
             <field name="tax_src_id" ref="account_tax_template_s_iva4b"/>
@@ -465,6 +575,28 @@
             <field name="tax_src_id" ref="account_tax_template_s_iva4s"/>
             <field name="tax_dest_id" ref="account_tax_template_s_req05"/>
         </record>
+        <record id="fptt_recargo_5b" model="account.fiscal.position.tax.template">
+            <field name="position_id" ref="fp_recargo"/>
+            <field name="tax_src_id" ref="account_tax_template_s_iva5b"/>
+            <field name="tax_dest_id" ref="account_tax_template_s_iva5b"/>
+        </record>
+        <record id="fptt_recargo_5b_2"
+            model="account.fiscal.position.tax.template">
+            <field name="position_id" ref="fp_recargo"/>
+            <field name="tax_src_id" ref="account_tax_template_s_iva5b"/>
+            <field name="tax_dest_id" ref="account_tax_template_s_req062"/>
+        </record>
+        <record id="fptt_recargo_5s" model="account.fiscal.position.tax.template">
+            <field name="position_id" ref="fp_recargo"/>
+            <field name="tax_src_id" ref="account_tax_template_s_iva5s"/>
+            <field name="tax_dest_id" ref="account_tax_template_s_iva5s"/>
+        </record>
+        <record id="fptt_recargo_5s_2"
+            model="account.fiscal.position.tax.template">
+            <field name="position_id" ref="fp_recargo"/>
+            <field name="tax_src_id" ref="account_tax_template_s_iva5s"/>
+            <field name="tax_dest_id" ref="account_tax_template_s_req062"/>
+        </record>
         <record id="fptt_recargo_10b" model="account.fiscal.position.tax.template">
             <field name="position_id" ref="fp_recargo"/>
             <field name="tax_src_id" ref="account_tax_template_s_iva10b"/>
@@ -521,6 +653,30 @@
             <field name="tax_src_id" ref="account_tax_template_s_iva21isp"/>
             <field name="tax_dest_id" ref="account_tax_template_s_req52"/>
         </record>
+        <record id="fptt_recargo_buy_0b"
+            model="account.fiscal.position.tax.template">
+            <field name="position_id" ref="fp_recargo"/>
+            <field name="tax_src_id" ref="account_tax_template_p_iva0_bc"/>
+            <field name="tax_dest_id" ref="account_tax_template_p_iva0_bc"/>
+        </record>
+        <record id="fptt_recargo_buy_0b_2"
+            model="account.fiscal.position.tax.template">
+            <field name="position_id" ref="fp_recargo"/>
+            <field name="tax_src_id" ref="account_tax_template_p_iva0_bc"/>
+            <field name="tax_dest_id" ref="account_tax_template_p_req0"/>
+        </record>
+        <record id="fptt_recargo_buy_0s"
+            model="account.fiscal.position.tax.template">
+            <field name="position_id" ref="fp_recargo"/>
+            <field name="tax_src_id" ref="account_tax_template_p_iva0_s_sc"/>
+            <field name="tax_dest_id" ref="account_tax_template_p_iva0_s_sc"/>
+        </record>
+        <record id="fptt_recargo_buy_0s_2"
+            model="account.fiscal.position.tax.template">
+            <field name="position_id" ref="fp_recargo"/>
+            <field name="tax_src_id" ref="account_tax_template_p_iva0_s_sc"/>
+            <field name="tax_dest_id" ref="account_tax_template_p_req0"/>
+        </record>
         <record id="fptt_recargo_buy_4b"
             model="account.fiscal.position.tax.template">
             <field name="position_id" ref="fp_recargo"/>
@@ -557,6 +713,30 @@
             <field name="tax_src_id" ref="account_tax_template_p_iva4_bi"/>
             <field name="tax_dest_id" ref="account_tax_template_p_req05"/>
         </record>
+        <record id="fptt_recargo_buy_5b"
+            model="account.fiscal.position.tax.template">
+            <field name="position_id" ref="fp_recargo"/>
+            <field name="tax_src_id" ref="account_tax_template_p_iva5_bc"/>
+            <field name="tax_dest_id" ref="account_tax_template_p_iva5_bc"/>
+        </record>
+        <record id="fptt_recargo_buy_5b_2"
+            model="account.fiscal.position.tax.template">
+            <field name="position_id" ref="fp_recargo"/>
+            <field name="tax_src_id" ref="account_tax_template_p_iva5_bc"/>
+            <field name="tax_dest_id" ref="account_tax_template_p_req062"/>
+        </record>
+        <record id="fptt_recargo_buy_5s"
+            model="account.fiscal.position.tax.template">
+            <field name="position_id" ref="fp_recargo"/>
+            <field name="tax_src_id" ref="account_tax_template_p_iva5_sc"/>
+            <field name="tax_dest_id" ref="account_tax_template_p_iva5_sc"/>
+        </record>
+        <record id="fptt_recargo_buy_5s_2"
+            model="account.fiscal.position.tax.template">
+            <field name="position_id" ref="fp_recargo"/>
+            <field name="tax_src_id" ref="account_tax_template_p_iva5_sc"/>
+            <field name="tax_dest_id" ref="account_tax_template_p_req062"/>
+        </record>
         <record id="fptt_recargo_buy_10b"
             model="account.fiscal.position.tax.template">
             <field name="position_id" ref="fp_recargo"/>
diff --git a/addons/l10n_es/data/account_tax_data.xml b/addons/l10n_es/data/account_tax_data.xml
index a384adaf0248..32b65eeca251 100644
--- a/addons/l10n_es/data/account_tax_data.xml
+++ b/addons/l10n_es/data/account_tax_data.xml
@@ -55,6 +55,16 @@
         <field name="country_id" ref="base.es"/>
     </record>
 
+    <record id="mod_303_150" model="account.account.tag">
+        <field name="name">mod303[150]</field>
+        <field name="applicability">taxes</field>
+        <field name="country_id" ref="base.es"/>
+    </record>
+    <record id="mod_303_152" model="account.account.tag">
+        <field name="name">mod303[152]</field>
+        <field name="applicability">taxes</field>
+        <field name="country_id" ref="base.es"/>
+    </record>
     <record id="mod_303_01" model="account.account.tag">
         <field name="name">mod303[01]</field>
         <field name="applicability">taxes</field>
@@ -65,6 +75,16 @@
         <field name="applicability">taxes</field>
         <field name="country_id" ref="base.es"/>
     </record>
+    <record id="mod_303_153" model="account.account.tag">
+        <field name="name">mod303[153]</field>
+        <field name="applicability">taxes</field>
+        <field name="country_id" ref="base.es"/>
+    </record>
+    <record id="mod_303_155" model="account.account.tag">
+        <field name="name">mod303[155]</field>
+        <field name="applicability">taxes</field>
+        <field name="country_id" ref="base.es"/>
+    </record>
     <record id="mod_303_04" model="account.account.tag">
         <field name="name">mod303[04]</field>
         <field name="applicability">taxes</field>
@@ -120,6 +140,16 @@
         <field name="applicability">taxes</field>
         <field name="country_id" ref="base.es"/>
     </record>
+    <record id="mod_303_156" model="account.account.tag">
+        <field name="name">mod303[156]</field>
+        <field name="applicability">taxes</field>
+        <field name="country_id" ref="base.es"/>
+    </record>
+    <record id="mod_303_158" model="account.account.tag">
+        <field name="name">mod303[158]</field>
+        <field name="applicability">taxes</field>
+        <field name="country_id" ref="base.es"/>
+    </record>
     <record id="mod_303_16" model="account.account.tag">
         <field name="name">mod303[16]</field>
         <field name="applicability">taxes</field>
@@ -1096,6 +1126,170 @@
             }),
         ]"/>
     </record>
+    <record id="account_tax_template_p_iva5_ic_bc" model="account.tax.template">
+        <field name="amount" eval="5"/>
+        <field name="chart_template_id" ref="l10n_es.account_chart_template_common"/>
+        <field name="amount_type">percent</field>
+        <field name="type_tax_use">purchase</field>
+        <field name="name">IVA 5% Adquisición Intracomunitario. Bienes corrientes</field>
+        <field name="tax_group_id" ref="tax_group_iva_5"/>
+        <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_36'), ref('mod_303_10')],
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'tag_ids': [ref('mod_303_37')],
+                'account_id': ref('l10n_es.account_common_472'),
+            }),
+
+            (0,0, {
+                'factor_percent': -100,
+                'repartition_type': 'tax',
+                'account_id': ref('l10n_es.account_common_477'),
+                'tag_ids': [ref('mod_303_11')],
+            }),
+        ]"/>
+        <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_40'), ref('mod_303_14_purchase')],
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'tag_ids': [ref('mod_303_41')],
+                'account_id': ref('l10n_es.account_common_472'),
+            }),
+
+            (0,0, {
+                'factor_percent': -100,
+                'repartition_type': 'tax',
+                'account_id': ref('l10n_es.account_common_477'),
+                'tag_ids': [ref('mod_303_15')],
+            }),
+        ]"/>
+    </record>
+    <record id="account_tax_template_p_iva5_ic_sc" model="account.tax.template">
+        <field name="amount" eval="5"/>
+        <field name="chart_template_id" ref="l10n_es.account_chart_template_common"/>
+        <field name="amount_type">percent</field>
+        <field name="type_tax_use">purchase</field>
+        <field name="name">IVA 5% Adquisición Intracomunitario. Servicios corrientes</field>
+        <field name="tax_group_id" ref="tax_group_iva_5"/>
+        <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_36'), ref('mod_303_10')],
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'tag_ids': [ref('mod_303_37')],
+                'account_id': ref('l10n_es.account_common_472'),
+            }),
+
+            (0,0, {
+                'factor_percent': -100,
+                'repartition_type': 'tax',
+                'account_id': ref('l10n_es.account_common_477'),
+                'tag_ids': [ref('mod_303_11')],
+            }),
+        ]"/>
+        <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_40'), ref('mod_303_14_purchase')],
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'tag_ids': [ref('mod_303_41')],
+                'account_id': ref('l10n_es.account_common_472'),
+            }),
+
+            (0,0, {
+                'factor_percent': -100,
+                'repartition_type': 'tax',
+                'account_id': ref('l10n_es.account_common_477'),
+                'tag_ids': [ref('mod_303_15')],
+            }),
+        ]"/>
+    </record>
+    <record id="account_tax_template_p_iva0_ic_bc" model="account.tax.template">
+        <field name="amount" eval="0"/>
+        <field name="chart_template_id" ref="l10n_es.account_chart_template_common"/>
+        <field name="amount_type">percent</field>
+        <field name="type_tax_use">purchase</field>
+        <field name="name">IVA 0% Adquisición Intracomunitario. Bienes corrientes</field>
+        <field name="tax_group_id" ref="tax_group_iva_0"/>
+        <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_36'), ref('mod_303_10')],
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+            }),
+        ]"/>
+        <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_40'), ref('mod_303_14_purchase')],
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+            }),
+        ]"/>
+    </record>
+    <record id="account_tax_template_p_iva0_ic_sc" model="account.tax.template">
+        <field name="amount" eval="0"/>
+        <field name="chart_template_id" ref="l10n_es.account_chart_template_common"/>
+        <field name="amount_type">percent</field>
+        <field name="type_tax_use">purchase</field>
+        <field name="name">IVA 0% Adquisición Intracomunitario. Servicios corrientes</field>
+        <field name="tax_group_id" ref="tax_group_iva_0"/>
+        <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_36'), ref('mod_303_10')],
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+            }),
+        ]"/>
+        <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_40'), ref('mod_303_14_purchase')],
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+            }),
+        ]"/>
+    </record>
     <record id="account_tax_template_s_iva0_sp_i" model="account.tax.template">
         <field name="description">Intracomunitario exento (Servicios)</field>
         <field name="type_tax_use">sale</field>
@@ -1311,25 +1505,266 @@
     <record id="account_tax_template_p_iva10_ibc" model="account.tax.template">
         <field name="description"/> <!-- for resetting the value on existing DBs -->
         <field name="type_tax_use">purchase</field>
-        <field name="name">IVA 10% Importaciones bienes corrientes</field>
+        <field name="name">IVA 10% Importaciones bienes corrientes</field>
+        <field name="chart_template_id" ref="l10n_es.account_chart_template_common"/>
+        <field name="amount" eval="10"/>
+        <field name="amount_type">percent</field>
+        <field name="tax_group_id" ref="tax_group_iva_10"/>
+        <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_32')],
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'tag_ids': [ref('mod_303_33')],
+                'account_id': ref('l10n_es.account_common_472'),
+            }),
+
+        ]"/>
+        <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_40')],
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'tag_ids': [ref('mod_303_41')],
+                'account_id': ref('l10n_es.account_common_472'),
+            }),
+        ]"/>
+    </record>
+    <record id="account_tax_template_p_iva10_ibi" model="account.tax.template">
+        <field name="description"/> <!-- for resetting the value on existing DBs -->
+        <field name="type_tax_use">purchase</field>
+        <field name="name">IVA 10% Importaciones bienes de inversión</field>
+        <field name="chart_template_id" ref="l10n_es.account_chart_template_common"/>
+        <field name="amount" eval="10"/>
+        <field name="amount_type">percent</field>
+        <field name="tax_group_id" ref="tax_group_iva_10"/>
+        <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_34')],
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'tag_ids': [ref('mod_303_35')],
+                'account_id': ref('l10n_es.account_common_472'),
+            }),
+
+        ]"/>
+        <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_40')],
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'tag_ids': [ref('mod_303_41')],
+                'account_id': ref('l10n_es.account_common_472'),
+            }),
+        ]"/>
+    </record>
+    <record id="account_tax_template_p_iva5_ibc" model="account.tax.template">
+        <field name="type_tax_use">purchase</field>
+        <field name="name">IVA 5% Importaciones bienes corrientes</field>
+        <field name="chart_template_id" ref="l10n_es.account_chart_template_common"/>
+        <field name="amount" eval="5"/>
+        <field name="amount_type">percent</field>
+        <field name="tax_group_id" ref="tax_group_iva_5"/>
+        <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_32')],
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'tag_ids': [ref('mod_303_33')],
+                'account_id': ref('l10n_es.account_common_472'),
+            }),
+
+        ]"/>
+        <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_40')],
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'tag_ids': [ref('mod_303_41')],
+                'account_id': ref('l10n_es.account_common_472'),
+            }),
+        ]"/>
+    </record>
+    <record id="account_tax_template_p_iva5_isc" model="account.tax.template">
+        <field name="type_tax_use">purchase</field>
+        <field name="name">IVA 5% Importaciones servicios corrientes</field>
+        <field name="chart_template_id" ref="l10n_es.account_chart_template_common"/>
+        <field name="amount" eval="5"/>
+        <field name="amount_type">percent</field>
+        <field name="tax_group_id" ref="tax_group_iva_5"/>
+        <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_32')],
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'tag_ids': [ref('mod_303_33')],
+                'account_id': ref('l10n_es.account_common_472'),
+            }),
+
+        ]"/>
+        <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_40')],
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'tag_ids': [ref('mod_303_41')],
+                'account_id': ref('l10n_es.account_common_472'),
+            }),
+        ]"/>
+    </record>
+    <record id="account_tax_template_p_iva0_ibc" model="account.tax.template">
+        <field name="type_tax_use">purchase</field>
+        <field name="name">IVA 0% Importaciones bienes corrientes</field>
+        <field name="chart_template_id" ref="l10n_es.account_chart_template_common"/>
+        <field name="amount" eval="0"/>
+        <field name="amount_type">percent</field>
+        <field name="tax_group_id" ref="tax_group_iva_0"/>
+        <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_32')],
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+            }),
+
+        ]"/>
+        <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_40')],
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+            }),
+        ]"/>
+    </record>
+    <record id="account_tax_template_p_iva0_isc" model="account.tax.template">
+        <field name="type_tax_use">purchase</field>
+        <field name="name">IVA 0% Importaciones servicios corrientes</field>
+        <field name="chart_template_id" ref="l10n_es.account_chart_template_common"/>
+        <field name="amount" eval="0"/>
+        <field name="amount_type">percent</field>
+        <field name="tax_group_id" ref="tax_group_iva_0"/>
+        <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_32')],
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+            }),
+
+        ]"/>
+        <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_40')],
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+            }),
+        ]"/>
+    </record>
+    <record id="account_tax_template_p_iva0_s_bc" model="account.tax.template">
+        <field name="type_tax_use">purchase</field>
+        <field name="name">0% IVA soportado (bienes corrientes)</field>
+        <field name="chart_template_id" ref="l10n_es.account_chart_template_common"/>
+        <field name="amount" eval="0"/>
+        <field name="amount_type">percent</field>
+        <field name="tax_group_id" ref="tax_group_iva_0"/>
+        <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_28')],
+            }),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+            }),
+        ]"/>
+        <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_40')],
+            }),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+            }),
+        ]"/>
+    </record>
+    <record id="account_tax_template_p_iva0_s_sc" model="account.tax.template">
+        <field name="type_tax_use">purchase</field>
+        <field name="name">0% IVA soportado (servicios corrientes)</field>
         <field name="chart_template_id" ref="l10n_es.account_chart_template_common"/>
-        <field name="amount" eval="10"/>
+        <field name="amount" eval="0"/>
         <field name="amount_type">percent</field>
-        <field name="tax_group_id" ref="tax_group_iva_10"/>
+        <field name="tax_group_id" ref="tax_group_iva_0"/>
         <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
             (0,0, {
                 'factor_percent': 100,
                 'repartition_type': 'base',
-                'tag_ids': [ref('mod_303_32')],
+                'tag_ids': [ref('mod_303_28')],
             }),
-
             (0,0, {
                 'factor_percent': 100,
                 'repartition_type': 'tax',
-                'tag_ids': [ref('mod_303_33')],
-                'account_id': ref('l10n_es.account_common_472'),
             }),
-
         ]"/>
         <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
             (0,0, {
@@ -1337,34 +1772,31 @@
                 'repartition_type': 'base',
                 'tag_ids': [ref('mod_303_40')],
             }),
-
             (0,0, {
                 'factor_percent': 100,
                 'repartition_type': 'tax',
-                'tag_ids': [ref('mod_303_41')],
-                'account_id': ref('l10n_es.account_common_472'),
             }),
         ]"/>
     </record>
-    <record id="account_tax_template_p_iva10_ibi" model="account.tax.template">
+    <record id="account_tax_template_p_iva4_bi" model="account.tax.template">
         <field name="description"/> <!-- for resetting the value on existing DBs -->
         <field name="type_tax_use">purchase</field>
-        <field name="name">IVA 10% Importaciones bienes de inversión</field>
+        <field name="name">4% IVA Soportado (bienes de inversión)</field>
         <field name="chart_template_id" ref="l10n_es.account_chart_template_common"/>
-        <field name="amount" eval="10"/>
+        <field name="amount" eval="4"/>
         <field name="amount_type">percent</field>
-        <field name="tax_group_id" ref="tax_group_iva_10"/>
+        <field name="tax_group_id" ref="tax_group_iva_4"/>
         <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
             (0,0, {
                 'factor_percent': 100,
                 'repartition_type': 'base',
-                'tag_ids': [ref('mod_303_34')],
+                'tag_ids': [ref('mod_303_30')],
             }),
 
             (0,0, {
                 'factor_percent': 100,
                 'repartition_type': 'tax',
-                'tag_ids': [ref('mod_303_35')],
+                'tag_ids': [ref('mod_303_31')],
                 'account_id': ref('l10n_es.account_common_472'),
             }),
 
@@ -1384,10 +1816,10 @@
             }),
         ]"/>
     </record>
-    <record id="account_tax_template_p_iva4_bi" model="account.tax.template">
+    <record id="account_tax_template_p_iva4_sc" model="account.tax.template">
         <field name="description"/> <!-- for resetting the value on existing DBs -->
         <field name="type_tax_use">purchase</field>
-        <field name="name">4% IVA Soportado (bienes de inversión)</field>
+        <field name="name">4% IVA soportado (servicios corrientes)</field>
         <field name="chart_template_id" ref="l10n_es.account_chart_template_common"/>
         <field name="amount" eval="4"/>
         <field name="amount_type">percent</field>
@@ -1396,13 +1828,13 @@
             (0,0, {
                 'factor_percent': 100,
                 'repartition_type': 'base',
-                'tag_ids': [ref('mod_303_30')],
+                'tag_ids': [ref('mod_303_28')],
             }),
 
             (0,0, {
                 'factor_percent': 100,
                 'repartition_type': 'tax',
-                'tag_ids': [ref('mod_303_31')],
+                'tag_ids': [ref('mod_303_29')],
                 'account_id': ref('l10n_es.account_common_472'),
             }),
 
@@ -1422,28 +1854,25 @@
             }),
         ]"/>
     </record>
-    <record id="account_tax_template_p_iva4_sc" model="account.tax.template">
-        <field name="description"/> <!-- for resetting the value on existing DBs -->
+    <record id="account_tax_template_p_iva5_bc" model="account.tax.template">
         <field name="type_tax_use">purchase</field>
-        <field name="name">4% IVA soportado (servicios corrientes)</field>
+        <field name="name">5% IVA soportado (bienes corrientes)</field>
         <field name="chart_template_id" ref="l10n_es.account_chart_template_common"/>
-        <field name="amount" eval="4"/>
+        <field name="amount" eval="5"/>
         <field name="amount_type">percent</field>
-        <field name="tax_group_id" ref="tax_group_iva_4"/>
+        <field name="tax_group_id" ref="tax_group_iva_5"/>
         <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
             (0,0, {
                 'factor_percent': 100,
                 'repartition_type': 'base',
                 'tag_ids': [ref('mod_303_28')],
             }),
-
             (0,0, {
                 'factor_percent': 100,
                 'repartition_type': 'tax',
                 'tag_ids': [ref('mod_303_29')],
                 'account_id': ref('l10n_es.account_common_472'),
             }),
-
         ]"/>
         <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
             (0,0, {
@@ -1451,7 +1880,6 @@
                 'repartition_type': 'base',
                 'tag_ids': [ref('mod_303_40')],
             }),
-
             (0,0, {
                 'factor_percent': 100,
                 'repartition_type': 'tax',
@@ -1463,7 +1891,7 @@
     <record id="account_tax_template_p_iva5_sc" model="account.tax.template">
         <field name="description"/> <!-- for resetting the value on existing DBs -->
         <field name="type_tax_use">purchase</field>
-        <field name="name">5% IVA soportado</field>
+        <field name="name">5% IVA soportado (servicios corrientes)</field>
         <field name="chart_template_id" ref="l10n_es.account_chart_template_common"/>
         <field name="amount" eval="5"/>
         <field name="amount_type">percent</field>
@@ -1751,6 +2179,40 @@
             }),
         ]"/>
     </record>
+    <record id="account_tax_template_s_req0" model="account.tax.template">
+        <field name="description">0% Rec. Eq.</field>
+        <field name="type_tax_use">sale</field>
+        <field name="name">0% Recargo Equivalencia Ventas</field>
+        <field name="chart_template_id" ref="l10n_es.account_chart_template_common"/>
+        <field name="amount" eval="0"/>
+        <field name="amount_type">percent</field>
+        <field name="tax_group_id" ref="tax_group_recargo_0"/>
+        <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_16')],
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+            }),
+
+        ]"/>
+        <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_25')],
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+            }),
+        ]"/>
+    </record>
     <record id="account_tax_template_s_req05" model="account.tax.template">
         <field name="description">0.50% Rec. Eq.</field>
         <field name="type_tax_use">sale</field>
@@ -1789,6 +2251,44 @@
             }),
         ]"/>
     </record>
+    <record id="account_tax_template_s_req062" model="account.tax.template">
+        <field name="description">0.62% Rec. Eq.</field>
+        <field name="type_tax_use">sale</field>
+        <field name="name">0.62% Recargo Equivalencia Ventas</field>
+        <field name="chart_template_id" ref="l10n_es.account_chart_template_common"/>
+        <field name="amount" eval="0.62"/>
+        <field name="amount_type">percent</field>
+        <field name="tax_group_id" ref="tax_group_recargo_0-62"/>
+        <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_16')],
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'tag_ids': [ref('mod_303_18')],
+                'account_id': ref('l10n_es.account_common_477'),
+            }),
+
+        ]"/>
+        <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_25')],
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'tag_ids': [ref('mod_303_26')],
+                'account_id': ref('l10n_es.account_common_477'),
+            }),
+        ]"/>
+    </record>
     <record id="account_tax_template_s_iva4b" model="account.tax.template">
         <field name="description"/> <!-- for resetting the value on existing DBs -->
         <field name="type_tax_use">sale</field>
@@ -1962,6 +2462,66 @@
             }),
         ]"/>
     </record>
+    <record id="account_tax_template_s_iva0s" model="account.tax.template">
+        <field name="type_tax_use">sale</field>
+        <field name="name">IVA 0% (Servicios)</field>
+        <field name="chart_template_id" ref="l10n_es.account_chart_template_common"/>
+        <field name="amount" eval="0"/>
+        <field name="amount_type">percent</field>
+        <field name="tax_group_id" ref="tax_group_iva_0"/>
+        <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_153')],
+            }),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+            }),
+        ]"/>
+        <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_14_sale')],
+            }),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+            }),
+        ]"/>
+    </record>
+    <record id="account_tax_template_s_iva0b" model="account.tax.template">
+        <field name="type_tax_use">sale</field>
+        <field name="name">IVA 0% (Bienes)</field>
+        <field name="chart_template_id" ref="l10n_es.account_chart_template_common"/>
+        <field name="amount" eval="0"/>
+        <field name="amount_type">percent</field>
+        <field name="tax_group_id" ref="tax_group_iva_0"/>
+        <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_153')],
+            }),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+            }),
+        ]"/>
+        <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_14_sale')],
+            }),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+            }),
+        ]"/>
+    </record>
     <record id="account_tax_template_s_iva4s" model="account.tax.template">
         <field name="description"/> <!-- for resetting the value on existing DBs -->
         <field name="type_tax_use">sale</field>
@@ -2003,7 +2563,7 @@
     <record id="account_tax_template_s_iva5s" model="account.tax.template">
         <field name="description"/> <!-- for resetting the value on existing DBs -->
         <field name="type_tax_use">sale</field>
-        <field name="name">IVA 5%</field>
+        <field name="name">IVA 5% (Servicios)</field>
         <field name="chart_template_id" ref="l10n_es.account_chart_template_common"/>
         <field name="amount" eval="5"/>
         <field name="amount_type">percent</field>
@@ -2012,12 +2572,46 @@
             (0,0, {
                 'factor_percent': 100,
                 'repartition_type': 'base',
-                'tag_ids': [ref('mod_303_01')],
+                'tag_ids': [ref('mod_303_153')],
             }),
             (0,0, {
                 'factor_percent': 100,
                 'repartition_type': 'tax',
-                'tag_ids': [ref('mod_303_03')],
+                'tag_ids': [ref('mod_303_155')],
+                'account_id': ref('l10n_es.account_common_477'),
+            }),
+        ]"/>
+        <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_14_sale')],
+            }),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'tag_ids': [ref('mod_303_15')],
+                'account_id': ref('l10n_es.account_common_477'),
+            }),
+        ]"/>
+    </record>
+    <record id="account_tax_template_s_iva5b" model="account.tax.template">
+        <field name="type_tax_use">sale</field>
+        <field name="name">IVA 5% (Bienes)</field>
+        <field name="chart_template_id" ref="l10n_es.account_chart_template_common"/>
+        <field name="amount" eval="5"/>
+        <field name="amount_type">percent</field>
+        <field name="tax_group_id" ref="tax_group_iva_5"/>
+        <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_153')],
+            }),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'tag_ids': [ref('mod_303_155')],
                 'account_id': ref('l10n_es.account_common_477'),
             }),
         ]"/>
@@ -3000,6 +3594,39 @@
             }),
         ]"/>
     </record>
+    <record id="account_tax_template_p_req0" model="account.tax.template">
+        <field name="type_tax_use">purchase</field>
+        <field name="name">0% Recargo Equivalencia Compras</field>
+        <field name="chart_template_id" ref="l10n_es.account_chart_template_common"/>
+        <field name="amount" eval="0"/>
+        <field name="amount_type">percent</field>
+        <field name="tax_group_id" ref="tax_group_recargo_0"/>
+        <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_28')],
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+            }),
+
+        ]"/>
+        <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_40')],
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+            }),
+        ]"/>
+    </record>
     <record id="account_tax_template_p_req05" model="account.tax.template">
         <field name="description"/> <!-- for resetting the value on existing DBs -->
         <field name="type_tax_use">purchase</field>
@@ -3038,6 +3665,43 @@
             }),
         ]"/>
     </record>
+    <record id="account_tax_template_p_req062" model="account.tax.template">
+        <field name="type_tax_use">purchase</field>
+        <field name="name">0.62% Recargo Equivalencia Compras</field>
+        <field name="chart_template_id" ref="l10n_es.account_chart_template_common"/>
+        <field name="amount" eval="0.62"/>
+        <field name="amount_type">percent</field>
+        <field name="tax_group_id" ref="tax_group_recargo_0-62"/>
+        <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_28')],
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'account_id': ref('l10n_es.account_common_472'),
+                'tag_ids': [ref('mod_303_29')],
+            }),
+
+        ]"/>
+        <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'tag_ids': [ref('mod_303_40')],
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'account_id': ref('l10n_es.account_common_472'),
+                'tag_ids': [ref('mod_303_41')],
+            }),
+        ]"/>
+    </record>
     <record id="account_tax_template_p_req52" model="account.tax.template">
         <field name="description"/> <!-- for resetting the value on existing DBs -->
         <field name="type_tax_use">purchase</field>
@@ -3179,7 +3843,7 @@
         ]"/>
     </record>
     <record id="account_tax_template_s_irpf21a" model="account.tax.template">
-        <field name="description">Retención  21% (Arrend.)</field>
+        <field name="description">Retención 21% (Arrend.)</field>
         <field name="type_tax_use">sale</field>
         <field name="name">Retenciones a cuenta 21% (Arrendamientos)</field>
         <field name="chart_template_id" ref="l10n_es.account_chart_template_common"/>
-- 
GitLab