diff options
| author | Olivier Colson <oco@odoo.com> | 2019-04-19 10:06:07 +0000 |
|---|---|---|
| committer | Olivier Colson <oco@odoo.com> | 2019-05-10 11:52:58 +0000 |
| commit | 3936d655c4bfd845b6ead724cecdc8e7c62816eb (patch) | |
| tree | 402e137e0fa09b06c1b237ab6a346670dea480c2 /addons/l10n_bo | |
| parent | 574295df57d8da78ca6109f277a5a2332bf38101 (diff) | |
[IMP] account, l10n_*: v13 taxes
- Add repartition lines on taxes
- Link account tags directly to account.move.line; remove the tag_ids field from account.tag
- Add a new report engine dedicated to tax reports, directly generating account tags. It is called as an alternate mode of generic tax report, with a dedicated "Use tax grids" toggle.
>> The biggest change lies in the way the new tax report computes its values.
Everything is now aggregated directly using the tags set on the account move lines. Thanks to that,
modifying the configuration of a tax today will not impact the report for the previous periods anymore.
This is a big improvement, as it means the report will keep on reflecting the values that were submitted
to the state before, whatever the configuration change.
- Add an audit char field to account.move.line telling with tax grids are impacted by the line, with the corresponding amount
- Modify the behavior of cash basis taxes: the cash basis account is now used as the transition account, while the regular account given in tax declaration is used to store the final entry (it was the opposite before)
- Modify every l10n_* module in order to keep them consistent with these changes
closes odoo/odoo#32833
Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
Diffstat (limited to 'addons/l10n_bo')
| -rw-r--r-- | addons/l10n_bo/__manifest__.py | 1 | ||||
| -rw-r--r-- | addons/l10n_bo/data/account_tax_data.xml | 236 | ||||
| -rw-r--r-- | addons/l10n_bo/data/account_tax_report_data.xml | 152 |
3 files changed, 252 insertions, 137 deletions
diff --git a/addons/l10n_bo/__manifest__.py b/addons/l10n_bo/__manifest__.py index d437a931b36..32227a38474 100644 --- a/addons/l10n_bo/__manifest__.py +++ b/addons/l10n_bo/__manifest__.py @@ -20,6 +20,7 @@ Plan contable boliviano e impuestos de acuerdo a disposiciones vigentes "data/account.account.template.csv", "data/l10n_bo_chart_post_data.xml", 'data/account_data.xml', + 'data/account_tax_report_data.xml', "data/account_tax_data.xml", "data/account_chart_template_data.xml", ], diff --git a/addons/l10n_bo/data/account_tax_data.xml b/addons/l10n_bo/data/account_tax_data.xml index 5ef54c9ddb9..c11d00e64d6 100644 --- a/addons/l10n_bo/data/account_tax_data.xml +++ b/addons/l10n_bo/data/account_tax_data.xml @@ -1,148 +1,110 @@ <?xml version="1.0" encoding="utf-8"?> <odoo> - <!-- Account Tags --> - - <record id="tag_bo_01" model="account.account.tag"> - <field name="name">Impuesto a las Utilidades de la Empresa IUE (25%)</field> - <field name="applicability">taxes</field> - </record> - - <record id="tag_bo_02" model="account.account.tag"> - <field name="name">Impuesto a las Transacciones IT (3%)</field> - <field name="applicability">taxes</field> - </record> - - <record id="tag_bo_03" model="account.account.tag"> - <field name="name">Impuesto a las Transacciones IT (3%)</field> - <field name="applicability">taxes</field> - </record> - - <record id="tag_bo_04" model="account.account.tag"> - <field name="name">Impuesto al Valor Agregado (IVA) Total a Pagar</field> - <field name="applicability">taxes</field> - </record> - - <record id="tag_bo_05" model="account.account.tag"> - <field name="name">Impuesto Cobrado</field> - <field name="applicability">taxes</field> - </record> - - <record id="tag_bo_06" model="account.account.tag"> - <field name="name">Impuesto Cobrado Fuera de Ámbito</field> - <field name="applicability">taxes</field> - </record> - - <record id="tag_bo_07" model="account.account.tag"> - <field name="name">Impuesto Cobrado de Exonerados al IVA</field> - <field name="applicability">taxes</field> - </record> - - <record id="tag_bo_08" model="account.account.tag"> - <field name="name">Impuesto Cobrado IVA</field> - <field name="applicability">taxes</field> - </record> - - <record id="tag_bo_09" model="account.account.tag"> - <field name="name">Impuesto Pagado</field> - <field name="applicability">taxes</field> - </record> - - <record id="tag_bo_10" model="account.account.tag"> - <field name="name">Impuesto Pagado Fuera de Ámbito</field> - <field name="applicability">taxes</field> - </record> - - <record id="tag_bo_11" model="account.account.tag"> - <field name="name">Impuesto Pagado de Exonerados al IVA</field> - <field name="applicability">taxes</field> - </record> - - <record id="tag_bo_12" model="account.account.tag"> - <field name="name">Impuesto Pagado IVA</field> - <field name="applicability">taxes</field> - </record> - - <record id="tag_bo_13" model="account.account.tag"> - <field name="name">Base Imponible</field> - <field name="applicability">taxes</field> - </record> - - <record id="tag_bo_14" model="account.account.tag"> - <field name="name">Base Imponible - Compras</field> - <field name="applicability">taxes</field> - </record> - - <record id="tag_bo_15" model="account.account.tag"> - <field name="name">Compras Gravadas Fuera de Ámbito</field> - <field name="applicability">taxes</field> - </record> - - <record id="tag_bo_16" model="account.account.tag"> - <field name="name">Compras NO Gravadas (Exoneradas)</field> - <field name="applicability">taxes</field> - </record> - - <record id="tag_bo_17" model="account.account.tag"> - <field name="name">Compras Gravadas con IVA</field> - <field name="applicability">taxes</field> - </record> - - <record id="tag_bo_18" model="account.account.tag"> - <field name="name">Base Imponible - Ventas</field> - <field name="applicability">taxes</field> - </record> - - <record id="tag_bo_19" model="account.account.tag"> - <field name="name">Ventas Gravadas Fuera de Ámbito</field> - <field name="applicability">taxes</field> - </record> - - <record id="tag_bo_20" model="account.account.tag"> - <field name="name">Ventas NO Gravadas (Exoneradas)</field> - <field name="applicability">taxes</field> - </record> - - <record id="tag_bo_21" model="account.account.tag"> - <field name="name">Impuesto al Valor Agregado con IVA</field> - <field name="applicability">taxes</field> - </record> - <record id="ITAX_21" model="account.tax.template"> - <field name="chart_template_id" ref="bo_chart_template"/> - <field name="name">IVA 13% Venta</field> - <field name="amount">13</field> - <field name="amount_type">percent</field> - <field name="type_tax_use">sale</field> - <field name="include_base_amount">1</field> - <field name="refund_account_id" ref="231"/> - <field name="account_id" ref="231"/> - <field name="tag_ids" eval="[(6,0,[ref('tag_bo_08'),ref('tag_bo_21') ])]"/> - <field name="tax_group_id" ref="tax_group_iva_13"/> + <field name="chart_template_id" ref="bo_chart_template"/> + <field name="name">IVA 13% Venta</field> + <field name="amount">13</field> + <field name="amount_type">percent</field> + <field name="type_tax_use">sale</field> + <field name="include_base_amount">1</field> + <field name="tax_group_id" ref="tax_group_iva_13"/> + <field name="invoice_repartition_line_ids" eval="[(5, 0, 0), + (0,0, { + 'factor_percent': 100, + 'repartition_type': 'base', + 'plus_report_line_ids': [ref('tax_report_base_imponible_venras_iva')], + }), + (0,0, { + 'factor_percent': 100, + 'repartition_type': 'tax', + 'account_id': ref('231'), + 'plus_report_line_ids': [ref('tax_report_impuesto_ttl_cob_iva')], + }), + ]"/> + <field name="refund_repartition_line_ids" eval="[(5, 0, 0), + (0,0, { + 'factor_percent': 100, + 'repartition_type': 'base', + 'minus_report_line_ids': [ref('tax_report_base_imponible_venras_iva')], + }), + (0,0, { + 'factor_percent': 100, + 'repartition_type': 'tax', + 'account_id': ref('231'), + 'minus_report_line_ids': [ref('tax_report_impuesto_ttl_cob_iva')], + }), + ]"/> </record> <record id="OTAX_21" model="account.tax.template"> - <field name="chart_template_id" ref="bo_chart_template"/> - <field name="name">IVA 13% Compra</field> - <field name="amount">13</field> - <field name="amount_type">percent</field> - <field name="type_tax_use">purchase</field> - <field name="include_base_amount">1</field> - <field name="refund_account_id" ref="231"/> - <field name="account_id" ref="231"/> - <field name="tag_ids" eval="[(6,0,[ref('tag_bo_12'), ref('tag_bo_17')])]"/> - <field name="tax_group_id" ref="tax_group_iva_13"/> + <field name="chart_template_id" ref="bo_chart_template"/> + <field name="name">IVA 13% Compra</field> + <field name="amount">13</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_iva_13"/> + <field name="invoice_repartition_line_ids" eval="[(5, 0, 0), + (0,0, { + 'factor_percent': 100, + 'repartition_type': 'base', + 'plus_report_line_ids': [ref('tax_report_base_imponible_compras_iva')], + }), + (0,0, { + 'factor_percent': 100, + 'repartition_type': 'tax', + 'account_id': ref('231'), + 'plus_report_line_ids': [ref('tax_report_impuesto_ttl_pag_iva')], + }), + ]"/> + <field name="refund_repartition_line_ids" eval="[(5, 0, 0), + (0,0, { + 'factor_percent': 100, + 'repartition_type': 'base', + 'minus_report_line_ids': [ref('tax_report_base_imponible_compras_iva')], + }), + (0,0, { + 'factor_percent': 100, + 'repartition_type': 'tax', + 'account_id': ref('231'), + 'minus_report_line_ids': [ref('tax_report_impuesto_ttl_pag_iva')], + }), + ]"/> </record> <record id="ITAX_03" model="account.tax.template"> - <field name="chart_template_id" ref="bo_chart_template"/> - <field name="name">IT 3%</field> - <field name="amount">3</field> - <field name="amount_type">percent</field> - <field name="price_include" eval="True"/> - <field name="type_tax_use">sale</field> - <field name="refund_account_id" ref="232"/> - <field name="account_id" ref="232"/> - <field name="tag_ids" eval="[(6,0,[ref('tag_bo_03'), ref('tag_bo_21')])]"/> - <field name="tax_group_id" ref="tax_group_it_3"/> + <field name="chart_template_id" ref="bo_chart_template"/> + <field name="name">IT 3%</field> + <field name="amount">3</field> + <field name="amount_type">percent</field> + <field name="price_include" eval="True"/> + <field name="type_tax_use">sale</field> + <field name="tax_group_id" ref="tax_group_it_3"/> + <field name="invoice_repartition_line_ids" eval="[(5, 0, 0), + (0,0, { + 'factor_percent': 100, + 'repartition_type': 'base', + 'plus_report_line_ids': [ref('tax_report_base_imponible_venras_iva')], + }), + (0,0, { + 'factor_percent': 100, + 'repartition_type': 'tax', + 'account_id': ref('232'), + 'plus_report_line_ids': [ref('tax_report_impuesto_trans_3')], + }), + ]"/> + <field name="refund_repartition_line_ids" eval="[(5, 0, 0), + (0,0, { + 'factor_percent': 100, + 'repartition_type': 'base', + 'minus_report_line_ids': [ref('tax_report_base_imponible_venras_iva')], + }), + (0,0, { + 'factor_percent': 100, + 'repartition_type': 'tax', + 'account_id': ref('232'), + 'minus_report_line_ids': [ref('tax_report_impuesto_trans_3')], + }), + ]"/> </record> </odoo> diff --git a/addons/l10n_bo/data/account_tax_report_data.xml b/addons/l10n_bo/data/account_tax_report_data.xml new file mode 100644 index 00000000000..1bc63b64505 --- /dev/null +++ b/addons/l10n_bo/data/account_tax_report_data.xml @@ -0,0 +1,152 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + + <record id="tax_report_impuesto_25" model="account.tax.report.line"> + <field name="name">Impuesto a las Utilidades de la Empresa IUE (25%)</field> + <field name="sequence" eval="1"/> + <field name="country_id" ref="base.bo"/> + </record> + + <record id="tax_report_impuesto_trans" model="account.tax.report.line"> + <field name="name">Impuesto a las Transacciones IT (3%)</field> + <field name="sequence" eval="2"/> + <field name="country_id" ref="base.bo"/> + </record> + + <record id="tax_report_impuesto_trans_3" model="account.tax.report.line"> + <field name="name">Impuesto a las Transacciones IT (3%)</field> + <field name="tag_name">Impuesto a las Transacciones IT (3%)</field> + <field name="sequence" eval="1"/> + <field name="parent_id" ref="tax_report_impuesto_trans"/> + <field name="country_id" ref="base.bo"/> + </record> + + <record id="tax_report_impuesto_ttl" model="account.tax.report.line"> + <field name="name">Impuesto al Valor Agregado (IVA) Total a Pagar</field> + <field name="sequence" eval="3"/> + <field name="country_id" ref="base.bo"/> + </record> + + <record id="tax_report_impuesto_ttl_cob" model="account.tax.report.line"> + <field name="name">Impuesto Cobrado</field> + <field name="sequence" eval="1"/> + <field name="parent_id" ref="tax_report_impuesto_ttl"/> + <field name="country_id" ref="base.bo"/> + </record> + + <record id="tax_report_impuesto_ttl_cob_fuera" model="account.tax.report.line"> + <field name="name">Impuesto Cobrado Fuera de Ámbito</field> + <field name="sequence" eval="1"/> + <field name="parent_id" ref="tax_report_impuesto_ttl_cob"/> + <field name="country_id" ref="base.bo"/> + </record> + + <record id="tax_report_impuesto_ttl_cob_exon" model="account.tax.report.line"> + <field name="name">Impuesto Cobrado de Exonerados al IVA</field> + <field name="sequence" eval="2"/> + <field name="parent_id" ref="tax_report_impuesto_ttl_cob"/> + <field name="country_id" ref="base.bo"/> + </record> + + <record id="tax_report_impuesto_ttl_cob_iva" model="account.tax.report.line"> + <field name="name">Impuesto Cobrado IVA</field> + <field name="tag_name">Impuesto Cobrado IVA</field> + <field name="sequence" eval="3"/> + <field name="parent_id" ref="tax_report_impuesto_ttl_cob"/> + <field name="country_id" ref="base.bo"/> + </record> + + <record id="tax_report_impuesto_ttl_pag" model="account.tax.report.line"> + <field name="name">Impuesto Pagado</field> + <field name="sequence" eval="2"/> + <field name="parent_id" ref="tax_report_impuesto_ttl"/> + <field name="country_id" ref="base.bo"/> + </record> + + <record id="tax_report_impuesto_ttl_pag_fuera" model="account.tax.report.line"> + <field name="name">Impuesto Pagado Fuera de Ámbito</field> + <field name="sequence" eval="1"/> + <field name="parent_id" ref="tax_report_impuesto_ttl_pag"/> + <field name="country_id" ref="base.bo"/> + </record> + + <record id="tax_report_impuesto_ttl_pag_exon" model="account.tax.report.line"> + <field name="name">Impuesto Pagado de Exonerados al IVA</field> + <field name="sequence" eval="2"/> + <field name="parent_id" ref="tax_report_impuesto_ttl_pag"/> + <field name="country_id" ref="base.bo"/> + </record> + + <record id="tax_report_impuesto_ttl_pag_iva" model="account.tax.report.line"> + <field name="name">Impuesto Pagado IVA</field> + <field name="tag_name">Impuesto Pagado IVA</field> + <field name="sequence" eval="3"/> + <field name="parent_id" ref="tax_report_impuesto_ttl_pag"/> + <field name="country_id" ref="base.bo"/> + </record> + + <record id="tax_report_base_imponible" model="account.tax.report.line"> + <field name="name">Base Imponible</field> + <field name="sequence" eval="4"/> + <field name="country_id" ref="base.bo"/> + </record> + + <record id="tax_report_base_imponible_compras" model="account.tax.report.line"> + <field name="name">Base Imponible - Compras</field> + <field name="sequence" eval="1"/> + <field name="parent_id" ref="tax_report_base_imponible"/> + <field name="country_id" ref="base.bo"/> + </record> + + <record id="tax_report_base_imponible_compras_fuera" model="account.tax.report.line"> + <field name="name">Compras Gravadas Fuera de Ámbito</field> + <field name="sequence" eval="1"/> + <field name="parent_id" ref="tax_report_base_imponible_compras"/> + <field name="country_id" ref="base.bo"/> + </record> + + <record id="tax_report_base_imponible_compras_gravadas" model="account.tax.report.line"> + <field name="name">Compras NO Gravadas (Exoneradas)</field> + <field name="sequence" eval="2"/> + <field name="parent_id" ref="tax_report_base_imponible_compras"/> + <field name="country_id" ref="base.bo"/> + </record> + + <record id="tax_report_base_imponible_compras_iva" model="account.tax.report.line"> + <field name="name">Compras Gravadas con IVA</field> + <field name="tag_name">Compras Gravadas con IVA</field> + <field name="sequence" eval="3"/> + <field name="parent_id" ref="tax_report_base_imponible_compras"/> + <field name="country_id" ref="base.bo"/> + </record> + + <record id="tax_report_base_imponible_venras" model="account.tax.report.line"> + <field name="name">Base Imponible - Ventas</field> + <field name="sequence" eval="2"/> + <field name="parent_id" ref="tax_report_base_imponible"/> + <field name="country_id" ref="base.bo"/> + </record> + + <record id="tax_report_base_imponible_venras_fuera" model="account.tax.report.line"> + <field name="name">Ventas Gravadas Fuera de Ámbito</field> + <field name="sequence" eval="1"/> + <field name="parent_id" ref="tax_report_base_imponible_venras"/> + <field name="country_id" ref="base.bo"/> + </record> + + <record id="tax_report_base_imponible_venras_exon" model="account.tax.report.line"> + <field name="name">Ventas NO Gravadas (Exoneradas)</field> + <field name="sequence" eval="2"/> + <field name="parent_id" ref="tax_report_base_imponible_venras"/> + <field name="country_id" ref="base.bo"/> + </record> + + <record id="tax_report_base_imponible_venras_iva" model="account.tax.report.line"> + <field name="name">Impuesto al Valor Agregado con IVA</field> + <field name="tag_name">Impuesto al Valor Agregado con IVA</field> + <field name="sequence" eval="3"/> + <field name="parent_id" ref="tax_report_base_imponible_venras"/> + <field name="country_id" ref="base.bo"/> + </record> + +</odoo> |
