From 734e18ebc54038e9fa189e39cf1e46d55ea79ef4 Mon Sep 17 00:00:00 2001
From: Julien Van Roy <juvr@odoo.com>
Date: Mon, 28 Aug 2023 16:45:07 +0200
Subject: [PATCH] [IMP] l10n_mx: add IEPS taxes & review existing

Add IEPS taxes and tax groups. Make sure the IEPS taxes are
`include_base_amount` and have a lower sequence than the IVA taxes.

Unify the names of the taxes and their labels on invoice.

Resequence the taxes to group them by nature.

task-3100679

closes odoo/odoo#133372

Signed-off-by: Laurent Smet (las) <las@odoo.com>
---
 .../l10n_mx/data/account.account.template.csv |   4 +
 addons/l10n_mx/data/account_data.xml          |  20 +
 addons/l10n_mx/data/account_tax_data.xml      | 497 ++++++++++++++++--
 3 files changed, 473 insertions(+), 48 deletions(-)

diff --git a/addons/l10n_mx/data/account.account.template.csv b/addons/l10n_mx/data/account.account.template.csv
index 090268e8e469..89f3d9a6f987 100644
--- a/addons/l10n_mx/data/account.account.template.csv
+++ b/addons/l10n_mx/data/account.account.template.csv
@@ -12,7 +12,9 @@
 "cuenta115_05","Mercancías en tránsito","115.05.01","account.data_account_type_current_assets","l10n_mx.mx_coa","l10n_mx.account_tag_115_05","True"
 "cuenta115_06","Mercancías en poder de terceros","115.06.01","account.data_account_type_current_assets","l10n_mx.mx_coa","l10n_mx.account_tag_115_06","False"
 "cuenta118_01","IVA acreditable pagado","118.01.01","account.data_account_type_current_assets","l10n_mx.mx_coa","l10n_mx.account_tag_118_01","False"
+"cuenta118_03","IEPS acreditable pagado","118.03.01","account.data_account_type_current_assets","l10n_mx.mx_coa","l10n_mx.account_tag_118_03","False"
 "cuenta119_01","IVA pendiente de pago","119.01.01","account.data_account_type_current_assets","l10n_mx.mx_coa","l10n_mx.account_tag_119_01","True"
+"cuenta119_03","IEPS pendiente de pago","119.03.01","account.data_account_type_current_assets","l10n_mx.mx_coa","l10n_mx.account_tag_119_03","True"
 "cuenta120_01","Anticipo a proveedores nacional","120.01.01","account.data_account_type_current_assets","l10n_mx.mx_coa","l10n_mx.account_tag_120_01","True"
 "cuenta120_02","Anticipo a proveedores extranjero","120.02.01","account.data_account_type_current_assets","l10n_mx.mx_coa","l10n_mx.account_tag_120_02","True"
 "cuenta201_01","Proveedores nacionales","201.01.01","account.data_account_type_payable","l10n_mx.mx_coa","l10n_mx.account_tag_201_01","True"
@@ -21,7 +23,9 @@
 "cuenta206_02","Anticipo de cliente extranjero","206.02.01","account.data_account_type_current_liabilities","l10n_mx.mx_coa","l10n_mx.account_tag_206_02","True"
 "cuenta206_05_01","Otros anticipos de clientes","206.05.01","account.data_account_type_current_liabilities","l10n_mx.mx_coa","l10n_mx.account_tag_206_05","True"
 "cuenta208_01","IVA trasladado cobrado","208.01.01","account.data_account_type_current_liabilities","l10n_mx.mx_coa","l10n_mx.account_tag_208_01","False"
+"cuenta208_02","IEPS trasladado cobrado","208.02.01","account.data_account_type_current_liabilities","l10n_mx.mx_coa","l10n_mx.account_tag_208_02","False"
 "cuenta209_01","IVA trasladado no cobrado","209.01.01","account.data_account_type_current_liabilities","l10n_mx.mx_coa","l10n_mx.account_tag_209_01","True"
+"cuenta209_02","IEPS trasladado no cobrado","209.02.01","account.data_account_type_current_liabilities","l10n_mx.mx_coa","l10n_mx.account_tag_209_02","True"
 "cuenta216_03","Impuestos retenidos de ISR por arrendamiento","216.03.01","account.data_account_type_current_liabilities","l10n_mx.mx_coa","l10n_mx.account_tag_216_03","False"
 "cuenta216_04","Impuestos retenidos de ISR por servicios profesionales","216.04.01","account.data_account_type_current_liabilities","l10n_mx.mx_coa","l10n_mx.account_tag_216_04","False"
 "cuenta216_10","Impuestos retenidos de IVA","216.10.10","account.data_account_type_current_liabilities","l10n_mx.mx_coa","l10n_mx.account_tag_216_10","False"
diff --git a/addons/l10n_mx/data/account_data.xml b/addons/l10n_mx/data/account_data.xml
index 8176c32b5f31..6a4b6e50cdf7 100644
--- a/addons/l10n_mx/data/account_data.xml
+++ b/addons/l10n_mx/data/account_data.xml
@@ -30,5 +30,25 @@
         <record id="tax_group_isr_ret_10" model="account.tax.group">
             <field name="name">ISR Retencion 10%</field>
         </record>
+
+        <record id="tax_group_ieps_8" model="account.tax.group">
+            <field name="name">IEPS 8%</field>
+        </record>
+
+        <record id="tax_group_ieps_25" model="account.tax.group">
+            <field name="name">IEPS 25%</field>
+        </record>
+
+        <record id="tax_group_ieps_26_5" model="account.tax.group">
+            <field name="name">IEPS 26.5%</field>
+        </record>
+
+        <record id="tax_group_ieps_30" model="account.tax.group">
+            <field name="name">IEPS 30%</field>
+        </record>
+
+        <record id="tax_group_ieps_53" model="account.tax.group">
+            <field name="name">IEPS 53%</field>
+        </record>
     </data>
 </odoo>
diff --git a/addons/l10n_mx/data/account_tax_data.xml b/addons/l10n_mx/data/account_tax_data.xml
index cf5492853f88..522b5a86146a 100644
--- a/addons/l10n_mx/data/account_tax_data.xml
+++ b/addons/l10n_mx/data/account_tax_data.xml
@@ -1,18 +1,19 @@
 <?xml version="1.0" encoding="utf-8"?>
 <odoo>
   <data>
-    <record id="tax9" model="account.tax.template">
-        <field name="sequence" eval="10"/>
+
+    <record id="ieps_8_sale" model="account.tax.template">
+        <field name="sequence" eval="0"/>
         <field name="chart_template_id" ref="mx_coa"/>
-        <field name="name">IVA(0%) VENTAS</field>
-        <field name="description">IVA(0%)</field>
-        <field name="amount">0</field>
+        <field name="name">IEPS 8% VENTAS</field>
+        <field name="description">IEPS 8%</field>
+        <field name="amount">8</field>
         <field name="amount_type">percent</field>
         <field name="type_tax_use">sale</field>
-        <field name="tax_group_id" ref="tax_group_iva_0"/>
+        <field name="tax_group_id" ref="tax_group_ieps_8"/>
         <field name="tax_exigibility">on_payment</field>
-        <field name="cash_basis_transition_account_id" ref="cuenta209_01"/>
-        <field name="l10n_mx_tax_type">Tasa</field>
+        <field name="include_base_amount">1</field>
+        <field name="cash_basis_transition_account_id" ref="cuenta209_02"/>
         <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
             (0,0, {
                 'factor_percent': 100,
@@ -22,8 +23,8 @@
             (0,0, {
                 'factor_percent': 100,
                 'repartition_type': 'tax',
-                'account_id': ref('cuenta208_01'),
-                'tag_ids': [ref('tag_iva')],
+                'tag_ids': [ref('l10n_mx.tag_ieps')],
+                'account_id': ref('l10n_mx.cuenta208_02'),
             }),
         ]"/>
         <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
@@ -35,24 +36,64 @@
             (0,0, {
                 'factor_percent': 100,
                 'repartition_type': 'tax',
-                'account_id': ref('cuenta208_01'),
-                'tag_ids': [ref('tag_iva')],
+                'tag_ids': [ref('l10n_mx.tag_ieps')],
+                'account_id': ref('l10n_mx.cuenta208_02'),
             }),
         ]"/>
     </record>
 
-    <record id="tax12" model="account.tax.template">
+    <record id="ieps_8_purchase" model="account.tax.template">
         <field name="sequence" eval="1"/>
         <field name="chart_template_id" ref="mx_coa"/>
-        <field name="name">IVA(16%) VENTAS</field>
-        <field name="description">IVA(16%)</field>
-        <field name="amount">16</field>
+        <field name="name">IEPS 8% COMPRAS</field>
+        <field name="description">IEPS 8%</field>
+        <field name="amount">8</field>
+        <field name="amount_type">percent</field>
+        <field name="type_tax_use">purchase</field>
+        <field name="tax_group_id" ref="tax_group_ieps_8"/>
+        <field name="tax_exigibility">on_payment</field>
+        <field name="include_base_amount">1</field>
+        <field name="cash_basis_transition_account_id" ref="cuenta119_03"/>
+        <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'tag_ids': [ref('l10n_mx.tag_ieps')],
+                'account_id': ref('l10n_mx.cuenta118_03'),
+            }),
+        ]"/>
+        <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'tag_ids': [ref('l10n_mx.tag_ieps')],
+                'account_id': ref('l10n_mx.cuenta118_03'),
+            }),
+        ]"/>
+    </record>
+
+    <record id="ieps_25_sale" model="account.tax.template">
+        <field name="sequence" eval="2"/>
+        <field name="chart_template_id" ref="mx_coa"/>
+        <field name="name">IEPS 25% VENTAS</field>
+        <field name="description">IEPS 25%</field>
+        <field name="amount">25</field>
         <field name="amount_type">percent</field>
         <field name="type_tax_use">sale</field>
-        <field name="tax_group_id" ref="tax_group_iva_16"/>
+        <field name="tax_group_id" ref="tax_group_ieps_25"/>
         <field name="tax_exigibility">on_payment</field>
-        <field name="cash_basis_transition_account_id" ref="cuenta209_01"/>
-        <field name="l10n_mx_tax_type">Tasa</field>
+        <field name="include_base_amount">1</field>
+        <field name="cash_basis_transition_account_id" ref="cuenta209_02"/>
         <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
             (0,0, {
                 'factor_percent': 100,
@@ -62,8 +103,8 @@
             (0,0, {
                 'factor_percent': 100,
                 'repartition_type': 'tax',
-                'account_id': ref('cuenta208_01'),
-                'tag_ids': [ref('tag_iva')],
+                'tag_ids': [ref('l10n_mx.tag_ieps')],
+                'account_id': ref('l10n_mx.cuenta208_02'),
             }),
         ]"/>
         <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
@@ -75,8 +116,288 @@
             (0,0, {
                 'factor_percent': 100,
                 'repartition_type': 'tax',
-                'account_id': ref('cuenta208_01'),
-                'tag_ids': [ref('tag_iva')],
+                'tag_ids': [ref('l10n_mx.tag_ieps')],
+                'account_id': ref('l10n_mx.cuenta208_02'),
+            }),
+        ]"/>
+    </record>
+
+    <record id="ieps_25_purchase" model="account.tax.template">
+        <field name="sequence" eval="3"/>
+        <field name="chart_template_id" ref="mx_coa"/>
+        <field name="name">IEPS 25% COMPRAS</field>
+        <field name="description">IEPS 25%</field>
+        <field name="amount">25</field>
+        <field name="amount_type">percent</field>
+        <field name="type_tax_use">purchase</field>
+        <field name="tax_group_id" ref="tax_group_ieps_25"/>
+        <field name="tax_exigibility">on_payment</field>
+        <field name="include_base_amount">1</field>
+        <field name="cash_basis_transition_account_id" ref="cuenta119_03"/>
+        <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'tag_ids': [ref('l10n_mx.tag_ieps')],
+                'account_id': ref('l10n_mx.cuenta118_03'),
+            }),
+        ]"/>
+        <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'tag_ids': [ref('l10n_mx.tag_ieps')],
+                'account_id': ref('l10n_mx.cuenta118_03'),
+            }),
+        ]"/>
+    </record>
+
+    <record id="ieps_26_5_sale" model="account.tax.template">
+        <field name="sequence" eval="4"/>
+        <field name="chart_template_id" ref="mx_coa"/>
+        <field name="name">IEPS 26.5% VENTAS</field>
+        <field name="description">IEPS 26.5%</field>
+        <field name="amount">26.5</field>
+        <field name="amount_type">percent</field>
+        <field name="type_tax_use">sale</field>
+        <field name="tax_group_id" ref="tax_group_ieps_26_5"/>
+        <field name="tax_exigibility">on_payment</field>
+        <field name="include_base_amount">1</field>
+        <field name="cash_basis_transition_account_id" ref="cuenta209_02"/>
+        <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'tag_ids': [ref('l10n_mx.tag_ieps')],
+                'account_id': ref('l10n_mx.cuenta208_02'),
+            }),
+        ]"/>
+        <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'tag_ids': [ref('l10n_mx.tag_ieps')],
+                'account_id': ref('l10n_mx.cuenta208_02'),
+            }),
+        ]"/>
+    </record>
+
+    <record id="ieps_26_5_purchase" model="account.tax.template">
+        <field name="sequence" eval="5"/>
+        <field name="chart_template_id" ref="mx_coa"/>
+        <field name="name">IEPS 26.5% COMPRAS</field>
+        <field name="description">IEPS 26.5%</field>
+        <field name="amount">26.5</field>
+        <field name="amount_type">percent</field>
+        <field name="type_tax_use">purchase</field>
+        <field name="include_base_amount">1</field>
+        <field name="tax_group_id" ref="tax_group_ieps_26_5"/>
+        <field name="tax_exigibility">on_payment</field>
+        <field name="cash_basis_transition_account_id" ref="cuenta119_03"/>
+        <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'tag_ids': [ref('l10n_mx.tag_ieps')],
+                'account_id': ref('l10n_mx.cuenta118_03'),
+            }),
+        ]"/>
+        <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'tag_ids': [ref('l10n_mx.tag_ieps')],
+                'account_id': ref('l10n_mx.cuenta118_03'),
+            }),
+        ]"/>
+    </record>
+
+    <record id="ieps_30_sale" model="account.tax.template">
+        <field name="sequence" eval="6"/>
+        <field name="chart_template_id" ref="mx_coa"/>
+        <field name="name">IEPS 30% VENTAS</field>
+        <field name="description">IEPS 30%</field>
+        <field name="amount">30</field>
+        <field name="amount_type">percent</field>
+        <field name="type_tax_use">sale</field>
+        <field name="tax_group_id" ref="tax_group_ieps_30"/>
+        <field name="tax_exigibility">on_payment</field>
+        <field name="include_base_amount">1</field>
+        <field name="cash_basis_transition_account_id" ref="cuenta209_02"/>
+        <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'tag_ids': [ref('l10n_mx.tag_ieps')],
+                'account_id': ref('l10n_mx.cuenta208_02'),
+            }),
+        ]"/>
+        <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'tag_ids': [ref('l10n_mx.tag_ieps')],
+                'account_id': ref('l10n_mx.cuenta208_02'),
+            }),
+        ]"/>
+    </record>
+
+    <record id="ieps_30_purchase" model="account.tax.template">
+        <field name="sequence" eval="7"/>
+        <field name="chart_template_id" ref="mx_coa"/>
+        <field name="name">IEPS 30% COMPRAS</field>
+        <field name="description">IEPS 30%</field>
+        <field name="amount">30</field>
+        <field name="amount_type">percent</field>
+        <field name="type_tax_use">purchase</field>
+        <field name="tax_group_id" ref="tax_group_ieps_30"/>
+        <field name="tax_exigibility">on_payment</field>
+        <field name="include_base_amount">1</field>
+        <field name="cash_basis_transition_account_id" ref="cuenta119_03"/>
+        <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'tag_ids': [ref('l10n_mx.tag_ieps')],
+                'account_id': ref('l10n_mx.cuenta118_03'),
+            }),
+        ]"/>
+        <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'tag_ids': [ref('l10n_mx.tag_ieps')],
+                'account_id': ref('l10n_mx.cuenta118_03'),
+            }),
+        ]"/>
+    </record>
+
+    <record id="ieps_53_sale" model="account.tax.template">
+        <field name="sequence" eval="8"/>
+        <field name="chart_template_id" ref="mx_coa"/>
+        <field name="name">IEPS 53% VENTAS</field>
+        <field name="description">IEPS 53%</field>
+        <field name="amount">53</field>
+        <field name="amount_type">percent</field>
+        <field name="type_tax_use">sale</field>
+        <field name="tax_group_id" ref="tax_group_ieps_53"/>
+        <field name="tax_exigibility">on_payment</field>
+        <field name="include_base_amount">1</field>
+        <field name="cash_basis_transition_account_id" ref="cuenta209_02"/>
+        <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'tag_ids': [ref('l10n_mx.tag_ieps')],
+                'account_id': ref('l10n_mx.cuenta208_02'),
+            }),
+        ]"/>
+        <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'tag_ids': [ref('l10n_mx.tag_ieps')],
+                'account_id': ref('l10n_mx.cuenta208_02'),
+            }),
+        ]"/>
+    </record>
+
+    <record id="ieps_53_purchase" model="account.tax.template">
+        <field name="sequence" eval="9"/>
+        <field name="chart_template_id" ref="mx_coa"/>
+        <field name="name">IEPS 53% COMPRAS</field>
+        <field name="description">IEPS 53%</field>
+        <field name="amount">53</field>
+        <field name="amount_type">percent</field>
+        <field name="type_tax_use">purchase</field>
+        <field name="tax_group_id" ref="tax_group_ieps_53"/>
+        <field name="tax_exigibility">on_payment</field>
+        <field name="include_base_amount">1</field>
+        <field name="cash_basis_transition_account_id" ref="cuenta119_03"/>
+        <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'tag_ids': [ref('l10n_mx.tag_ieps')],
+                'account_id': ref('l10n_mx.cuenta118_03'),
+            }),
+        ]"/>
+        <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'tag_ids': [ref('l10n_mx.tag_ieps')],
+                'account_id': ref('l10n_mx.cuenta118_03'),
             }),
         ]"/>
     </record>
@@ -85,7 +406,7 @@
         <field name="sequence" eval="10"/>
         <field name="chart_template_id" ref="mx_coa"/>
         <field name="name">RET IVA FLETES 4%</field>
-        <field name="description">Retención IVA(-4%)</field>
+        <field name="description">RET IVA -4%</field>
         <field name="amount">-4</field>
         <field name="amount_type">percent</field>
         <field name="type_tax_use">purchase</field>
@@ -122,10 +443,10 @@
     </record>
 
     <record id="tax2" model="account.tax.template">
-        <field name="sequence" eval="10"/>
+        <field name="sequence" eval="11"/>
         <field name="chart_template_id" ref="mx_coa"/>
         <field name="name">RET IVA ARRENDAMIENTO 10%</field>
-        <field name="description">Retención IVA(-10%)</field>
+        <field name="description">RET IVA -10%</field>
         <field name="amount">-10</field>
         <field name="amount_type">percent</field>
         <field name="type_tax_use">purchase</field>
@@ -162,10 +483,10 @@
     </record>
 
     <record id="tax3" model="account.tax.template">
-        <field name="sequence" eval="10"/>
+        <field name="sequence" eval="12"/>
         <field name="chart_template_id" ref="mx_coa"/>
         <field name="name">RET ISR ARRENDAMIENTO 10%</field>
-        <field name="description">Retención ISR(-10%)</field>
+        <field name="description">RET ISR -10%</field>
         <field name="amount">-10</field>
         <field name="amount_type">percent</field>
         <field name="type_tax_use">purchase</field>
@@ -198,10 +519,10 @@
     </record>
 
     <record id="tax5" model="account.tax.template">
-        <field name="sequence" eval="10"/>
+        <field name="sequence" eval="13"/>
         <field name="chart_template_id" ref="mx_coa"/>
         <field name="name">RET ISR HONORARIOS 10%</field>
-        <field name="description">Retención ISR(-10%)</field>
+        <field name="description">RET ISR -10%</field>
         <field name="amount">-10</field>
         <field name="amount_type">percent</field>
         <field name="type_tax_use">purchase</field>
@@ -234,10 +555,10 @@
     </record>
 
     <record id="tax7" model="account.tax.template">
-        <field name="sequence" eval="10"/>
+        <field name="sequence" eval="14"/>
         <field name="chart_template_id" ref="mx_coa"/>
-        <field name="name">RETENCION IVA ARRENDAMIENTO 10.67%</field>
-        <field name="description">Retención IVA(-10.67%)</field>
+        <field name="name">RET IVA ARRENDAMIENTO 10.67%</field>
+        <field name="description">RET IVA -10.67%</field>
         <field name="amount">-10.67</field>
         <field name="amount_type">percent</field>
         <field name="type_tax_use">purchase</field>
@@ -274,10 +595,10 @@
     </record>
 
     <record id="tax8" model="account.tax.template">
-        <field name="sequence" eval="10"/>
+        <field name="sequence" eval="15"/>
         <field name="chart_template_id" ref="mx_coa"/>
-        <field name="name">RETENCION IVA HONORARIOS 10.67%</field>
-        <field name="description">Retención IVA(-10.67%)</field>
+        <field name="name">RET IVA HONORARIOS 10.67%</field>
+        <field name="description">RET IVA -10.67%</field>
         <field name="amount">-10.67</field>
         <field name="amount_type">percent</field>
         <field name="type_tax_use">purchase</field>
@@ -313,11 +634,91 @@
         ]"/>
     </record>
 
+    <record id="tax9" model="account.tax.template">
+        <field name="sequence" eval="16"/>
+        <field name="chart_template_id" ref="mx_coa"/>
+        <field name="name">IVA 0% VENTAS</field>
+        <field name="description">IVA 0%</field>
+        <field name="amount">0</field>
+        <field name="amount_type">percent</field>
+        <field name="type_tax_use">sale</field>
+        <field name="tax_group_id" ref="tax_group_iva_0"/>
+        <field name="tax_exigibility">on_payment</field>
+        <field name="cash_basis_transition_account_id" ref="cuenta209_01"/>
+        <field name="l10n_mx_tax_type">Tasa</field>
+        <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'account_id': ref('cuenta208_01'),
+                'tag_ids': [ref('tag_iva')],
+            }),
+        ]"/>
+        <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'account_id': ref('cuenta208_01'),
+                'tag_ids': [ref('tag_iva')],
+            }),
+        ]"/>
+    </record>
+
+    <record id="tax12" model="account.tax.template">
+        <field name="sequence" eval="17"/>
+        <field name="chart_template_id" ref="mx_coa"/>
+        <field name="name">IVA 16% VENTAS</field>
+        <field name="description">IVA 16%</field>
+        <field name="amount">16</field>
+        <field name="amount_type">percent</field>
+        <field name="type_tax_use">sale</field>
+        <field name="tax_group_id" ref="tax_group_iva_16"/>
+        <field name="tax_exigibility">on_payment</field>
+        <field name="cash_basis_transition_account_id" ref="cuenta209_01"/>
+        <field name="l10n_mx_tax_type">Tasa</field>
+        <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'account_id': ref('cuenta208_01'),
+                'tag_ids': [ref('tag_iva')],
+            }),
+        ]"/>
+        <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+            }),
+
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'tax',
+                'account_id': ref('cuenta208_01'),
+                'tag_ids': [ref('tag_iva')],
+            }),
+        ]"/>
+    </record>
+
     <record id="tax13" model="account.tax.template">
-        <field name="sequence" eval="10"/>
+        <field name="sequence" eval="18"/>
         <field name="chart_template_id" ref="mx_coa"/>
-        <field name="name">IVA(0%) COMPRAS</field>
-        <field name="description">IVA(0%)</field>
+        <field name="name">IVA 0% COMPRAS</field>
+        <field name="description">IVA 0%</field>
         <field name="amount">0</field>
         <field name="amount_type">percent</field>
         <field name="type_tax_use">purchase</field>
@@ -354,10 +755,10 @@
     </record>
 
     <record id="tax14" model="account.tax.template">
-        <field name="sequence" eval="1"/>
+        <field name="sequence" eval="19"/>
         <field name="chart_template_id" ref="mx_coa"/>
-        <field name="name">IVA(16%) COMPRAS</field>
-        <field name="description">IVA(16%)</field>
+        <field name="name">IVA 16% COMPRAS</field>
+        <field name="description">IVA 16%</field>
         <field name="amount">16</field>
         <field name="amount_type">percent</field>
         <field name="type_tax_use">purchase</field>
@@ -394,9 +795,10 @@
     </record>
 
     <record id="tax16" model="account.tax.template">
+        <field name="sequence" eval="20"/>
         <field name="chart_template_id" ref="mx_coa"/>
-        <field name="name">IVA(8%) COMPRAS</field>
-        <field name="description">IVA(8%)</field>
+        <field name="name">IVA 8% COMPRAS</field>
+        <field name="description">IVA 8%</field>
         <field name="amount">8</field>
         <field name="amount_type">percent</field>
         <field name="type_tax_use">purchase</field>
@@ -404,7 +806,6 @@
         <field name="tax_exigibility">on_payment</field>
         <field name="cash_basis_transition_account_id" ref="cuenta119_01"/>
         <field name="l10n_mx_tax_type">Tasa</field>
-        <field name="sequence" eval="10"/>
         <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
             (0,0, {
                 'factor_percent': 100,
@@ -434,9 +835,10 @@
     </record>
 
     <record id="tax17" model="account.tax.template">
+        <field name="sequence" eval="21"/>
         <field name="chart_template_id" ref="mx_coa"/>
-        <field name="name">IVA(8%) VENTAS</field>
-        <field name="description">IVA(8%)</field>
+        <field name="name">IVA 8% VENTAS</field>
+        <field name="description">IVA 8%</field>
         <field name="amount">8</field>
         <field name="amount_type">percent</field>
         <field name="type_tax_use">sale</field>
@@ -444,7 +846,6 @@
         <field name="tax_exigibility">on_payment</field>
         <field name="cash_basis_transition_account_id" ref="cuenta209_01"/>
         <field name="l10n_mx_tax_type">Tasa</field>
-        <field name="sequence" eval="10"/>
         <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
             (0,0, {
                 'factor_percent': 100,
-- 
GitLab