Update Dominican withholding catalog

Apply the Article 309 rates introduced by Law 30-26 with dated historical templates and rules. Complete tax-code reversals, improve English terminology, harden migrations, and expand structural and functional tests.
This commit is contained in:
José Arturo García
2026-08-10 09:10:05 -04:00
parent e646947a6e
commit 1583dd3387
16 changed files with 765 additions and 154 deletions
+2
View File
@@ -10,6 +10,8 @@ Version 8.0.1 - 2026-08-09
* Normalize the English chart to standard accounting terminology. * Normalize the English chart to standard accounting terminology.
* Add the 15% foreign-payment withholding introduced by Law 30-26 and keep * Add the 15% foreign-payment withholding introduced by Law 30-26 and keep
technical assistance out of the 10% interest category. technical assistance out of the 10% interest category.
* Apply the article 309 withholding rates introduced by Law 30-26 from
1 July 2026 while preserving the preceding rates for historical entries.
* Split tax rules whose duplicate match patterns made later alternatives * Split tax rules whose duplicate match patterns made later alternatives
unreachable. unreachable.
* Remove unused tax-group and tax-code records from the initial data set. * Remove unused tax-group and tax-code records from the initial data set.
+1 -1
View File
@@ -1 +1 @@
Copyright (C) 2026 Solutema Copyright (C) 2026 Fundación Un País Mejor
+40 -10
View File
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- account_do: Tipos de cuenta y Plan de cuentas NIIF - República Dominicana --> <!-- account_do: Account types and IFRS chart of accounts - Dominican Republic -->
<tryton> <tryton>
<data language="en"> <data language="en">
<!-- ===== Tipos de cuenta ===== --> <!-- ===== Account types ===== -->
<record id="do_type_root_en" model="account.account.type.template"> <record id="do_type_root_en" model="account.account.type.template">
<field name="name">IFRS Chart of Accounts - Dominican Republic</field> <field name="name">IFRS Chart of Accounts - Dominican Republic</field>
<field name="sequence" eval="10"/> <field name="sequence" eval="10"/>
@@ -180,7 +180,7 @@
<field name="statement">balance</field> <field name="statement">balance</field>
</record> </record>
<record id="do_type_retained_earnings_en" model="account.account.type.template"> <record id="do_type_retained_earnings_en" model="account.account.type.template">
<field name="name">Withheld Earnings</field> <field name="name">Retained Earnings</field>
<field name="parent" ref="do_type_equity_en"/> <field name="parent" ref="do_type_equity_en"/>
<field name="sequence" eval="20"/> <field name="sequence" eval="20"/>
<field name="statement">balance</field> <field name="statement">balance</field>
@@ -241,7 +241,7 @@
</record> </record>
</data> </data>
<data language="en"> <data language="en">
<!-- ===== Cuenta raíz del plan ===== --> <!-- ===== Chart root account ===== -->
<record id="do_account_root_en" model="account.account.template"> <record id="do_account_root_en" model="account.account.template">
<field name="name">IFRS Chart of Accounts - Dominican Republic</field> <field name="name">IFRS Chart of Accounts - Dominican Republic</field>
<field name="type" ref="do_type_root_en"/> <field name="type" ref="do_type_root_en"/>
@@ -249,7 +249,7 @@
</record> </record>
</data> </data>
<data language="en" grouped="1"> <data language="en" grouped="1">
<!-- ===== Nivel 1: 7 cuentas ===== --> <!-- ===== Level 1: 7 accounts ===== -->
<record id="do_account_1_en" model="account.account.template"> <record id="do_account_1_en" model="account.account.template">
<field name="code">1</field> <field name="code">1</field>
<field name="name">ASSETS</field> <field name="name">ASSETS</field>
@@ -294,7 +294,7 @@
</record> </record>
</data> </data>
<data language="en" grouped="1"> <data language="en" grouped="1">
<!-- ===== Nivel 2: 12 cuentas ===== --> <!-- ===== Level 2: 12 accounts ===== -->
<record id="do_account_11_en" model="account.account.template"> <record id="do_account_11_en" model="account.account.template">
<field name="code">11</field> <field name="code">11</field>
<field name="name">Current Assets</field> <field name="name">Current Assets</field>
@@ -369,7 +369,7 @@
</record> </record>
</data> </data>
<data language="en" grouped="1"> <data language="en" grouped="1">
<!-- ===== Nivel 3: 89 cuentas ===== --> <!-- ===== Level 3: 89 accounts ===== -->
<record id="do_account_1101_en" model="account.account.template"> <record id="do_account_1101_en" model="account.account.template">
<field name="code">1101</field> <field name="code">1101</field>
<field name="name">Cash and Cash Equivalents</field> <field name="name">Cash and Cash Equivalents</field>
@@ -559,7 +559,7 @@
</record> </record>
<record id="do_account_3104_en" model="account.account.template"> <record id="do_account_3104_en" model="account.account.template">
<field name="code">3104</field> <field name="code">3104</field>
<field name="name">Withheld Earnings</field> <field name="name">Retained Earnings</field>
<field name="parent" ref="do_account_31_en"/> <field name="parent" ref="do_account_31_en"/>
<field name="type" ref="do_type_retained_earnings_en"/> <field name="type" ref="do_type_retained_earnings_en"/>
</record> </record>
@@ -914,7 +914,7 @@
</record> </record>
</data> </data>
<data language="en" grouped="1"> <data language="en" grouped="1">
<!-- ===== Nivel 4: 100 cuentas ===== --> <!-- ===== Level 4: 100 accounts ===== -->
<record id="do_account_110101_en" model="account.account.template"> <record id="do_account_110101_en" model="account.account.template">
<field name="code">110101</field> <field name="code">110101</field>
<field name="name">Cash on Hand</field> <field name="name">Cash on Hand</field>
@@ -1639,7 +1639,7 @@
<field name="parent" ref="do_account_3106_en"/> <field name="parent" ref="do_account_3106_en"/>
<field name="type" ref="do_type_oci_en"/> <field name="type" ref="do_type_oci_en"/>
</record> </record>
<!-- Cuentas fiscales adicionales --> <!-- Additional tax accounts -->
<record id="do_account_110406_en" model="account.account.template"> <record id="do_account_110406_en" model="account.account.template">
<field name="code">110406</field> <field name="code">110406</field>
<field name="name">Recoverable ITBIS Withheld on Acquisitions</field> <field name="name">Recoverable ITBIS Withheld on Acquisitions</field>
@@ -1858,6 +1858,12 @@
<field name="parent" ref="do_account_210213_en"/> <field name="parent" ref="do_account_210213_en"/>
<field name="type" ref="do_type_tax_payable_en"/> <field name="type" ref="do_type_tax_payable_en"/>
</record> </record>
<record id="do_account_21021303_en" model="account.account.template">
<field name="code">21021303</field>
<field name="name">ISR withholdings for individual services 15% payable</field>
<field name="parent" ref="do_account_210213_en"/>
<field name="type" ref="do_type_tax_payable_en"/>
</record>
</data> </data>
<data language="en" grouped="1"> <data language="en" grouped="1">
<record id="do_account_210214_en" model="account.account.template"> <record id="do_account_210214_en" model="account.account.template">
@@ -1874,6 +1880,12 @@
<field name="parent" ref="do_account_210214_en"/> <field name="parent" ref="do_account_210214_en"/>
<field name="type" ref="do_type_tax_payable_en"/> <field name="type" ref="do_type_tax_payable_en"/>
</record> </record>
<record id="do_account_21021402_en" model="account.account.template">
<field name="code">21021402</field>
<field name="name">ISR rental withholdings 15% payable</field>
<field name="parent" ref="do_account_210214_en"/>
<field name="type" ref="do_type_tax_payable_en"/>
</record>
</data> </data>
<data language="en" grouped="1"> <data language="en" grouped="1">
<record id="do_account_210215_en" model="account.account.template"> <record id="do_account_210215_en" model="account.account.template">
@@ -2010,6 +2022,12 @@
<field name="parent" ref="do_account_210203_en"/> <field name="parent" ref="do_account_210203_en"/>
<field name="type" ref="do_type_tax_payable_en"/> <field name="type" ref="do_type_tax_payable_en"/>
</record> </record>
<record id="do_account_21020302_en" model="account.account.template">
<field name="code">21020302</field>
<field name="name">ISR withholdings other income 15% payable</field>
<field name="parent" ref="do_account_210203_en"/>
<field name="type" ref="do_type_tax_payable_en"/>
</record>
</data> </data>
<data language="en" grouped="1"> <data language="en" grouped="1">
<record id="do_account_21021202_en" model="account.account.template"> <record id="do_account_21021202_en" model="account.account.template">
@@ -2050,6 +2068,18 @@
<field name="parent" ref="do_account_210217_en"/> <field name="parent" ref="do_account_210217_en"/>
<field name="type" ref="do_type_tax_payable_en"/> <field name="type" ref="do_type_tax_payable_en"/>
</record> </record>
<record id="do_account_21021705_en" model="account.account.template">
<field name="code">21021705</field>
<field name="name">ISR withholding on betting prizes 15% payable</field>
<field name="parent" ref="do_account_210217_en"/>
<field name="type" ref="do_type_tax_payable_en"/>
</record>
<record id="do_account_21021706_en" model="account.account.template">
<field name="code">21021706</field>
<field name="name">ISR withholding on slot-machine prizes 15% payable</field>
<field name="parent" ref="do_account_210217_en"/>
<field name="type" ref="do_type_tax_payable_en"/>
</record>
</data> </data>
<data language="en" grouped="1"> <data language="en" grouped="1">
<record id="do_account_21020806_en" model="account.account.template"> <record id="do_account_21020806_en" model="account.account.template">
+32 -2
View File
@@ -1634,7 +1634,7 @@
</record> </record>
<record id="do_account_110406_es_419" model="account.account.template"> <record id="do_account_110406_es_419" model="account.account.template">
<field name="code">110406</field> <field name="code">110406</field>
<field name="name">ITBIS retenido por adquirencias a recuperar</field> <field name="name">ITBIS retenido en adquisiciones a recuperar</field>
<field name="parent" ref="do_account_1104_es_419" /> <field name="parent" ref="do_account_1104_es_419" />
<field name="type" ref="do_type_tax_credit_es_419" /> <field name="type" ref="do_type_tax_credit_es_419" />
</record> </record>
@@ -1642,7 +1642,7 @@
<data language="es_419" grouped="1"> <data language="es_419" grouped="1">
<record id="do_account_11040601_es_419" model="account.account.template"> <record id="do_account_11040601_es_419" model="account.account.template">
<field name="code">11040601</field> <field name="code">11040601</field>
<field name="name">ITBIS retenido por adquirencias 2% a recuperar</field> <field name="name">ITBIS retenido en adquisiciones 2% a recuperar</field>
<field name="parent" ref="do_account_110406_es_419" /> <field name="parent" ref="do_account_110406_es_419" />
<field name="type" ref="do_type_tax_credit_es_419" /> <field name="type" ref="do_type_tax_credit_es_419" />
</record> </record>
@@ -1850,6 +1850,12 @@
<field name="parent" ref="do_account_210213_es_419" /> <field name="parent" ref="do_account_210213_es_419" />
<field name="type" ref="do_type_tax_payable_es_419" /> <field name="type" ref="do_type_tax_payable_es_419" />
</record> </record>
<record id="do_account_21021303_es_419" model="account.account.template">
<field name="code">21021303</field>
<field name="name">Retenciones ISR servicios personas físicas 15% por pagar</field>
<field name="parent" ref="do_account_210213_es_419" />
<field name="type" ref="do_type_tax_payable_es_419" />
</record>
</data> </data>
<data language="es_419" grouped="1"> <data language="es_419" grouped="1">
<record id="do_account_210214_es_419" model="account.account.template"> <record id="do_account_210214_es_419" model="account.account.template">
@@ -1866,6 +1872,12 @@
<field name="parent" ref="do_account_210214_es_419" /> <field name="parent" ref="do_account_210214_es_419" />
<field name="type" ref="do_type_tax_payable_es_419" /> <field name="type" ref="do_type_tax_payable_es_419" />
</record> </record>
<record id="do_account_21021402_es_419" model="account.account.template">
<field name="code">21021402</field>
<field name="name">Retenciones ISR alquileres 15% por pagar</field>
<field name="parent" ref="do_account_210214_es_419" />
<field name="type" ref="do_type_tax_payable_es_419" />
</record>
</data> </data>
<data language="es_419" grouped="1"> <data language="es_419" grouped="1">
<record id="do_account_210215_es_419" model="account.account.template"> <record id="do_account_210215_es_419" model="account.account.template">
@@ -2002,6 +2014,12 @@
<field name="parent" ref="do_account_210203_es_419" /> <field name="parent" ref="do_account_210203_es_419" />
<field name="type" ref="do_type_tax_payable_es_419" /> <field name="type" ref="do_type_tax_payable_es_419" />
</record> </record>
<record id="do_account_21020302_es_419" model="account.account.template">
<field name="code">21020302</field>
<field name="name">Retenciones ISR otras rentas 15% por pagar</field>
<field name="parent" ref="do_account_210203_es_419" />
<field name="type" ref="do_type_tax_payable_es_419" />
</record>
</data> </data>
<data language="es_419" grouped="1"> <data language="es_419" grouped="1">
<record id="do_account_21021202_es_419" model="account.account.template"> <record id="do_account_21021202_es_419" model="account.account.template">
@@ -2042,6 +2060,18 @@
<field name="parent" ref="do_account_210217_es_419" /> <field name="parent" ref="do_account_210217_es_419" />
<field name="type" ref="do_type_tax_payable_es_419" /> <field name="type" ref="do_type_tax_payable_es_419" />
</record> </record>
<record id="do_account_21021705_es_419" model="account.account.template">
<field name="code">21021705</field>
<field name="name">Retenciones ISR premios de apuestas 15% por pagar</field>
<field name="parent" ref="do_account_210217_es_419" />
<field name="type" ref="do_type_tax_payable_es_419" />
</record>
<record id="do_account_21021706_es_419" model="account.account.template">
<field name="code">21021706</field>
<field name="name">Retenciones ISR máquinas tragamonedas 15% por pagar</field>
<field name="parent" ref="do_account_210217_es_419" />
<field name="type" ref="do_type_tax_payable_es_419" />
</record>
</data> </data>
<data language="es_419" grouped="1"> <data language="es_419" grouped="1">
<record id="do_account_21020806_es_419" model="account.account.template"> <record id="do_account_21020806_es_419" model="account.account.template">
+4 -4
View File
@@ -19,8 +19,8 @@ the reviewer and review date rather than claiming certification in module data.
Chart Size and Provenance Chart Size and Provenance
------------------------- -------------------------
The chart has 282 templates: 70 grouping nodes and 212 posting leaves. Of the The chart has 287 templates: 70 grouping nodes and 217 posting leaves. Of the
posting leaves, 61 are tax control accounts (45 payable and 16 recoverable). posting leaves, 66 are tax control accounts (50 payable and 16 recoverable).
Those controls deliberately provide stable identifiers for accounting and Those controls deliberately provide stable identifiers for accounting and
reporting modules. The remaining leaves cover cash, receivables, payables, reporting modules. The remaining leaves cover cash, receivables, payables,
inventory, cost of sales, assets, depreciation, deposits, leases, financial inventory, cost of sales, assets, depreciation, deposits, leases, financial
@@ -36,7 +36,7 @@ designed Tryton baseline using these objective inclusion rules:
* separate presentation is needed for a documented IFRS accounting policy. * separate presentation is needed for a documented IFRS accounting policy.
Grouping nodes are closed and cannot receive postings. The test suite checks Grouping nodes are closed and cannot receive postings. The test suite checks
282 unique templates, required optional-module accounts, account types and the 287 unique templates, required optional-module accounts, account types and the
IFRS policy coverage map. This is a transparent functional justification, IFRS policy coverage map. This is a transparent functional justification,
which is the appropriate evidence where no official general chart exists. which is the appropriate evidence where no official general chart exists.
@@ -45,7 +45,7 @@ accounts. That is not decidable from Dominican law because no mandatory
general catalogue supplies a target count. If requested during review, the general catalogue supplies a target count. If requested during review, the
safe reduction is to merge control accounts only after confirming that safe reduction is to merge control accounts only after confirming that
``dgii_reports`` does not depend on their stable identifiers; claiming that ``dgii_reports`` does not depend on their stable identifiers; claiming that
282 codes are official would be incorrect. 287 codes are official would be incorrect.
Upstream Repository Upstream Repository
------------------- -------------------
+1 -1
View File
@@ -56,7 +56,7 @@ Official References
<https://dgii.gov.do/legislacion/normasGenerales/Documents/NG%20sobre%20Veh%C3%ADculos%20de%20Motor/norma06-12.pdf>`_ <https://dgii.gov.do/legislacion/normasGenerales/Documents/NG%20sobre%20Veh%C3%ADculos%20de%20Motor/norma06-12.pdf>`_
* `General Rule 04-2025 (bovine subsector withholding) * `General Rule 04-2025 (bovine subsector withholding)
<https://dgii.gov.do/legislacion/normasGenerales/Documents/Normas%20Sectoriales/Norma04-25.pdf>`_ <https://dgii.gov.do/legislacion/normasGenerales/Documents/Normas%20Sectoriales/Norma04-25.pdf>`_
* `Law 30-26 (foreign payments, bank checks and electronic transfers) * `Law 30-26 (article 309 withholdings, foreign payments, bank checks and electronic transfers)
<https://dgii.gov.do/transparencia/baseLegal/Documents/Leyes/30-26.pdf>`_ <https://dgii.gov.do/transparencia/baseLegal/Documents/Leyes/30-26.pdf>`_
* `DGII implementation calendar for Law 30-26 * `DGII implementation calendar for Law 30-26
<https://dgii.gov.do/publicacionesOficiales/avisosInformativos/Documents/2026/10-26.pdf>`_ <https://dgii.gov.do/publicacionesOficiales/avisosInformativos/Documents/2026/10-26.pdf>`_
+8
View File
@@ -94,6 +94,14 @@ withholding. Other taxable payments abroad remain at 27%, while article 306
interest remains at 10%. Technical assistance must therefore not be interest remains at 10%. Technical assistance must therefore not be
classified as article 306 interest. classified as article 306 interest.
Article 17 of Law 30-26 also amended article 309 from 1 July 2026. Rentals
provided by individuals, services provided by individuals, slot-machine
prizes and income not expressly covered are withheld at 15%. Sports and
lottery betting prizes from RD$200,001 through RD$600,000 are withheld at
15%, while higher betting prizes and prizes in general are withheld at 25%.
The catalog preserves the former 10% and prize-band templates through
30 June 2026 and switches the service and rental tax rules by accounting date.
Validation Boundary Validation Boundary
------------------- -------------------
+11 -6
View File
@@ -48,20 +48,25 @@ ISR Withholdings
---------------- ----------------
* ``do_tax_ret_isr_hon_5`` — 5% legal-entity service case. * ``do_tax_ret_isr_hon_5`` — 5% legal-entity service case.
* ``do_tax_ret_isr_serv_10`` — 10% natural-person professional service case. * ``do_tax_ret_isr_serv_10`` historical 10% natural-person professional service case through 30 June 2026.
* ``do_tax_ret_isr_serv_15`` — 15% services provided by individuals from 1 July 2026.
* ``do_tax_ret_isr_div_10`` — 10% dividends and distributed profits. * ``do_tax_ret_isr_div_10`` — 10% dividends and distributed profits.
* ``do_tax_ret_isr_int_10`` — 10% interest paid to a natural person. * ``do_tax_ret_isr_int_10`` — 10% interest paid to a natural person.
* ``do_tax_ret_isr_alq_10`` — 10% qualifying rent paid to a natural person. * ``do_tax_ret_isr_alq_10`` historical 10% qualifying rent through 30 June 2026.
* ``do_tax_ret_isr_alq_15`` — 15% rentals provided by individuals from 1 July 2026.
* ``do_tax_ret_isr_est_15`` — historical or specific 1.5% public-sector case. * ``do_tax_ret_isr_est_15`` — historical or specific 1.5% public-sector case.
* ``do_tax_ret_isr_est_5`` — 5% public-sector payment case. * ``do_tax_ret_isr_est_5`` — 5% public-sector payment case.
* ``do_tax_ret_isr_bovine_1`` — 1% qualifying bovine purchase from an unregistered natural person. * ``do_tax_ret_isr_bovine_1`` — 1% qualifying bovine purchase from an unregistered natural person.
* ``do_tax_ret_isr_exporter_25`` — 2.5% qualifying local sale by an exporter. * ``do_tax_ret_isr_exporter_25`` — 2.5% qualifying local sale by an exporter.
* ``do_tax_ret_isr_int_pj_1`` — 1% interest paid to a legal entity. * ``do_tax_ret_isr_int_pj_1`` — 1% interest paid to a legal entity.
* ``do_tax_ret_isr_premios_25`` — 25% qualifying lottery, raffle or draw prize. * ``do_tax_ret_isr_premios_25`` — 25% qualifying lottery, raffle or draw prize.
* ``do_tax_ret_isr_premios_10`` — 10% qualifying prize band. * ``do_tax_ret_isr_premios_10`` historical 10% qualifying prize band through 30 June 2026.
* ``do_tax_ret_isr_premios_15`` — 15% qualifying prize band. * ``do_tax_ret_isr_premios_15`` historical 15% qualifying prize band through 30 June 2026.
* ``do_tax_ret_isr_tragamonedas_10`` — 10% slot-machine prize case. * ``do_tax_ret_isr_betting_15`` — 15% betting prizes from RD$200,001 through RD$600,000 from 1 July 2026.
* ``do_tax_ret_isr_other_income_10``10% residual income case under article 309. * ``do_tax_ret_isr_tragamonedas_10``historical 10% slot-machine prize case through 30 June 2026.
* ``do_tax_ret_isr_tragamonedas_15`` — 15% slot-machine prizes from 1 July 2026.
* ``do_tax_ret_isr_other_income_10`` — historical 10% residual income case through 30 June 2026.
* ``do_tax_ret_isr_other_income_15`` — 15% income not expressly covered from 1 July 2026.
* ``do_tax_ret_isr_ext_27`` — 27% qualifying payment abroad not governed by a special rate. * ``do_tax_ret_isr_ext_27`` — 27% qualifying payment abroad not governed by a special rate.
* ``do_tax_ret_isr_ext_15`` — 15% royalties or rights, software licences, online advertising and data use or storage paid abroad from 1 July 2026. * ``do_tax_ret_isr_ext_15`` — 15% royalties or rights, software licences, online advertising and data use or storage paid abroad from 1 July 2026.
* ``do_tax_ret_isr_ext_10`` — 10% qualifying interest paid abroad. * ``do_tax_ret_isr_ext_10`` — 10% qualifying interest paid abroad.
+5 -5
View File
@@ -5,7 +5,7 @@ from sql import Table
from trytond.pool import PoolMeta from trytond.pool import PoolMeta
from trytond.transaction import Transaction from trytond.transaction import Transaction
LEGACY_OBSOLETE_IDS = { LEGACY_OBSOLETE_IDS = frozenset({
'do_tax_itbis_8_compra', 'do_tax_itbis_8_venta', 'do_tax_itbis_8_compra', 'do_tax_itbis_8_venta',
'do_tax_itbis_9_compra', 'do_tax_itbis_9_venta', 'do_tax_itbis_9_compra', 'do_tax_itbis_9_venta',
'do_tax_ret_itbis_2_adq', 'do_tax_ret_itbis_2_adq',
@@ -23,9 +23,9 @@ LEGACY_OBSOLETE_IDS = {
'do_trline_cust_card_acquirer', 'do_trline_cust_card_acquirer',
'do_trline_cust_itbis8', 'do_trline_cust_itbis9', 'do_trline_cust_itbis8', 'do_trline_cust_itbis9',
'do_trline_supp_itbis8', 'do_trline_supp_itbis9', 'do_trline_supp_itbis8', 'do_trline_supp_itbis9',
} })
LOCALIZATION_MODELS = { LOCALIZATION_MODELS = frozenset({
'account.account.template', 'account.account.template',
'account.account.type.template', 'account.account.type.template',
'account.tax.code.line.template', 'account.tax.code.line.template',
@@ -34,7 +34,7 @@ LOCALIZATION_MODELS = {
'account.tax.rule.line.template', 'account.tax.rule.line.template',
'account.tax.rule.template', 'account.tax.rule.template',
'account.tax.template', 'account.tax.template',
} })
class ModelData(metaclass=PoolMeta): class ModelData(metaclass=PoolMeta):
@@ -58,7 +58,7 @@ class ModelData(metaclass=PoolMeta):
cursor.execute(*table.select( cursor.execute(*table.select(
table.id, table.fs_id, table.id, table.fs_id,
where=(table.module == 'account_do') where=(table.module == 'account_do')
& table.model.in_(tuple(LOCALIZATION_MODELS)))) & table.model.in_(tuple(sorted(LOCALIZATION_MODELS)))))
obsolete = [] obsolete = []
for record_id, fs_id in cursor.fetchall(): for record_id, fs_id in cursor.fetchall():
if fs_id in LEGACY_OBSOLETE_IDS: if fs_id in LEGACY_OBSOLETE_IDS:
+184 -58
View File
@@ -1,19 +1,19 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- account_do: Plantillas de códigos de impuesto (DGII) - República Dominicana --> <!-- account_do: Tax code templates (DGII) - Dominican Republic -->
<!-- <!--
CONVENCIÓN DE OPERADORES: OPERATOR CONVENTION:
Débitos / obligaciones a DGII → invoice="+", credit="-" Debits / liabilities to DGII → invoice="+", credit="-"
Créditos / reducciones al saldo → invoice="-", credit="+" Tax credits / balance reductions → invoice="-", credit="+"
Retenciones practicadas por la compañía usan tasa negativa y operador "-" Withholdings made by the company use a negative rate and the "-" operator
para presentar la obligación fiscal como valor positivo. to present the tax liability as a positive amount.
Lógica del árbol ITBIS: ITBIS tree logic:
Padre "ITBIS" = Ventas (+) + Compras (-) + Retenciones recibidas (-) = Neto a pagar "ITBIS" parent = Sales (+) + Purchases (-) + Withholdings received (-)
--> -->
<tryton> <tryton>
<data language="en"> <data language="en">
<!-- ===== Árbol de códigos de impuesto ===== --> <!-- ===== Tax code tree ===== -->
<!-- ── ITBIS ───────────────────────────────────────────── --> <!-- ── ITBIS ───────────────────────────────────────────── -->
<record id="do_tc_itbis_en" model="account.tax.code.template"> <record id="do_tc_itbis_en" model="account.tax.code.template">
<field name="name">ITBIS — Net Balance (Debit Credit)</field> <field name="name">ITBIS — Net Balance (Debit Credit)</field>
@@ -35,8 +35,8 @@
<field name="account" ref="do_account_root_en"/> <field name="account" ref="do_account_root_en"/>
<field name="parent" ref="do_tc_itbis_ventas_en"/> <field name="parent" ref="do_tc_itbis_ventas_en"/>
</record> </record>
<!-- Compras con operadores inversos: las líneas usan "-" en invoice para que <!-- Purchase lines use the inverse operator so this code subtracts from
este código sume en negativo y reste del padre ITBIS. --> the parent ITBIS balance. -->
<record id="do_tc_itbis_compras_en" model="account.tax.code.template"> <record id="do_tc_itbis_compras_en" model="account.tax.code.template">
<field name="name">Input ITBIS on Purchases (Tax Credit)</field> <field name="name">Input ITBIS on Purchases (Tax Credit)</field>
<field name="account" ref="do_account_root_en"/> <field name="account" ref="do_account_root_en"/>
@@ -52,13 +52,13 @@
<field name="account" ref="do_account_root_en"/> <field name="account" ref="do_account_root_en"/>
<field name="parent" ref="do_tc_itbis_compras_en"/> <field name="parent" ref="do_tc_itbis_compras_en"/>
</record> </record>
<!-- Retención GC: rate=-5.4%; operador "-" presenta obligación positiva. --> <!-- Large-taxpayer withholding: -5.4% rate; "-" presents a liability. -->
<record id="do_tc_itbis_retenido_en" model="account.tax.code.template"> <record id="do_tc_itbis_retenido_en" model="account.tax.code.template">
<field name="name">ITBIS Withheld by Large Taxpayer (30%)</field> <field name="name">ITBIS Withheld by Large Taxpayer (30%)</field>
<field name="account" ref="do_account_root_en"/> <field name="account" ref="do_account_root_en"/>
<field name="parent" ref="do_tc_itbis_en"/> <field name="parent" ref="do_tc_itbis_en"/>
</record> </record>
<!-- Retenciones ITBIS proveedor informal / servicios: obligaciones fiscales --> <!-- Informal-supplier and service ITBIS withholdings: tax liabilities -->
<record id="do_tc_itbis_ret_informal_en" model="account.tax.code.template"> <record id="do_tc_itbis_ret_informal_en" model="account.tax.code.template">
<field name="name">ITBIS Withheld 100% Taxed Services</field> <field name="name">ITBIS Withheld 100% Taxed Services</field>
<field name="account" ref="do_account_root_en"/> <field name="account" ref="do_account_root_en"/>
@@ -84,14 +84,19 @@
<field name="account" ref="do_account_root_en"/> <field name="account" ref="do_account_root_en"/>
<field name="parent" ref="do_tc_itbis_en"/> <field name="parent" ref="do_tc_itbis_en"/>
</record> </record>
<!-- Tasa cero: seguimiento informativo de la base imponible (amount=base) --> <record id="do_tc_itbis_exempt_en" model="account.tax.code.template">
<field name="name">Exempt ITBIS — Tax Base</field>
<field name="account" ref="do_account_root_en"/>
<field name="parent" ref="do_tc_itbis_en"/>
</record>
<!-- Zero rate: informational tracking of taxable base (amount=base) -->
<record id="do_tc_itbis_tasa_cero_en" model="account.tax.code.template"> <record id="do_tc_itbis_tasa_cero_en" model="account.tax.code.template">
<field name="name">ITBIS Zero Rate — Tax Base (Exports / Free Trade Zone)</field> <field name="name">ITBIS Zero Rate — Tax Base (Exports / Free Trade Zone)</field>
<field name="account" ref="do_account_root_en"/> <field name="account" ref="do_account_root_en"/>
<field name="parent" ref="do_tc_itbis_en"/> <field name="parent" ref="do_tc_itbis_en"/>
</record> </record>
<!-- ── ISR Retenciones ─────────────────────────────────── --> <!-- ── ISR Withholdings ───────────────────────────────── -->
<record id="do_tc_isr_en" model="account.tax.code.template"> <record id="do_tc_isr_en" model="account.tax.code.template">
<field name="name">ISR: Withholdings</field> <field name="name">ISR: Withholdings</field>
<field name="account" ref="do_account_root_en"/> <field name="account" ref="do_account_root_en"/>
@@ -103,7 +108,7 @@
<field name="parent" ref="do_tc_isr_en"/> <field name="parent" ref="do_tc_isr_en"/>
</record> </record>
<record id="do_tc_isr_servicios_en" model="account.tax.code.template"> <record id="do_tc_isr_servicios_en" model="account.tax.code.template">
<field name="name">ISR Withholding Fees 10% (Individuals)</field> <field name="name">ISR Withholding Fees and Services (Individuals)</field>
<field name="account" ref="do_account_root_en"/> <field name="account" ref="do_account_root_en"/>
<field name="parent" ref="do_tc_isr_en"/> <field name="parent" ref="do_tc_isr_en"/>
</record> </record>
@@ -123,7 +128,7 @@
<field name="parent" ref="do_tc_isr_en"/> <field name="parent" ref="do_tc_isr_en"/>
</record> </record>
<record id="do_tc_isr_alquileres_en" model="account.tax.code.template"> <record id="do_tc_isr_alquileres_en" model="account.tax.code.template">
<field name="name">ISR Rental Withholding 10%</field> <field name="name">ISR Rental Withholding (Individuals)</field>
<field name="account" ref="do_account_root_en"/> <field name="account" ref="do_account_root_en"/>
<field name="parent" ref="do_tc_isr_en"/> <field name="parent" ref="do_tc_isr_en"/>
</record> </record>
@@ -148,17 +153,17 @@
<field name="parent" ref="do_tc_isr_en"/> <field name="parent" ref="do_tc_isr_en"/>
</record> </record>
<record id="do_tc_isr_premios_en" model="account.tax.code.template"> <record id="do_tc_isr_premios_en" model="account.tax.code.template">
<field name="name">ISR Withholding Prizes and Lotteries 25% (Art. 321 CT)</field> <field name="name">ISR Withholding Prizes, Lotteries, Raffles and Betting 25%</field>
<field name="account" ref="do_account_root_en"/> <field name="account" ref="do_account_root_en"/>
<field name="parent" ref="do_tc_isr_en"/> <field name="parent" ref="do_tc_isr_en"/>
</record> </record>
<record id="do_tc_isr_premios_tramos_en" model="account.tax.code.template"> <record id="do_tc_isr_premios_tramos_en" model="account.tax.code.template">
<field name="name">ISR Withholding Prizes 10% / 15% and Slots</field> <field name="name">ISR Withholding Betting and Slot-Machine Prizes</field>
<field name="account" ref="do_account_root_en"/> <field name="account" ref="do_account_root_en"/>
<field name="parent" ref="do_tc_isr_en"/> <field name="parent" ref="do_tc_isr_en"/>
</record> </record>
<record id="do_tc_isr_other_income_en" model="account.tax.code.template"> <record id="do_tc_isr_other_income_en" model="account.tax.code.template">
<field name="name">ISR Withholding Other Income 10%</field> <field name="name">ISR Withholding Other Income</field>
<field name="account" ref="do_account_root_en"/> <field name="account" ref="do_account_root_en"/>
<field name="parent" ref="do_tc_isr_en"/> <field name="parent" ref="do_tc_isr_en"/>
</record> </record>
@@ -212,7 +217,7 @@
<field name="parent" eval="None"/> <field name="parent" eval="None"/>
</record> </record>
<!-- ── Otros impuestos ───────────────────────────────── --> <!-- ── Other taxes ───────────────────────────────────── -->
<record id="do_tc_others_en" model="account.tax.code.template"> <record id="do_tc_others_en" model="account.tax.code.template">
<field name="name">Other Taxes and Contributions</field> <field name="name">Other Taxes and Contributions</field>
<field name="account" ref="do_account_root_en"/> <field name="account" ref="do_account_root_en"/>
@@ -244,15 +249,15 @@
<field name="parent" ref="do_tc_others_en"/> <field name="parent" ref="do_tc_others_en"/>
</record> </record>
<!-- ===== Líneas: enlace impuesto → código ===== <!-- ===== Lines: tax-to-code mapping =====
ITBIS Ventas: invoice="+", credit="-" (débito fiscal, crédito revierte) ITBIS sales: invoice="+", credit="-" (tax debit; credit note reverses)
ITBIS Compras: invoice="-", credit="+" (crédito resta del padre; nd. proveedor revierte) ITBIS purchases: invoice="-", credit="+" (subtracts input tax)
Retenciones practicadas: invoice="-", credit="+" (rate negativo → obligación positiva) Withholdings made: invoice="-", credit="+" (negative rate → liability)
Retenciones sufridas: invoice="+", credit="-" (rate negativo → crédito/anticipo) Withholdings suffered: invoice="+", credit="-" (negative rate → credit)
ISC / CDT / Otros: invoice="+", credit="-" (obligaciones) ISC / CDT / Other: invoice="+", credit="-" (liabilities)
===== --> ===== -->
<!-- ITBIS Ventas 18% --> <!-- ITBIS sales 18% -->
<record id="do_tcl_itbis18v_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_itbis18v_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_itbis_ventas_18_en"/> <field name="code" ref="do_tc_itbis_ventas_18_en"/>
<field name="operator">+</field> <field name="operator">+</field>
@@ -268,7 +273,7 @@
<field name="type">credit</field> <field name="type">credit</field>
</record> </record>
<!-- ITBIS Ventas 16% --> <!-- ITBIS sales 16% -->
<record id="do_tcl_itbis16v_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_itbis16v_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_itbis_ventas_16_en"/> <field name="code" ref="do_tc_itbis_ventas_16_en"/>
<field name="operator">+</field> <field name="operator">+</field>
@@ -284,7 +289,7 @@
<field name="type">credit</field> <field name="type">credit</field>
</record> </record>
<!-- ITBIS Compras 18%: invoice="-" para restar del padre --> <!-- ITBIS purchases 18%: invoice="-" subtracts from parent -->
<record id="do_tcl_itbis18c_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_itbis18c_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_itbis_compras_18_en"/> <field name="code" ref="do_tc_itbis_compras_18_en"/>
<field name="operator">-</field> <field name="operator">-</field>
@@ -300,7 +305,7 @@
<field name="type">credit</field> <field name="type">credit</field>
</record> </record>
<!-- ITBIS Compras 16% --> <!-- ITBIS purchases 16% -->
<record id="do_tcl_itbis16c_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_itbis16c_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_itbis_compras_16_en"/> <field name="code" ref="do_tc_itbis_compras_16_en"/>
<field name="operator">-</field> <field name="operator">-</field>
@@ -316,7 +321,7 @@
<field name="type">credit</field> <field name="type">credit</field>
</record> </record>
<!-- ITBIS Retención GC 30%: retención practicada, rate=-5.4% --> <!-- Large-taxpayer ITBIS withholding 30%: rate=-5.4% -->
<record id="do_tcl_ret_itbis_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_ret_itbis_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_itbis_retenido_en"/> <field name="code" ref="do_tc_itbis_retenido_en"/>
<field name="operator">-</field> <field name="operator">-</field>
@@ -332,7 +337,7 @@
<field name="type">credit</field> <field name="type">credit</field>
</record> </record>
<!-- ITBIS Retención 100% Servicios: retención practicada --> <!-- ITBIS withholding 100% on services -->
<record id="do_tcl_ret_itbis_inf_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_ret_itbis_inf_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_itbis_ret_informal_en"/> <field name="code" ref="do_tc_itbis_ret_informal_en"/>
<field name="operator">-</field> <field name="operator">-</field>
@@ -348,7 +353,7 @@
<field name="type">credit</field> <field name="type">credit</field>
</record> </record>
<!-- ITBIS Retención 75% Proveedor Informal: retención practicada --> <!-- ITBIS withholding 75% on informal suppliers -->
<record id="do_tcl_ret_itbis_inf75_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_ret_itbis_inf75_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_itbis_ret_informal_75_en"/> <field name="code" ref="do_tc_itbis_ret_informal_75_en"/>
<field name="operator">-</field> <field name="operator">-</field>
@@ -455,6 +460,13 @@
<field name="amount">tax</field> <field name="amount">tax</field>
<field name="type">invoice</field> <field name="type">invoice</field>
</record> </record>
<record id="do_tcl_ret_itbis_air_cr_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_itbis_ret_sectorial_en"/>
<field name="operator">-</field>
<field name="tax" ref="do_tax_ret_itbis_airline_100_en"/>
<field name="amount">tax</field>
<field name="type">credit</field>
</record>
<record id="do_tcl_ret_itbis_soc_suf_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_ret_itbis_soc_suf_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_itbis_ret_sectorial_en"/> <field name="code" ref="do_tc_itbis_ret_sectorial_en"/>
<field name="operator">+</field> <field name="operator">+</field>
@@ -462,6 +474,13 @@
<field name="amount">tax</field> <field name="amount">tax</field>
<field name="type">invoice</field> <field name="type">invoice</field>
</record> </record>
<record id="do_tcl_ret_itbis_soc_suf_cr_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_itbis_ret_sectorial_en"/>
<field name="operator">-</field>
<field name="tax" ref="do_tax_ret_itbis_society_30_suf_en"/>
<field name="amount">tax</field>
<field name="type">credit</field>
</record>
<record id="do_tcl_ret_itbis_hot_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_ret_itbis_hot_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_itbis_ret_sectorial_en"/> <field name="code" ref="do_tc_itbis_ret_sectorial_en"/>
<field name="operator">+</field> <field name="operator">+</field>
@@ -469,6 +488,13 @@
<field name="amount">tax</field> <field name="amount">tax</field>
<field name="type">invoice</field> <field name="type">invoice</field>
</record> </record>
<record id="do_tcl_ret_itbis_hot_cr_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_itbis_ret_sectorial_en"/>
<field name="operator">-</field>
<field name="tax" ref="do_tax_ret_itbis_hotel_100_en"/>
<field name="amount">tax</field>
<field name="type">credit</field>
</record>
<record id="do_tcl_ret_itbis_state_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_ret_itbis_state_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_itbis_ret_sectorial_en"/> <field name="code" ref="do_tc_itbis_ret_sectorial_en"/>
<field name="operator">+</field> <field name="operator">+</field>
@@ -476,8 +502,31 @@
<field name="amount">tax</field> <field name="amount">tax</field>
<field name="type">invoice</field> <field name="type">invoice</field>
</record> </record>
<record id="do_tcl_ret_itbis_state_cr_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_itbis_ret_sectorial_en"/>
<field name="operator">-</field>
<field name="tax" ref="do_tax_ret_itbis_state_100_en"/>
<field name="amount">tax</field>
<field name="type">credit</field>
</record>
<!-- ITBIS Tasa Cero: seguimiento de base imponible (informativo) --> <!-- Exempt ITBIS: informational taxable-base tracking -->
<record id="do_tcl_itbis_exempt_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_itbis_exempt_en"/>
<field name="operator">+</field>
<field name="tax" ref="do_tax_itbis_exento_en"/>
<field name="amount">base</field>
<field name="type">invoice</field>
</record>
<record id="do_tcl_itbis_exempt_cr_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_itbis_exempt_en"/>
<field name="operator">-</field>
<field name="tax" ref="do_tax_itbis_exento_en"/>
<field name="amount">base</field>
<field name="type">credit</field>
</record>
<!-- Zero-rate ITBIS: informational taxable-base tracking -->
<record id="do_tcl_itbis_tc_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_itbis_tc_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_itbis_tasa_cero_en"/> <field name="code" ref="do_tc_itbis_tasa_cero_en"/>
<field name="operator">+</field> <field name="operator">+</field>
@@ -485,8 +534,15 @@
<field name="amount">base</field> <field name="amount">base</field>
<field name="type">invoice</field> <field name="type">invoice</field>
</record> </record>
<record id="do_tcl_itbis_tc_cr_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_itbis_tasa_cero_en"/>
<field name="operator">-</field>
<field name="tax" ref="do_tax_itbis_tasa_cero_en"/>
<field name="amount">base</field>
<field name="type">credit</field>
</record>
<!-- ISR Honorarios Personas Jurídicas 5% --> <!-- ISR fees paid to legal entities 5% -->
<record id="do_tcl_isr_hon_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_isr_hon_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_honorarios_en"/> <field name="code" ref="do_tc_isr_honorarios_en"/>
<field name="operator">-</field> <field name="operator">-</field>
@@ -502,7 +558,7 @@
<field name="type">credit</field> <field name="type">credit</field>
</record> </record>
<!-- ISR Honorarios Personas Físicas 10% --> <!-- ISR fees paid to individuals 10% -->
<record id="do_tcl_isr_serv_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_isr_serv_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_servicios_en"/> <field name="code" ref="do_tc_isr_servicios_en"/>
<field name="operator">-</field> <field name="operator">-</field>
@@ -517,8 +573,22 @@
<field name="amount">tax</field> <field name="amount">tax</field>
<field name="type">credit</field> <field name="type">credit</field>
</record> </record>
<record id="do_tcl_isr_serv15_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_servicios_en"/>
<field name="operator">-</field>
<field name="tax" ref="do_tax_ret_isr_serv_15_en"/>
<field name="amount">tax</field>
<field name="type">invoice</field>
</record>
<record id="do_tcl_isr_serv15_cr_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_servicios_en"/>
<field name="operator">+</field>
<field name="tax" ref="do_tax_ret_isr_serv_15_en"/>
<field name="amount">tax</field>
<field name="type">credit</field>
</record>
<!-- ISR Dividendos 10% --> <!-- ISR dividends 10% -->
<record id="do_tcl_isr_div_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_isr_div_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_dividendos_en"/> <field name="code" ref="do_tc_isr_dividendos_en"/>
<field name="operator">-</field> <field name="operator">-</field>
@@ -534,7 +604,7 @@
<field name="type">credit</field> <field name="type">credit</field>
</record> </record>
<!-- ISR Intereses Persona Física 10% --> <!-- ISR interest paid to individuals 10% -->
<record id="do_tcl_isr_int_pf_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_isr_int_pf_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_intereses_pf_en"/> <field name="code" ref="do_tc_isr_intereses_pf_en"/>
<field name="operator">-</field> <field name="operator">-</field>
@@ -550,7 +620,7 @@
<field name="type">credit</field> <field name="type">credit</field>
</record> </record>
<!-- ISR Intereses Persona Jurídica 1% --> <!-- ISR interest paid to legal entities 1% -->
<record id="do_tcl_isr_int_pj_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_isr_int_pj_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_intereses_en"/> <field name="code" ref="do_tc_isr_intereses_en"/>
<field name="operator">-</field> <field name="operator">-</field>
@@ -566,7 +636,7 @@
<field name="type">credit</field> <field name="type">credit</field>
</record> </record>
<!-- ISR Alquileres 10% --> <!-- ISR rentals 10% -->
<record id="do_tcl_isr_alq_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_isr_alq_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_alquileres_en"/> <field name="code" ref="do_tc_isr_alquileres_en"/>
<field name="operator">-</field> <field name="operator">-</field>
@@ -581,8 +651,22 @@
<field name="amount">tax</field> <field name="amount">tax</field>
<field name="type">credit</field> <field name="type">credit</field>
</record> </record>
<record id="do_tcl_isr_alq15_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_alquileres_en"/>
<field name="operator">-</field>
<field name="tax" ref="do_tax_ret_isr_alq_15_en"/>
<field name="amount">tax</field>
<field name="type">invoice</field>
</record>
<record id="do_tcl_isr_alq15_cr_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_alquileres_en"/>
<field name="operator">+</field>
<field name="tax" ref="do_tax_ret_isr_alq_15_en"/>
<field name="amount">tax</field>
<field name="type">credit</field>
</record>
<!-- ISR Estado 1.5% --> <!-- ISR state payments 1.5% -->
<record id="do_tcl_isr_est_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_isr_est_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_gobierno_en"/> <field name="code" ref="do_tc_isr_gobierno_en"/>
<field name="operator">+</field> <field name="operator">+</field>
@@ -598,7 +682,7 @@
<field name="type">credit</field> <field name="type">credit</field>
</record> </record>
<!-- ISR Estado 5%: retención sufrida --> <!-- ISR state payments 5%: withholding suffered -->
<record id="do_tcl_isr_est5_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_isr_est5_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_gobierno_5_en"/> <field name="code" ref="do_tc_isr_gobierno_5_en"/>
<field name="operator">+</field> <field name="operator">+</field>
@@ -614,7 +698,7 @@
<field name="type">credit</field> <field name="type">credit</field>
</record> </record>
<!-- ISR Ganadería/Carne Bovina 1%: retención practicada --> <!-- ISR livestock/beef 1%: withholding made -->
<record id="do_tcl_isr_bovine_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_isr_bovine_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_bovine_en"/> <field name="code" ref="do_tc_isr_bovine_en"/>
<field name="operator">-</field> <field name="operator">-</field>
@@ -630,7 +714,7 @@
<field name="type">credit</field> <field name="type">credit</field>
</record> </record>
<!-- ISR Exportadores 2.5%: retención sufrida --> <!-- ISR exporters 2.5%: withholding suffered -->
<record id="do_tcl_isr_exporter_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_isr_exporter_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_exporter_en"/> <field name="code" ref="do_tc_isr_exporter_en"/>
<field name="operator">+</field> <field name="operator">+</field>
@@ -646,7 +730,7 @@
<field name="type">credit</field> <field name="type">credit</field>
</record> </record>
<!-- ISR Premios 25% --> <!-- ISR prizes 25% -->
<record id="do_tcl_isr_prem_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_isr_prem_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_premios_en"/> <field name="code" ref="do_tc_isr_premios_en"/>
<field name="operator">-</field> <field name="operator">-</field>
@@ -704,6 +788,34 @@
<field name="amount">tax</field> <field name="amount">tax</field>
<field name="type">credit</field> <field name="type">credit</field>
</record> </record>
<record id="do_tcl_isr_betting15_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_premios_tramos_en"/>
<field name="operator">-</field>
<field name="tax" ref="do_tax_ret_isr_betting_15_en"/>
<field name="amount">tax</field>
<field name="type">invoice</field>
</record>
<record id="do_tcl_isr_betting15_cr_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_premios_tramos_en"/>
<field name="operator">+</field>
<field name="tax" ref="do_tax_ret_isr_betting_15_en"/>
<field name="amount">tax</field>
<field name="type">credit</field>
</record>
<record id="do_tcl_isr_trag15_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_premios_tramos_en"/>
<field name="operator">-</field>
<field name="tax" ref="do_tax_ret_isr_tragamonedas_15_en"/>
<field name="amount">tax</field>
<field name="type">invoice</field>
</record>
<record id="do_tcl_isr_trag15_cr_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_premios_tramos_en"/>
<field name="operator">+</field>
<field name="tax" ref="do_tax_ret_isr_tragamonedas_15_en"/>
<field name="amount">tax</field>
<field name="type">credit</field>
</record>
<record id="do_tcl_isr_other10_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_isr_other10_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_other_income_en"/> <field name="code" ref="do_tc_isr_other_income_en"/>
<field name="operator">-</field> <field name="operator">-</field>
@@ -718,8 +830,22 @@
<field name="amount">tax</field> <field name="amount">tax</field>
<field name="type">credit</field> <field name="type">credit</field>
</record> </record>
<record id="do_tcl_isr_other15_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_other_income_en"/>
<field name="operator">-</field>
<field name="tax" ref="do_tax_ret_isr_other_income_15_en"/>
<field name="amount">tax</field>
<field name="type">invoice</field>
</record>
<record id="do_tcl_isr_other15_cr_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_other_income_en"/>
<field name="operator">+</field>
<field name="tax" ref="do_tax_ret_isr_other_income_15_en"/>
<field name="amount">tax</field>
<field name="type">credit</field>
</record>
<!-- ISR Exterior 27% --> <!-- Foreign-payment ISR 27% -->
<record id="do_tcl_isr_ext27_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_isr_ext27_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_ext_en"/> <field name="code" ref="do_tc_isr_ext_en"/>
<field name="operator">-</field> <field name="operator">-</field>
@@ -735,7 +861,7 @@
<field name="type">credit</field> <field name="type">credit</field>
</record> </record>
<!-- ISR Exterior 15% --> <!-- Foreign-payment ISR 15% -->
<record id="do_tcl_isr_ext15_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_isr_ext15_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_ext_en"/> <field name="code" ref="do_tc_isr_ext_en"/>
<field name="operator">-</field> <field name="operator">-</field>
@@ -751,7 +877,7 @@
<field name="type">credit</field> <field name="type">credit</field>
</record> </record>
<!-- ISR Exterior 10% --> <!-- Foreign-payment ISR 10% -->
<record id="do_tcl_isr_ext10_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_isr_ext10_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_ext_en"/> <field name="code" ref="do_tc_isr_ext_en"/>
<field name="operator">-</field> <field name="operator">-</field>
@@ -767,7 +893,7 @@
<field name="type">credit</field> <field name="type">credit</field>
</record> </record>
<!-- ISC Bebidas alcohólicas --> <!-- ISC alcoholic beverages -->
<record id="do_tcl_isc_beb_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_isc_beb_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isc_bebidas_en"/> <field name="code" ref="do_tc_isc_bebidas_en"/>
<field name="operator">+</field> <field name="operator">+</field>
@@ -783,7 +909,7 @@
<field name="type">credit</field> <field name="type">credit</field>
</record> </record>
<!-- ISC Tabaco --> <!-- ISC tobacco -->
<record id="do_tcl_isc_tab_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_isc_tab_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isc_tabaco_en"/> <field name="code" ref="do_tc_isc_tabaco_en"/>
<field name="operator">+</field> <field name="operator">+</field>
@@ -799,7 +925,7 @@
<field name="type">credit</field> <field name="type">credit</field>
</record> </record>
<!-- ISC Telecomunicaciones --> <!-- ISC telecommunications -->
<record id="do_tcl_isc_tel_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_isc_tel_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isc_telecom_en"/> <field name="code" ref="do_tc_isc_telecom_en"/>
<field name="operator">+</field> <field name="operator">+</field>
@@ -815,7 +941,7 @@
<field name="type">credit</field> <field name="type">credit</field>
</record> </record>
<!-- ISC Combustibles Fósiles --> <!-- ISC fossil fuels -->
<record id="do_tcl_isc_comb_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_isc_comb_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isc_combustibles_en"/> <field name="code" ref="do_tc_isc_combustibles_en"/>
<field name="operator">+</field> <field name="operator">+</field>
@@ -874,7 +1000,7 @@
<field name="type">credit</field> <field name="type">credit</field>
</record> </record>
<!-- ISC Vehículos --> <!-- ISC vehicles -->
<record id="do_tcl_isc_veh_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_isc_veh_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isc_vehiculos_en"/> <field name="code" ref="do_tc_isc_vehiculos_en"/>
<field name="operator">+</field> <field name="operator">+</field>
@@ -906,7 +1032,7 @@
<field name="type">credit</field> <field name="type">credit</field>
</record> </record>
<!-- Propina Legal --> <!-- Legal service charge -->
<record id="do_tcl_prop_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_prop_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_others_tip_en"/> <field name="code" ref="do_tc_others_tip_en"/>
<field name="operator">+</field> <field name="operator">+</field>
@@ -922,7 +1048,7 @@
<field name="type">credit</field> <field name="type">credit</field>
</record> </record>
<!-- Impuesto Cheques y Transferencias --> <!-- Tax on checks and transfers -->
<record id="do_tcl_chq_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_chq_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_others_checks_en"/> <field name="code" ref="do_tc_others_checks_en"/>
<field name="operator">+</field> <field name="operator">+</field>
@@ -952,7 +1078,7 @@
<field name="type">credit</field> <field name="type">credit</field>
</record> </record>
<!-- Impuesto Mínimo a los Activos --> <!-- Asset tax -->
<record id="do_tcl_act_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_act_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_others_assets_en"/> <field name="code" ref="do_tc_others_assets_en"/>
<field name="operator">+</field> <field name="operator">+</field>
@@ -968,7 +1094,7 @@
<field name="type">credit</field> <field name="type">credit</field>
</record> </record>
<!-- Impuesto sobre Transferencia Inmobiliaria --> <!-- Real-estate transfer tax -->
<record id="do_tcl_iti_inv_en" model="account.tax.code.line.template"> <record id="do_tcl_iti_inv_en" model="account.tax.code.line.template">
<field name="code" ref="do_tc_others_iti_en"/> <field name="code" ref="do_tc_others_iti_en"/>
<field name="operator">+</field> <field name="operator">+</field>
+129 -5
View File
@@ -66,6 +66,11 @@
<field name="account" ref="do_account_root_es_419" /> <field name="account" ref="do_account_root_es_419" />
<field name="parent" ref="do_tc_itbis_es_419" /> <field name="parent" ref="do_tc_itbis_es_419" />
</record> </record>
<record id="do_tc_itbis_exempt_es_419" model="account.tax.code.template">
<field name="name">ITBIS Exento — Base Imponible</field>
<field name="account" ref="do_account_root_es_419" />
<field name="parent" ref="do_tc_itbis_es_419" />
</record>
<record id="do_tc_itbis_tasa_cero_es_419" model="account.tax.code.template"> <record id="do_tc_itbis_tasa_cero_es_419" model="account.tax.code.template">
<field name="name">ITBIS Tasa Cero — Base Imponible (Exportaciones / Zona Franca)</field> <field name="name">ITBIS Tasa Cero — Base Imponible (Exportaciones / Zona Franca)</field>
<field name="account" ref="do_account_root_es_419" /> <field name="account" ref="do_account_root_es_419" />
@@ -82,7 +87,7 @@
<field name="parent" ref="do_tc_isr_es_419" /> <field name="parent" ref="do_tc_isr_es_419" />
</record> </record>
<record id="do_tc_isr_servicios_es_419" model="account.tax.code.template"> <record id="do_tc_isr_servicios_es_419" model="account.tax.code.template">
<field name="name">Retención ISR Honorarios 10% (Personas Físicas)</field> <field name="name">Retención ISR Honorarios y Servicios (Personas Físicas)</field>
<field name="account" ref="do_account_root_es_419" /> <field name="account" ref="do_account_root_es_419" />
<field name="parent" ref="do_tc_isr_es_419" /> <field name="parent" ref="do_tc_isr_es_419" />
</record> </record>
@@ -102,7 +107,7 @@
<field name="parent" ref="do_tc_isr_es_419" /> <field name="parent" ref="do_tc_isr_es_419" />
</record> </record>
<record id="do_tc_isr_alquileres_es_419" model="account.tax.code.template"> <record id="do_tc_isr_alquileres_es_419" model="account.tax.code.template">
<field name="name">Retención ISR Alquileres 10%</field> <field name="name">Retención ISR Alquileres (Personas Físicas)</field>
<field name="account" ref="do_account_root_es_419" /> <field name="account" ref="do_account_root_es_419" />
<field name="parent" ref="do_tc_isr_es_419" /> <field name="parent" ref="do_tc_isr_es_419" />
</record> </record>
@@ -127,17 +132,17 @@
<field name="parent" ref="do_tc_isr_es_419" /> <field name="parent" ref="do_tc_isr_es_419" />
</record> </record>
<record id="do_tc_isr_premios_es_419" model="account.tax.code.template"> <record id="do_tc_isr_premios_es_419" model="account.tax.code.template">
<field name="name">Retención ISR Premios y Loterías 25% (Art. 321 CT)</field> <field name="name">Retención ISR Premios, Loterías, Rifas y Apuestas 25%</field>
<field name="account" ref="do_account_root_es_419" /> <field name="account" ref="do_account_root_es_419" />
<field name="parent" ref="do_tc_isr_es_419" /> <field name="parent" ref="do_tc_isr_es_419" />
</record> </record>
<record id="do_tc_isr_premios_tramos_es_419" model="account.tax.code.template"> <record id="do_tc_isr_premios_tramos_es_419" model="account.tax.code.template">
<field name="name">Retención ISR Premios 10% / 15% y Tragamonedas</field> <field name="name">Retención ISR Premios de Apuestas y Tragamonedas</field>
<field name="account" ref="do_account_root_es_419" /> <field name="account" ref="do_account_root_es_419" />
<field name="parent" ref="do_tc_isr_es_419" /> <field name="parent" ref="do_tc_isr_es_419" />
</record> </record>
<record id="do_tc_isr_other_income_es_419" model="account.tax.code.template"> <record id="do_tc_isr_other_income_es_419" model="account.tax.code.template">
<field name="name">Retención ISR Otras Rentas 10%</field> <field name="name">Retención ISR Otras Rentas</field>
<field name="account" ref="do_account_root_es_419" /> <field name="account" ref="do_account_root_es_419" />
<field name="parent" ref="do_tc_isr_es_419" /> <field name="parent" ref="do_tc_isr_es_419" />
</record> </record>
@@ -405,6 +410,13 @@
<field name="amount">tax</field> <field name="amount">tax</field>
<field name="type">invoice</field> <field name="type">invoice</field>
</record> </record>
<record id="do_tcl_ret_itbis_air_cr_es_419" model="account.tax.code.line.template">
<field name="code" ref="do_tc_itbis_ret_sectorial_es_419" />
<field name="operator">-</field>
<field name="tax" ref="do_tax_ret_itbis_airline_100_es_419" />
<field name="amount">tax</field>
<field name="type">credit</field>
</record>
<record id="do_tcl_ret_itbis_soc_suf_inv_es_419" model="account.tax.code.line.template"> <record id="do_tcl_ret_itbis_soc_suf_inv_es_419" model="account.tax.code.line.template">
<field name="code" ref="do_tc_itbis_ret_sectorial_es_419" /> <field name="code" ref="do_tc_itbis_ret_sectorial_es_419" />
<field name="operator">+</field> <field name="operator">+</field>
@@ -412,6 +424,13 @@
<field name="amount">tax</field> <field name="amount">tax</field>
<field name="type">invoice</field> <field name="type">invoice</field>
</record> </record>
<record id="do_tcl_ret_itbis_soc_suf_cr_es_419" model="account.tax.code.line.template">
<field name="code" ref="do_tc_itbis_ret_sectorial_es_419" />
<field name="operator">-</field>
<field name="tax" ref="do_tax_ret_itbis_society_30_suf_es_419" />
<field name="amount">tax</field>
<field name="type">credit</field>
</record>
<record id="do_tcl_ret_itbis_hot_inv_es_419" model="account.tax.code.line.template"> <record id="do_tcl_ret_itbis_hot_inv_es_419" model="account.tax.code.line.template">
<field name="code" ref="do_tc_itbis_ret_sectorial_es_419" /> <field name="code" ref="do_tc_itbis_ret_sectorial_es_419" />
<field name="operator">+</field> <field name="operator">+</field>
@@ -419,6 +438,13 @@
<field name="amount">tax</field> <field name="amount">tax</field>
<field name="type">invoice</field> <field name="type">invoice</field>
</record> </record>
<record id="do_tcl_ret_itbis_hot_cr_es_419" model="account.tax.code.line.template">
<field name="code" ref="do_tc_itbis_ret_sectorial_es_419" />
<field name="operator">-</field>
<field name="tax" ref="do_tax_ret_itbis_hotel_100_es_419" />
<field name="amount">tax</field>
<field name="type">credit</field>
</record>
<record id="do_tcl_ret_itbis_state_inv_es_419" model="account.tax.code.line.template"> <record id="do_tcl_ret_itbis_state_inv_es_419" model="account.tax.code.line.template">
<field name="code" ref="do_tc_itbis_ret_sectorial_es_419" /> <field name="code" ref="do_tc_itbis_ret_sectorial_es_419" />
<field name="operator">+</field> <field name="operator">+</field>
@@ -426,6 +452,13 @@
<field name="amount">tax</field> <field name="amount">tax</field>
<field name="type">invoice</field> <field name="type">invoice</field>
</record> </record>
<record id="do_tcl_ret_itbis_state_cr_es_419" model="account.tax.code.line.template">
<field name="code" ref="do_tc_itbis_ret_sectorial_es_419" />
<field name="operator">-</field>
<field name="tax" ref="do_tax_ret_itbis_state_100_es_419" />
<field name="amount">tax</field>
<field name="type">credit</field>
</record>
<record id="do_tcl_itbis_tc_inv_es_419" model="account.tax.code.line.template"> <record id="do_tcl_itbis_tc_inv_es_419" model="account.tax.code.line.template">
<field name="code" ref="do_tc_itbis_tasa_cero_es_419" /> <field name="code" ref="do_tc_itbis_tasa_cero_es_419" />
<field name="operator">+</field> <field name="operator">+</field>
@@ -433,6 +466,27 @@
<field name="amount">base</field> <field name="amount">base</field>
<field name="type">invoice</field> <field name="type">invoice</field>
</record> </record>
<record id="do_tcl_itbis_tc_cr_es_419" model="account.tax.code.line.template">
<field name="code" ref="do_tc_itbis_tasa_cero_es_419" />
<field name="operator">-</field>
<field name="tax" ref="do_tax_itbis_tasa_cero_es_419" />
<field name="amount">base</field>
<field name="type">credit</field>
</record>
<record id="do_tcl_itbis_exempt_inv_es_419" model="account.tax.code.line.template">
<field name="code" ref="do_tc_itbis_exempt_es_419" />
<field name="operator">+</field>
<field name="tax" ref="do_tax_itbis_exento_es_419" />
<field name="amount">base</field>
<field name="type">invoice</field>
</record>
<record id="do_tcl_itbis_exempt_cr_es_419" model="account.tax.code.line.template">
<field name="code" ref="do_tc_itbis_exempt_es_419" />
<field name="operator">-</field>
<field name="tax" ref="do_tax_itbis_exento_es_419" />
<field name="amount">base</field>
<field name="type">credit</field>
</record>
<record id="do_tcl_isr_hon_inv_es_419" model="account.tax.code.line.template"> <record id="do_tcl_isr_hon_inv_es_419" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_honorarios_es_419" /> <field name="code" ref="do_tc_isr_honorarios_es_419" />
<field name="operator">-</field> <field name="operator">-</field>
@@ -461,6 +515,20 @@
<field name="amount">tax</field> <field name="amount">tax</field>
<field name="type">credit</field> <field name="type">credit</field>
</record> </record>
<record id="do_tcl_isr_serv15_inv_es_419" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_servicios_es_419" />
<field name="operator">-</field>
<field name="tax" ref="do_tax_ret_isr_serv_15_es_419" />
<field name="amount">tax</field>
<field name="type">invoice</field>
</record>
<record id="do_tcl_isr_serv15_cr_es_419" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_servicios_es_419" />
<field name="operator">+</field>
<field name="tax" ref="do_tax_ret_isr_serv_15_es_419" />
<field name="amount">tax</field>
<field name="type">credit</field>
</record>
<record id="do_tcl_isr_div_inv_es_419" model="account.tax.code.line.template"> <record id="do_tcl_isr_div_inv_es_419" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_dividendos_es_419" /> <field name="code" ref="do_tc_isr_dividendos_es_419" />
<field name="operator">-</field> <field name="operator">-</field>
@@ -517,6 +585,20 @@
<field name="amount">tax</field> <field name="amount">tax</field>
<field name="type">credit</field> <field name="type">credit</field>
</record> </record>
<record id="do_tcl_isr_alq15_inv_es_419" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_alquileres_es_419" />
<field name="operator">-</field>
<field name="tax" ref="do_tax_ret_isr_alq_15_es_419" />
<field name="amount">tax</field>
<field name="type">invoice</field>
</record>
<record id="do_tcl_isr_alq15_cr_es_419" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_alquileres_es_419" />
<field name="operator">+</field>
<field name="tax" ref="do_tax_ret_isr_alq_15_es_419" />
<field name="amount">tax</field>
<field name="type">credit</field>
</record>
<record id="do_tcl_isr_est_inv_es_419" model="account.tax.code.line.template"> <record id="do_tcl_isr_est_inv_es_419" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_gobierno_es_419" /> <field name="code" ref="do_tc_isr_gobierno_es_419" />
<field name="operator">+</field> <field name="operator">+</field>
@@ -629,6 +711,34 @@
<field name="amount">tax</field> <field name="amount">tax</field>
<field name="type">credit</field> <field name="type">credit</field>
</record> </record>
<record id="do_tcl_isr_betting15_inv_es_419" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_premios_tramos_es_419" />
<field name="operator">-</field>
<field name="tax" ref="do_tax_ret_isr_betting_15_es_419" />
<field name="amount">tax</field>
<field name="type">invoice</field>
</record>
<record id="do_tcl_isr_betting15_cr_es_419" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_premios_tramos_es_419" />
<field name="operator">+</field>
<field name="tax" ref="do_tax_ret_isr_betting_15_es_419" />
<field name="amount">tax</field>
<field name="type">credit</field>
</record>
<record id="do_tcl_isr_trag15_inv_es_419" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_premios_tramos_es_419" />
<field name="operator">-</field>
<field name="tax" ref="do_tax_ret_isr_tragamonedas_15_es_419" />
<field name="amount">tax</field>
<field name="type">invoice</field>
</record>
<record id="do_tcl_isr_trag15_cr_es_419" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_premios_tramos_es_419" />
<field name="operator">+</field>
<field name="tax" ref="do_tax_ret_isr_tragamonedas_15_es_419" />
<field name="amount">tax</field>
<field name="type">credit</field>
</record>
<record id="do_tcl_isr_other10_inv_es_419" model="account.tax.code.line.template"> <record id="do_tcl_isr_other10_inv_es_419" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_other_income_es_419" /> <field name="code" ref="do_tc_isr_other_income_es_419" />
<field name="operator">-</field> <field name="operator">-</field>
@@ -643,6 +753,20 @@
<field name="amount">tax</field> <field name="amount">tax</field>
<field name="type">credit</field> <field name="type">credit</field>
</record> </record>
<record id="do_tcl_isr_other15_inv_es_419" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_other_income_es_419" />
<field name="operator">-</field>
<field name="tax" ref="do_tax_ret_isr_other_income_15_es_419" />
<field name="amount">tax</field>
<field name="type">invoice</field>
</record>
<record id="do_tcl_isr_other15_cr_es_419" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_other_income_es_419" />
<field name="operator">+</field>
<field name="tax" ref="do_tax_ret_isr_other_income_15_es_419" />
<field name="amount">tax</field>
<field name="type">credit</field>
</record>
<record id="do_tcl_isr_ext27_inv_es_419" model="account.tax.code.line.template"> <record id="do_tcl_isr_ext27_inv_es_419" model="account.tax.code.line.template">
<field name="code" ref="do_tc_isr_ext_es_419" /> <field name="code" ref="do_tc_isr_ext_es_419" />
<field name="operator">-</field> <field name="operator">-</field>
+97 -32
View File
@@ -1,7 +1,7 @@
<?xml version='1.0' encoding='utf-8'?> <?xml version='1.0' encoding='utf-8'?>
<tryton> <tryton>
<data language="en"> <data language="en">
<!-- ===== Grupos de impuestos ===== --> <!-- ===== Tax groups ===== -->
<record id="do_tax_group_itbis_en" model="account.tax.group"> <record id="do_tax_group_itbis_en" model="account.tax.group">
<field name="name">ITBIS</field> <field name="name">ITBIS</field>
<field name="code">ITBIS</field> <field name="code">ITBIS</field>
@@ -34,11 +34,11 @@
</record> </record>
</data> </data>
<data language="en"> <data language="en">
<!-- ===== Impuestos ===== --> <!-- ===== Taxes ===== -->
<!-- invoice_account / credit_note_account → accounts from account_chart_do_en.xml --> <!-- invoice_account / credit_note_account → accounts from account_chart_do_en.xml -->
<!-- description: texto corto visible en líneas de factura --> <!-- description: short text displayed on invoice lines -->
<!-- legal_notice: cita legal (~72 caracteres) — ver IMPUESTOS_RD.md --> <!-- legal_notice: concise legal citation -->
<!-- ══════ ITBIS — Arts. 335-392 CT Ley 11-92; Decreto 293-11 ══════ --> <!-- ══════ ITBIS — Tax Code Arts. 335-392; Decree 293-11 ══════ -->
<record id="do_tax_itbis_18_venta_en" model="account.tax.template"> <record id="do_tax_itbis_18_venta_en" model="account.tax.template">
<field name="name">ITBIS 18% — Sales (Legal and Natural Persons)</field> <field name="name">ITBIS 18% — Sales (Legal and Natural Persons)</field>
<field name="description">ITBIS 18% Sales</field> <field name="description">ITBIS 18% Sales</field>
@@ -102,7 +102,7 @@
<field name="credit_note_account" ref="do_account_21020105_en" /> <field name="credit_note_account" ref="do_account_21020105_en" />
<field name="legal_notice">Tax Code Art. 342; Laws 557-05 and 8-90; DGII General Rule 05-19</field> <field name="legal_notice">Tax Code Art. 342; Laws 557-05 and 8-90; DGII General Rule 05-19</field>
</record> </record>
<!-- Retención ITBIS 30% Gran Contribuyente: tasa negativa (-5.4%) = 30% × 18% sobre la base --> <!-- Large-taxpayer ITBIS withholding: -5.4% of base = 30% of 18% -->
<record id="do_tax_ret_itbis_30_en" model="account.tax.template"> <record id="do_tax_ret_itbis_30_en" model="account.tax.template">
<field name="name">ITBIS Withholding 30% — Large Taxpayer Agent (Legal and Natural Persons)</field> <field name="name">ITBIS Withholding 30% — Large Taxpayer Agent (Legal and Natural Persons)</field>
<field name="description">ITBIS Withholding Large Taxpayer 30%</field> <field name="description">ITBIS Withholding Large Taxpayer 30%</field>
@@ -114,7 +114,7 @@
<field name="credit_note_account" ref="do_account_21021101_en" /> <field name="credit_note_account" ref="do_account_21021101_en" />
<field name="legal_notice">DGII General Rule 01-11; Tax Code Arts. 309 and 337 — large taxpayers</field> <field name="legal_notice">DGII General Rule 01-11; Tax Code Arts. 309 and 337 — large taxpayers</field>
</record> </record>
<!-- ══════ ISR RETENCIONES — Arts. 307-309 CT Ley 11-92; Decreto 95-12 ══════ --> <!-- ══════ ISR WITHHOLDINGS — Tax Code Arts. 307-309; Decree 95-12 ══════ -->
<record id="do_tax_ret_isr_hon_5_en" model="account.tax.template"> <record id="do_tax_ret_isr_hon_5_en" model="account.tax.template">
<field name="name">ISR Withholding 5% — Fees and Services to Legal Entities</field> <field name="name">ISR Withholding 5% — Fees and Services to Legal Entities</field>
<field name="description">ISR Withholding Legal Entity 5%</field> <field name="description">ISR Withholding Legal Entity 5%</field>
@@ -131,12 +131,25 @@
<field name="description">ISR Withholding Individual 10%</field> <field name="description">ISR Withholding Individual 10%</field>
<field name="type">percentage</field> <field name="type">percentage</field>
<field name="rate" eval="Decimal('-10')/100" /> <field name="rate" eval="Decimal('-10')/100" />
<field name="end_date" eval="datetime.date(2026, 6, 30)" />
<field name="group" ref="do_tax_group_isr_en" /> <field name="group" ref="do_tax_group_isr_en" />
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21021302_en" /> <field name="invoice_account" ref="do_account_21021302_en" />
<field name="credit_note_account" ref="do_account_21021302_en" /> <field name="credit_note_account" ref="do_account_21021302_en" />
<field name="legal_notice">Tax Code Art. 309; Decree 95-12 — fees paid to individuals</field> <field name="legal_notice">Tax Code Art. 309; Decree 95-12 — fees paid to individuals</field>
</record> </record>
<record id="do_tax_ret_isr_serv_15_en" model="account.tax.template">
<field name="name">ISR Withholding 15% — Fees and Services Provided by Individuals</field>
<field name="description">ISR Withholding Individual 15%</field>
<field name="type">percentage</field>
<field name="rate" eval="Decimal('-15')/100" />
<field name="start_date" eval="datetime.date(2026, 7, 1)" />
<field name="group" ref="do_tax_group_isr_en" />
<field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21021303_en" />
<field name="credit_note_account" ref="do_account_21021303_en" />
<field name="legal_notice">Tax Code Art. 309(b), amended by Law 30-26 Art. 17 — services provided by individuals</field>
</record>
<record id="do_tax_ret_isr_div_10_en" model="account.tax.template"> <record id="do_tax_ret_isr_div_10_en" model="account.tax.template">
<field name="name">ISR Withholding 10% — Dividends and Distributed Profits (Individuals and Legal Entities)</field> <field name="name">ISR Withholding 10% — Dividends and Distributed Profits (Individuals and Legal Entities)</field>
<field name="description">ISR Withholding Dividends 10%</field> <field name="description">ISR Withholding Dividends 10%</field>
@@ -164,12 +177,25 @@
<field name="description">ISR Rental Withholding 10%</field> <field name="description">ISR Rental Withholding 10%</field>
<field name="type">percentage</field> <field name="type">percentage</field>
<field name="rate" eval="Decimal('-10')/100" /> <field name="rate" eval="Decimal('-10')/100" />
<field name="end_date" eval="datetime.date(2026, 6, 30)" />
<field name="group" ref="do_tax_group_isr_en" /> <field name="group" ref="do_tax_group_isr_en" />
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21021401_en" /> <field name="invoice_account" ref="do_account_21021401_en" />
<field name="credit_note_account" ref="do_account_21021401_en" /> <field name="credit_note_account" ref="do_account_21021401_en" />
<field name="legal_notice">Tax Code Art. 309; DGII General Rule 08-11 — rentals and leases</field> <field name="legal_notice">Tax Code Art. 309; DGII General Rule 08-11 — rentals and leases</field>
</record> </record>
<record id="do_tax_ret_isr_alq_15_en" model="account.tax.template">
<field name="name">ISR Withholding 15% — Rentals and Leases Provided by Individuals</field>
<field name="description">ISR Rental Withholding 15%</field>
<field name="type">percentage</field>
<field name="rate" eval="Decimal('-15')/100" />
<field name="start_date" eval="datetime.date(2026, 7, 1)" />
<field name="group" ref="do_tax_group_isr_en" />
<field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21021402_en" />
<field name="credit_note_account" ref="do_account_21021402_en" />
<field name="legal_notice">Tax Code Art. 309(a), amended by Law 30-26 Art. 17 — rentals provided by individuals</field>
</record>
<record id="do_tax_ret_isr_est_15_en" model="account.tax.template"> <record id="do_tax_ret_isr_est_15_en" model="account.tax.template">
<field name="name">ISR Withholding 1.5% — State/Public Sector Payments (Natural and Legal Persons)</field> <field name="name">ISR Withholding 1.5% — State/Public Sector Payments (Natural and Legal Persons)</field>
<field name="description">ISR Withholding State 1.5%</field> <field name="description">ISR Withholding State 1.5%</field>
@@ -227,7 +253,7 @@
<field name="legal_notice">DGII General Rule 07-19; Tax Code Art. 306 bis — interest paid to legal entities</field> <field name="legal_notice">DGII General Rule 07-19; Tax Code Art. 306 bis — interest paid to legal entities</field>
</record> </record>
<record id="do_tax_ret_isr_premios_25_en" model="account.tax.template"> <record id="do_tax_ret_isr_premios_25_en" model="account.tax.template">
<field name="name">ISR Withholding 25% — Lottery Prizes, Draws and Raffles (Natural and Legal Persons)</field> <field name="name">ISR Withholding 25% — Prizes, Lotteries, Raffles and Betting</field>
<field name="description">ISR Withholding on Prizes 25%</field> <field name="description">ISR Withholding on Prizes 25%</field>
<field name="type">percentage</field> <field name="type">percentage</field>
<field name="rate" eval="Decimal('-25')/100" /> <field name="rate" eval="Decimal('-25')/100" />
@@ -235,13 +261,14 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21021701_en" /> <field name="invoice_account" ref="do_account_21021701_en" />
<field name="credit_note_account" ref="do_account_21021701_en" /> <field name="credit_note_account" ref="do_account_21021701_en" />
<field name="legal_notice">Tax Code Art. 321; Decree 95-12 — prizes and lotteries, final payment</field> <field name="legal_notice">Tax Code Art. 309(c), amended by Law 30-26 Art. 17 — prizes in general and betting prizes above RD$600,000</field>
</record> </record>
<record id="do_tax_ret_isr_premios_10_en" model="account.tax.template"> <record id="do_tax_ret_isr_premios_10_en" model="account.tax.template">
<field name="name">ISR Withholding 10% — Awards RD$100,001 to RD$500,000</field> <field name="name">ISR Withholding 10% — Awards RD$100,001 to RD$500,000</field>
<field name="description">ISR Withholding on Prizes 10%</field> <field name="description">ISR Withholding on Prizes 10%</field>
<field name="type">percentage</field> <field name="type">percentage</field>
<field name="rate" eval="Decimal('-10')/100" /> <field name="rate" eval="Decimal('-10')/100" />
<field name="end_date" eval="datetime.date(2026, 6, 30)" />
<field name="group" ref="do_tax_group_isr_en" /> <field name="group" ref="do_tax_group_isr_en" />
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21021702_en" /> <field name="invoice_account" ref="do_account_21021702_en" />
@@ -253,35 +280,74 @@
<field name="description">ISR Withholding on Prizes 15%</field> <field name="description">ISR Withholding on Prizes 15%</field>
<field name="type">percentage</field> <field name="type">percentage</field>
<field name="rate" eval="Decimal('-15')/100" /> <field name="rate" eval="Decimal('-15')/100" />
<field name="end_date" eval="datetime.date(2026, 6, 30)" />
<field name="group" ref="do_tax_group_isr_en" /> <field name="group" ref="do_tax_group_isr_en" />
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21021703_en" /> <field name="invoice_account" ref="do_account_21021703_en" />
<field name="credit_note_account" ref="do_account_21021703_en" /> <field name="credit_note_account" ref="do_account_21021703_en" />
<field name="legal_notice">Tax Code Art. 309, amended by Law 253-12 — prizes from RD$500,001 to RD$1,000,000</field> <field name="legal_notice">Tax Code Art. 309, amended by Law 253-12 — prizes from RD$500,001 to RD$1,000,000</field>
</record> </record>
<record id="do_tax_ret_isr_betting_15_en" model="account.tax.template">
<field name="name">ISR Withholding 15% — Betting Prizes RD$200,001 to RD$600,000</field>
<field name="description">ISR Withholding Betting Prizes 15%</field>
<field name="type">percentage</field>
<field name="rate" eval="Decimal('-15')/100" />
<field name="start_date" eval="datetime.date(2026, 7, 1)" />
<field name="group" ref="do_tax_group_isr_en" />
<field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21021705_en" />
<field name="credit_note_account" ref="do_account_21021705_en" />
<field name="legal_notice">Tax Code Art. 309(c)(i), amended by Law 30-26 Art. 17 — sports and lottery betting prizes</field>
</record>
<record id="do_tax_ret_isr_tragamonedas_10_en" model="account.tax.template"> <record id="do_tax_ret_isr_tragamonedas_10_en" model="account.tax.template">
<field name="name">ISR Withholding 10% — Slot Machine Prizes</field> <field name="name">ISR Withholding 10% — Slot Machine Prizes</field>
<field name="description">ISR Withholding Slot Machines 10%</field> <field name="description">ISR Withholding Slot Machines 10%</field>
<field name="type">percentage</field> <field name="type">percentage</field>
<field name="rate" eval="Decimal('-10')/100" /> <field name="rate" eval="Decimal('-10')/100" />
<field name="end_date" eval="datetime.date(2026, 6, 30)" />
<field name="group" ref="do_tax_group_isr_en" /> <field name="group" ref="do_tax_group_isr_en" />
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21021704_en" /> <field name="invoice_account" ref="do_account_21021704_en" />
<field name="credit_note_account" ref="do_account_21021704_en" /> <field name="credit_note_account" ref="do_account_21021704_en" />
<field name="legal_notice">Tax Code Art. 309, amended by Law 253-12 — slot-machine prizes</field> <field name="legal_notice">Tax Code Art. 309, amended by Law 253-12 — slot-machine prizes</field>
</record> </record>
<record id="do_tax_ret_isr_tragamonedas_15_en" model="account.tax.template">
<field name="name">ISR Withholding 15% — Slot-Machine Prizes</field>
<field name="description">ISR Withholding Slot Machines 15%</field>
<field name="type">percentage</field>
<field name="rate" eval="Decimal('-15')/100" />
<field name="start_date" eval="datetime.date(2026, 7, 1)" />
<field name="group" ref="do_tax_group_isr_en" />
<field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21021706_en" />
<field name="credit_note_account" ref="do_account_21021706_en" />
<field name="legal_notice">Tax Code Art. 309(d), amended by Law 30-26 Art. 17 — slot-machine prizes</field>
</record>
<record id="do_tax_ret_isr_other_income_10_en" model="account.tax.template"> <record id="do_tax_ret_isr_other_income_10_en" model="account.tax.template">
<field name="name">ISR Withholding 10% — Other Income Not Covered</field> <field name="name">ISR Withholding 10% — Other Income Not Covered</field>
<field name="description">ISR Withholding Other Income 10%</field> <field name="description">ISR Withholding Other Income 10%</field>
<field name="type">percentage</field> <field name="type">percentage</field>
<field name="rate" eval="Decimal('-10')/100" /> <field name="rate" eval="Decimal('-10')/100" />
<field name="end_date" eval="datetime.date(2026, 6, 30)" />
<field name="group" ref="do_tax_group_isr_en" /> <field name="group" ref="do_tax_group_isr_en" />
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21020301_en" /> <field name="invoice_account" ref="do_account_21020301_en" />
<field name="credit_note_account" ref="do_account_21020301_en" /> <field name="credit_note_account" ref="do_account_21020301_en" />
<field name="legal_notice">Tax Code Art. 309, amended by Law 253-12 — other income not covered</field> <field name="legal_notice">Tax Code Art. 309, amended by Law 253-12 — other income not covered</field>
</record> </record>
<!-- ══════ ISR PAGOS AL EXTERIOR — Arts. 305-306 CT Ley 11-92 ══════ --> <record id="do_tax_ret_isr_other_income_15_en" model="account.tax.template">
<field name="name">ISR Withholding 15% — Other Income Not Expressly Covered</field>
<field name="description">ISR Withholding Other Income 15%</field>
<field name="type">percentage</field>
<field name="rate" eval="Decimal('-15')/100" />
<field name="start_date" eval="datetime.date(2026, 7, 1)" />
<field name="group" ref="do_tax_group_isr_en" />
<field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21020302_en" />
<field name="credit_note_account" ref="do_account_21020302_en" />
<field name="legal_notice">Tax Code Art. 309(f), amended by Law 30-26 Art. 17 — other income not expressly covered</field>
</record>
<!-- ══════ FOREIGN-PAYMENT ISR — Tax Code Arts. 305-306 ══════ -->
<record id="do_tax_ret_isr_ext_27_en" model="account.tax.template"> <record id="do_tax_ret_isr_ext_27_en" model="account.tax.template">
<field name="name">ISR Withholding 27% — Other Taxable Payments Abroad (Non-Residents)</field> <field name="name">ISR Withholding 27% — Other Taxable Payments Abroad (Non-Residents)</field>
<field name="description">Foreign ISR Withholding 27%</field> <field name="description">Foreign ISR Withholding 27%</field>
@@ -316,8 +382,8 @@
<field name="credit_note_account" ref="do_account_21020702_en" /> <field name="credit_note_account" ref="do_account_21020702_en" />
<field name="legal_notice">Art. 306 CT — interest paid or credited abroad</field> <field name="legal_notice">Art. 306 CT — interest paid or credited abroad</field>
</record> </record>
<!-- ══════ ITBIS ADICIONAL — Retenciones especiales DGII ══════ --> <!-- ══════ ADDITIONAL ITBIS — Special DGII withholdings ══════ -->
<!-- Servicios gravados con retención del 100% del ITBIS según NG 01-11. --> <!-- Taxable services with 100% ITBIS withholding under General Rule 01-11. -->
<record id="do_tax_ret_itbis_100_inf_en" model="account.tax.template"> <record id="do_tax_ret_itbis_100_inf_en" model="account.tax.template">
<field name="name">ITBIS Withholding 100% — Taxable Services Subject to Withholding</field> <field name="name">ITBIS Withholding 100% — Taxable Services Subject to Withholding</field>
<field name="description">ITBIS Withholding Services 100%</field> <field name="description">ITBIS Withholding Services 100%</field>
@@ -329,8 +395,8 @@
<field name="credit_note_account" ref="do_account_21020201_en" /> <field name="credit_note_account" ref="do_account_21020201_en" />
<field name="legal_notice">DGII General Rule 01-11 — 100% of ITBIS on taxable services</field> <field name="legal_notice">DGII General Rule 01-11 — 100% of ITBIS on taxable services</field>
</record> </record>
<!-- Proveedor informal de bienes gravados: la NG 08-10 establece retención <!-- Taxable goods from informal suppliers: General Rule 08-10 requires
del 75% del ITBIS. La tasa contable es -13.5% = 75% × 18%. --> withholding 75% of ITBIS. The accounting rate is -13.5% = 75% × 18%. -->
<record id="do_tax_ret_itbis_75_inf_en" model="account.tax.template"> <record id="do_tax_ret_itbis_75_inf_en" model="account.tax.template">
<field name="name">ITBIS Withholding 75% — Informal Supplier Goods (B11 / e-CF E41)</field> <field name="name">ITBIS Withholding 75% — Informal Supplier Goods (B11 / e-CF E41)</field>
<field name="description">ITBIS Withholding Informal Supplier 75%</field> <field name="description">ITBIS Withholding Informal Supplier 75%</field>
@@ -452,7 +518,7 @@
<field name="credit_note_account" ref="do_account_11040704_en" /> <field name="credit_note_account" ref="do_account_11040704_en" />
<field name="legal_notice">DGII Form IT-1 box 31 — ITBIS withheld by state institutions</field> <field name="legal_notice">DGII Form IT-1 box 31 — ITBIS withheld by state institutions</field>
</record> </record>
<!-- ══════ ISC — IMPUESTO SELECTIVO AL CONSUMO — Arts. 393-441 CT ══════ --> <!-- ══════ ISC — SELECTIVE CONSUMPTION TAX — Tax Code Arts. 393-441 ══════ -->
<record id="do_tax_isc_bebidas_alc_en" model="account.tax.template"> <record id="do_tax_isc_bebidas_alc_en" model="account.tax.template">
<field name="name">ISC 10% — Alcoholic Beverages (Wines, Rum, Whiskey and Spirits)</field> <field name="name">ISC 10% — Alcoholic Beverages (Wines, Rum, Whiskey and Spirits)</field>
<field name="description">ISC Alcoholic Beverages 10%</field> <field name="description">ISC Alcoholic Beverages 10%</field>
@@ -530,8 +596,8 @@
<field name="credit_note_account" ref="do_account_21020806_en" /> <field name="credit_note_account" ref="do_account_21020806_en" />
<field name="legal_notice">DGII General Rule 04-13 — insurers withhold 100% of billed ISC</field> <field name="legal_notice">DGII General Rule 04-13 — insurers withhold 100% of billed ISC</field>
</record> </record>
<!-- Impuesto de primera placa. El impuesto por emisiones de CO2 es distinto y <!-- First-registration tax. The separate CO2 emissions tax is not modeled
no se modela aquí porque su tasa depende de las emisiones del vehículo. --> because its rate depends on the vehicle's emissions. -->
<record id="do_tax_isc_vehiculos_en" model="account.tax.template"> <record id="do_tax_isc_vehiculos_en" model="account.tax.template">
<field name="name">First Vehicle Registration 17% — Imported Vehicles</field> <field name="name">First Vehicle Registration 17% — Imported Vehicles</field>
<field name="description">First Vehicle Plate 17%</field> <field name="description">First Vehicle Plate 17%</field>
@@ -543,10 +609,9 @@
<field name="credit_note_account" ref="do_account_21020805_en" /> <field name="credit_note_account" ref="do_account_21020805_en" />
<field name="legal_notice">Law 557-05 Art. 22 — 17% of CIF value on first registration</field> <field name="legal_notice">Law 557-05 Art. 22 — 17% of CIF value on first registration</field>
</record> </record>
<!-- ══════ CDT — CONTRIBUCIÓN INDOTEL (LEY 153-98) ══════ --> <!-- ══════ CDT — INDOTEL CONTRIBUTION (LAW 153-98) ══════ -->
<!-- CDT: Contribución para el Desarrollo de las Telecomunicaciones. <!-- Telecommunications companies collect the CDT from customers and remit
Lo recaudan las empresas de telecom de sus customeres y lo remiten a INDOTEL. it to INDOTEL. It appears separately on telephone and internet bills. -->
Aparece como línea separada en facturas de telefonía e internet. -->
<record id="do_tax_cdt_indotel_en" model="account.tax.template"> <record id="do_tax_cdt_indotel_en" model="account.tax.template">
<field name="name">CDT 2% — Contribution for the Development of Telecommunications (INDOTEL)</field> <field name="name">CDT 2% — Contribution for the Development of Telecommunications (INDOTEL)</field>
<field name="description">CDT INDOTEL 2%</field> <field name="description">CDT INDOTEL 2%</field>
@@ -558,9 +623,9 @@
<field name="credit_note_account" ref="do_account_21020901_en" /> <field name="credit_note_account" ref="do_account_21020901_en" />
<field name="legal_notice">Telecommunications Law 153-98 Art. 26 — INDOTEL CDT at 2% of gross revenue</field> <field name="legal_notice">Telecommunications Law 153-98 Art. 26 — INDOTEL CDT at 2% of gross revenue</field>
</record> </record>
<!-- ══════ OTROS IMPUESTOS Y CONTRIBUCIONES ══════ --> <!-- ══════ OTHER TAXES AND CONTRIBUTIONS ══════ -->
<!-- Propina legal: cargo obligatorio para hoteles, restaurantes, cafés, barras <!-- The legal service charge applies to hotels, restaurants, cafes, bars
y establecimientos que expenden alimentos o bebidas. No es general. --> and similar establishments; it is not a general tax. -->
<record id="do_tax_propina_10_en" model="account.tax.template"> <record id="do_tax_propina_10_en" model="account.tax.template">
<field name="name">Legal Tip 10% — Restaurants, Bars and Hotels (Natural and Legal Persons)</field> <field name="name">Legal Tip 10% — Restaurants, Bars and Hotels (Natural and Legal Persons)</field>
<field name="description">Legal Tip 10%</field> <field name="description">Legal Tip 10%</field>
@@ -572,8 +637,8 @@
<field name="credit_note_account" ref="do_account_21020501_en" /> <field name="credit_note_account" ref="do_account_21020501_en" />
<field name="legal_notice">Labour Code, Law 16-92 Art. 228 — mandatory 10% service charge</field> <field name="legal_notice">Labour Code, Law 16-92 Art. 228 — mandatory 10% service charge</field>
</record> </record>
<!-- 0.15% sobre valor de cheques y débitos bancarios electrónicos. <!-- 0.15% of checks and electronic bank debits. The bank collects it
Lo recauda el banco automáticamente; es un costo financiero para la empresa. --> automatically as a financial cost to the company. -->
<record id="do_tax_cheques_015_en" model="account.tax.template"> <record id="do_tax_cheques_015_en" model="account.tax.template">
<field name="name">Tax on Checks and Bank Transfers 0.15% (Natural and Legal Persons)</field> <field name="name">Tax on Checks and Bank Transfers 0.15% (Natural and Legal Persons)</field>
<field name="description">Checks and Transfers Tax 0.15%</field> <field name="description">Checks and Transfers Tax 0.15%</field>
@@ -586,8 +651,8 @@
<field name="credit_note_account" ref="do_account_21021901_en" /> <field name="credit_note_account" ref="do_account_21021901_en" />
<field name="legal_notice">Tax Code Art. 382-D, amended by Law 288-04 — 1.5 per thousand on checks and debits</field> <field name="legal_notice">Tax Code Art. 382-D, amended by Law 288-04 — 1.5 per thousand on checks and debits</field>
</record> </record>
<!-- 0.20% sobre valor de cheques y transferencias bancarias desde <!-- 0.20% of checks and bank transfers from 2026-07-03. It remains
2026-07-03. Se mantiene separado del 0.15% histórico. --> separate from the historical 0.15% tax. -->
<record id="do_tax_cheques_020_en" model="account.tax.template"> <record id="do_tax_cheques_020_en" model="account.tax.template">
<field name="name">Tax on Checks and Bank Transfers 0.20% (Natural and Legal Persons)</field> <field name="name">Tax on Checks and Bank Transfers 0.20% (Natural and Legal Persons)</field>
<field name="description">Checks and Transfers Tax 0.20%</field> <field name="description">Checks and Transfers Tax 0.20%</field>
@@ -600,8 +665,8 @@
<field name="credit_note_account" ref="do_account_21021902_en" /> <field name="credit_note_account" ref="do_account_21021902_en" />
<field name="legal_notice">Law 30-26, effective 2026-07-03 — 2.0 per thousand on checks and transfers</field> <field name="legal_notice">Law 30-26, effective 2026-07-03 — 2.0 per thousand on checks and transfers</field>
</record> </record>
<!-- Impuesto anual sobre los activos imponibles. Su liquidación y crédito <!-- Annual tax on taxable assets. This accounting template does not
contra ISR no se automatizan mediante esta plantilla contable. --> automate its assessment or credit against ISR. -->
<record id="do_tax_activos_1_en" model="account.tax.template"> <record id="do_tax_activos_1_en" model="account.tax.template">
<field name="name">Asset Tax 1% (Legal Entities)</field> <field name="name">Asset Tax 1% (Legal Entities)</field>
<field name="description">Asset Tax 1%</field> <field name="description">Asset Tax 1%</field>
@@ -613,8 +678,8 @@
<field name="credit_note_account" ref="do_account_21020502_en" /> <field name="credit_note_account" ref="do_account_21020502_en" />
<field name="legal_notice">Tax Code Arts. 401-405; Art. 404 — 1% annually</field> <field name="legal_notice">Tax Code Arts. 401-405; Art. 404 — 1% annually</field>
</record> </record>
<!-- ITI: aplica a transferencias de bienes inmuebles. Las exenciones y la <!-- ITI applies to real-estate transfers. Exemptions and valuation must be
valoración deben revisarse al liquidar cada operación. --> reviewed when each transaction is assessed. -->
<record id="do_tax_iti_3_en" model="account.tax.template"> <record id="do_tax_iti_3_en" model="account.tax.template">
<field name="name">Real Estate Transfer Tax 3% (Natural and Legal Persons)</field> <field name="name">Real Estate Transfer Tax 3% (Natural and Legal Persons)</field>
<field name="description">ITI Real Estate Transfer 3%</field> <field name="description">ITI Real Estate Transfer 3%</field>
+68 -2
View File
@@ -123,17 +123,31 @@
<field name="description">Retención ISR Persona Física 10%</field> <field name="description">Retención ISR Persona Física 10%</field>
<field name="type">percentage</field> <field name="type">percentage</field>
<field name="rate" eval="Decimal('-10')/100" /> <field name="rate" eval="Decimal('-10')/100" />
<field name="end_date" eval="datetime.date(2026, 6, 30)" />
<field name="group" ref="do_tax_group_isr_es_419" /> <field name="group" ref="do_tax_group_isr_es_419" />
<field name="account" ref="do_account_root_es_419" /> <field name="account" ref="do_account_root_es_419" />
<field name="invoice_account" ref="do_account_21021302_es_419" /> <field name="invoice_account" ref="do_account_21021302_es_419" />
<field name="credit_note_account" ref="do_account_21021302_es_419" /> <field name="credit_note_account" ref="do_account_21021302_es_419" />
<field name="legal_notice">Art. 309 CT Ley 11-92; Decreto 95-12 — Honorarios personas físicas</field> <field name="legal_notice">Art. 309 CT Ley 11-92; Decreto 95-12 — Honorarios personas físicas</field>
</record> </record>
<record id="do_tax_ret_isr_serv_15_es_419" model="account.tax.template">
<field name="name">Retención ISR 15% — Honorarios y Servicios Provistos por Personas Físicas</field>
<field name="description">Retención ISR Persona Física 15%</field>
<field name="type">percentage</field>
<field name="rate" eval="Decimal('-15')/100" />
<field name="start_date" eval="datetime.date(2026, 7, 1)" />
<field name="group" ref="do_tax_group_isr_es_419" />
<field name="account" ref="do_account_root_es_419" />
<field name="invoice_account" ref="do_account_21021303_es_419" />
<field name="credit_note_account" ref="do_account_21021303_es_419" />
<field name="legal_notice">Art. 309(b) CT, modificado por el art. 17 de la Ley 30-26 — servicios provistos por personas físicas</field>
</record>
<record id="do_tax_ret_isr_div_10_es_419" model="account.tax.template"> <record id="do_tax_ret_isr_div_10_es_419" model="account.tax.template">
<field name="name">Retención ISR 10% — Dividendos y Utilidades Distribuidas (Personas Físicas y Jurídicas)</field> <field name="name">Retención ISR 10% — Dividendos y Utilidades Distribuidas (Personas Físicas y Jurídicas)</field>
<field name="description">Retención ISR Dividendos 10%</field> <field name="description">Retención ISR Dividendos 10%</field>
<field name="type">percentage</field> <field name="type">percentage</field>
<field name="rate" eval="Decimal('-10')/100" /> <field name="rate" eval="Decimal('-10')/100" />
<field name="end_date" eval="datetime.date(2026, 6, 30)" />
<field name="group" ref="do_tax_group_isr_es_419" /> <field name="group" ref="do_tax_group_isr_es_419" />
<field name="account" ref="do_account_root_es_419" /> <field name="account" ref="do_account_root_es_419" />
<field name="invoice_account" ref="do_account_21020601_es_419" /> <field name="invoice_account" ref="do_account_21020601_es_419" />
@@ -162,6 +176,18 @@
<field name="credit_note_account" ref="do_account_21021401_es_419" /> <field name="credit_note_account" ref="do_account_21021401_es_419" />
<field name="legal_notice">Art. 309 CT; NG 08-11 DGII — Alquileres personas físicas y jurídicas</field> <field name="legal_notice">Art. 309 CT; NG 08-11 DGII — Alquileres personas físicas y jurídicas</field>
</record> </record>
<record id="do_tax_ret_isr_alq_15_es_419" model="account.tax.template">
<field name="name">Retención ISR 15% — Alquileres y Arrendamientos Provistos por Personas Físicas</field>
<field name="description">Retención ISR Alquileres 15%</field>
<field name="type">percentage</field>
<field name="rate" eval="Decimal('-15')/100" />
<field name="start_date" eval="datetime.date(2026, 7, 1)" />
<field name="group" ref="do_tax_group_isr_es_419" />
<field name="account" ref="do_account_root_es_419" />
<field name="invoice_account" ref="do_account_21021402_es_419" />
<field name="credit_note_account" ref="do_account_21021402_es_419" />
<field name="legal_notice">Art. 309(a) CT, modificado por el art. 17 de la Ley 30-26 — alquileres provistos por personas físicas</field>
</record>
<record id="do_tax_ret_isr_est_15_es_419" model="account.tax.template"> <record id="do_tax_ret_isr_est_15_es_419" model="account.tax.template">
<field name="name">Retención ISR 1.5% — Pagos del Estado / Sector Público (Personas Físicas y Jurídicas)</field> <field name="name">Retención ISR 1.5% — Pagos del Estado / Sector Público (Personas Físicas y Jurídicas)</field>
<field name="description">Retención ISR Estado 1.5%</field> <field name="description">Retención ISR Estado 1.5%</field>
@@ -219,7 +245,7 @@
<field name="legal_notice">NG 07-19 DGII 2019; Art. 306 bis CT — Intereses personas jurídicas</field> <field name="legal_notice">NG 07-19 DGII 2019; Art. 306 bis CT — Intereses personas jurídicas</field>
</record> </record>
<record id="do_tax_ret_isr_premios_25_es_419" model="account.tax.template"> <record id="do_tax_ret_isr_premios_25_es_419" model="account.tax.template">
<field name="name">Retención ISR 25% — Premios de Lotería, Sorteos y Rifas (Personas Físicas y Jurídicas)</field> <field name="name">Retención ISR 25% — Premios, Loterías, Rifas y Apuestas</field>
<field name="description">Retención ISR Premios 25%</field> <field name="description">Retención ISR Premios 25%</field>
<field name="type">percentage</field> <field name="type">percentage</field>
<field name="rate" eval="Decimal('-25')/100" /> <field name="rate" eval="Decimal('-25')/100" />
@@ -227,13 +253,14 @@
<field name="account" ref="do_account_root_es_419" /> <field name="account" ref="do_account_root_es_419" />
<field name="invoice_account" ref="do_account_21021701_es_419" /> <field name="invoice_account" ref="do_account_21021701_es_419" />
<field name="credit_note_account" ref="do_account_21021701_es_419" /> <field name="credit_note_account" ref="do_account_21021701_es_419" />
<field name="legal_notice">Art. 321 CT Ley 11-92; Decreto 95-12Premios y loterías, definitivo</field> <field name="legal_notice">Art. 309(c) CT, modificado por el art. 17 de la Ley 30-26premios en general y premios de apuestas superiores a RD$600,000</field>
</record> </record>
<record id="do_tax_ret_isr_premios_10_es_419" model="account.tax.template"> <record id="do_tax_ret_isr_premios_10_es_419" model="account.tax.template">
<field name="name">Retención ISR 10% — Premios RD$100,001 a RD$500,000</field> <field name="name">Retención ISR 10% — Premios RD$100,001 a RD$500,000</field>
<field name="description">Retención ISR Premios 10%</field> <field name="description">Retención ISR Premios 10%</field>
<field name="type">percentage</field> <field name="type">percentage</field>
<field name="rate" eval="Decimal('-10')/100" /> <field name="rate" eval="Decimal('-10')/100" />
<field name="end_date" eval="datetime.date(2026, 6, 30)" />
<field name="group" ref="do_tax_group_isr_es_419" /> <field name="group" ref="do_tax_group_isr_es_419" />
<field name="account" ref="do_account_root_es_419" /> <field name="account" ref="do_account_root_es_419" />
<field name="invoice_account" ref="do_account_21021702_es_419" /> <field name="invoice_account" ref="do_account_21021702_es_419" />
@@ -245,34 +272,73 @@
<field name="description">Retención ISR Premios 15%</field> <field name="description">Retención ISR Premios 15%</field>
<field name="type">percentage</field> <field name="type">percentage</field>
<field name="rate" eval="Decimal('-15')/100" /> <field name="rate" eval="Decimal('-15')/100" />
<field name="end_date" eval="datetime.date(2026, 6, 30)" />
<field name="group" ref="do_tax_group_isr_es_419" /> <field name="group" ref="do_tax_group_isr_es_419" />
<field name="account" ref="do_account_root_es_419" /> <field name="account" ref="do_account_root_es_419" />
<field name="invoice_account" ref="do_account_21021703_es_419" /> <field name="invoice_account" ref="do_account_21021703_es_419" />
<field name="credit_note_account" ref="do_account_21021703_es_419" /> <field name="credit_note_account" ref="do_account_21021703_es_419" />
<field name="legal_notice">Art. 309 CT mod. Ley 253-12 — premios RD$500,001 a RD$1,000,000 15%</field> <field name="legal_notice">Art. 309 CT mod. Ley 253-12 — premios RD$500,001 a RD$1,000,000 15%</field>
</record> </record>
<record id="do_tax_ret_isr_betting_15_es_419" model="account.tax.template">
<field name="name">Retención ISR 15% — Premios de Apuestas RD$200,001 a RD$600,000</field>
<field name="description">Retención ISR Premios de Apuestas 15%</field>
<field name="type">percentage</field>
<field name="rate" eval="Decimal('-15')/100" />
<field name="start_date" eval="datetime.date(2026, 7, 1)" />
<field name="group" ref="do_tax_group_isr_es_419" />
<field name="account" ref="do_account_root_es_419" />
<field name="invoice_account" ref="do_account_21021705_es_419" />
<field name="credit_note_account" ref="do_account_21021705_es_419" />
<field name="legal_notice">Art. 309(c)(i) CT, modificado por el art. 17 de la Ley 30-26 — premios de apuestas deportivas y de lotería</field>
</record>
<record id="do_tax_ret_isr_tragamonedas_10_es_419" model="account.tax.template"> <record id="do_tax_ret_isr_tragamonedas_10_es_419" model="account.tax.template">
<field name="name">Retención ISR 10% — Premios Máquinas Tragamonedas</field> <field name="name">Retención ISR 10% — Premios Máquinas Tragamonedas</field>
<field name="description">Retención ISR Máquinas Tragamonedas 10%</field> <field name="description">Retención ISR Máquinas Tragamonedas 10%</field>
<field name="type">percentage</field> <field name="type">percentage</field>
<field name="rate" eval="Decimal('-10')/100" /> <field name="rate" eval="Decimal('-10')/100" />
<field name="end_date" eval="datetime.date(2026, 6, 30)" />
<field name="group" ref="do_tax_group_isr_es_419" /> <field name="group" ref="do_tax_group_isr_es_419" />
<field name="account" ref="do_account_root_es_419" /> <field name="account" ref="do_account_root_es_419" />
<field name="invoice_account" ref="do_account_21021704_es_419" /> <field name="invoice_account" ref="do_account_21021704_es_419" />
<field name="credit_note_account" ref="do_account_21021704_es_419" /> <field name="credit_note_account" ref="do_account_21021704_es_419" />
<field name="legal_notice">Art. 309 CT mod. Ley 253-12 — premios máquinas tragamonedas 10%</field> <field name="legal_notice">Art. 309 CT mod. Ley 253-12 — premios máquinas tragamonedas 10%</field>
</record> </record>
<record id="do_tax_ret_isr_tragamonedas_15_es_419" model="account.tax.template">
<field name="name">Retención ISR 15% — Premios de Máquinas Tragamonedas</field>
<field name="description">Retención ISR Máquinas Tragamonedas 15%</field>
<field name="type">percentage</field>
<field name="rate" eval="Decimal('-15')/100" />
<field name="start_date" eval="datetime.date(2026, 7, 1)" />
<field name="group" ref="do_tax_group_isr_es_419" />
<field name="account" ref="do_account_root_es_419" />
<field name="invoice_account" ref="do_account_21021706_es_419" />
<field name="credit_note_account" ref="do_account_21021706_es_419" />
<field name="legal_notice">Art. 309(d) CT, modificado por el art. 17 de la Ley 30-26 — premios de máquinas tragamonedas</field>
</record>
<record id="do_tax_ret_isr_other_income_10_es_419" model="account.tax.template"> <record id="do_tax_ret_isr_other_income_10_es_419" model="account.tax.template">
<field name="name">Retención ISR 10% — Otras Rentas no Contempladas</field> <field name="name">Retención ISR 10% — Otras Rentas no Contempladas</field>
<field name="description">Retención ISR Otras Rentas 10%</field> <field name="description">Retención ISR Otras Rentas 10%</field>
<field name="type">percentage</field> <field name="type">percentage</field>
<field name="rate" eval="Decimal('-10')/100" /> <field name="rate" eval="Decimal('-10')/100" />
<field name="end_date" eval="datetime.date(2026, 6, 30)" />
<field name="group" ref="do_tax_group_isr_es_419" /> <field name="group" ref="do_tax_group_isr_es_419" />
<field name="account" ref="do_account_root_es_419" /> <field name="account" ref="do_account_root_es_419" />
<field name="invoice_account" ref="do_account_21020301_es_419" /> <field name="invoice_account" ref="do_account_21020301_es_419" />
<field name="credit_note_account" ref="do_account_21020301_es_419" /> <field name="credit_note_account" ref="do_account_21020301_es_419" />
<field name="legal_notice">Art. 309 CT mod. Ley 253-12 — otras rentas no contempladas 10%</field> <field name="legal_notice">Art. 309 CT mod. Ley 253-12 — otras rentas no contempladas 10%</field>
</record> </record>
<record id="do_tax_ret_isr_other_income_15_es_419" model="account.tax.template">
<field name="name">Retención ISR 15% — Otras Rentas no Contempladas Expresamente</field>
<field name="description">Retención ISR Otras Rentas 15%</field>
<field name="type">percentage</field>
<field name="rate" eval="Decimal('-15')/100" />
<field name="start_date" eval="datetime.date(2026, 7, 1)" />
<field name="group" ref="do_tax_group_isr_es_419" />
<field name="account" ref="do_account_root_es_419" />
<field name="invoice_account" ref="do_account_21020302_es_419" />
<field name="credit_note_account" ref="do_account_21020302_es_419" />
<field name="legal_notice">Art. 309(f) CT, modificado por el art. 17 de la Ley 30-26 — otras rentas no contempladas expresamente</field>
</record>
<record id="do_tax_ret_isr_ext_27_es_419" model="account.tax.template"> <record id="do_tax_ret_isr_ext_27_es_419" model="account.tax.template">
<field name="name">Retención ISR 27% — Otros Pagos Gravados al Exterior (No Residentes)</field> <field name="name">Retención ISR 27% — Otros Pagos Gravados al Exterior (No Residentes)</field>
<field name="description">Retención ISR Exterior 27%</field> <field name="description">Retención ISR Exterior 27%</field>
+37 -13
View File
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- account_do: Reglas de impuestos - República Dominicana --> <!-- account_do: Tax rules - Dominican Republic -->
<tryton> <tryton>
<data language="en"> <data language="en">
<!-- ===== Reglas de impuestos ===== --> <!-- ===== Tax rules ===== -->
<!-- Regla customeres: al facturar aplica ITBIS 18% Ventas --> <!-- Customer rule: use 18% sales ITBIS when invoicing -->
<record id="do_tax_rule_customer_en" model="account.tax.rule.template"> <record id="do_tax_rule_customer_en" model="account.tax.rule.template">
<field name="name">RD Customers Tax Rule</field> <field name="name">RD Customers Tax Rule</field>
<field name="kind">sale</field> <field name="kind">sale</field>
@@ -16,7 +16,7 @@
<field name="sequence" eval="10"/> <field name="sequence" eval="10"/>
</record> </record>
<!-- Regla proveedores: al recibir factura aplica ITBIS 18% Compras --> <!-- Supplier rule: use 18% purchase ITBIS on incoming invoices -->
<record id="do_tax_rule_supplier_en" model="account.tax.rule.template"> <record id="do_tax_rule_supplier_en" model="account.tax.rule.template">
<field name="name">RD Supplier Tax Rule</field> <field name="name">RD Supplier Tax Rule</field>
<field name="kind">purchase</field> <field name="kind">purchase</field>
@@ -29,7 +29,7 @@
<field name="sequence" eval="10"/> <field name="sequence" eval="10"/>
</record> </record>
<!-- Regla customeres exentos de ITBIS (art. 343-344 CT: salud, educación, etc.) --> <!-- ITBIS-exempt customers (Tax Code Arts. 343-344) -->
<record id="do_tax_rule_customer_exento_en" model="account.tax.rule.template"> <record id="do_tax_rule_customer_exento_en" model="account.tax.rule.template">
<field name="name">ITBIS Exempt Customers Rule (RD)</field> <field name="name">ITBIS Exempt Customers Rule (RD)</field>
<field name="kind">sale</field> <field name="kind">sale</field>
@@ -42,7 +42,7 @@
<field name="sequence" eval="10"/> <field name="sequence" eval="10"/>
</record> </record>
<!-- Regla customeres Zona Franca / Exportaciones (ITBIS tasa cero, NCF B14/E44) --> <!-- Free-zone customers and exports (zero-rate ITBIS, NCF B14/E44) -->
<record id="do_tax_rule_customer_zf_en" model="account.tax.rule.template"> <record id="do_tax_rule_customer_zf_en" model="account.tax.rule.template">
<field name="name">Free Zone Customers Rule / Exports (RD)</field> <field name="name">Free Zone Customers Rule / Exports (RD)</field>
<field name="kind">sale</field> <field name="kind">sale</field>
@@ -55,7 +55,7 @@
<field name="sequence" eval="10"/> <field name="sequence" eval="10"/>
</record> </record>
<!-- Regla proveedores no residentes (ISR pagos al exterior Art. 305-306 CT) --> <!-- Non-resident suppliers (foreign-payment ISR, Tax Code Arts. 305-306) -->
<record id="do_tax_rule_supplier_ext_en" model="account.tax.rule.template"> <record id="do_tax_rule_supplier_ext_en" model="account.tax.rule.template">
<field name="name">Non-Resident Suppliers / Foreign Suppliers Rule (RD)</field> <field name="name">Non-Resident Suppliers / Foreign Suppliers Rule (RD)</field>
<field name="kind">purchase</field> <field name="kind">purchase</field>
@@ -80,7 +80,7 @@
<field name="sequence" eval="10"/> <field name="sequence" eval="10"/>
</record> </record>
<!-- Tasas especiales ITBIS --> <!-- Special ITBIS rates -->
<record id="do_tax_rule_customer_itbis16_en" model="account.tax.rule.template"> <record id="do_tax_rule_customer_itbis16_en" model="account.tax.rule.template">
<field name="name">ITBIS Customer Rule 16% Special Rate (RD)</field> <field name="name">ITBIS Customer Rule 16% Special Rate (RD)</field>
<field name="kind">sale</field> <field name="kind">sale</field>
@@ -104,7 +104,7 @@
<field name="sequence" eval="10"/> <field name="sequence" eval="10"/>
</record> </record>
<!-- Retenciones ITBIS que conservan el ITBIS base --> <!-- ITBIS withholdings that preserve the original ITBIS -->
<record id="do_tax_rule_supplier_itbis_ret30_en" model="account.tax.rule.template"> <record id="do_tax_rule_supplier_itbis_ret30_en" model="account.tax.rule.template">
<field name="name">Supplier Rule with ITBIS Withholding 30% (RD)</field> <field name="name">Supplier Rule with ITBIS Withholding 30% (RD)</field>
<field name="kind">purchase</field> <field name="kind">purchase</field>
@@ -141,8 +141,8 @@
<field name="keep_origin" eval="True"/> <field name="keep_origin" eval="True"/>
<field name="sequence" eval="10"/> <field name="sequence" eval="10"/>
</record> </record>
<!-- Retenciones ISR por escenario. Estas reglas se aplican sobre impuestos <!-- Scenario-specific ISR withholdings. These rules apply to ISR-group
del grupo ISR; los impuestos ITBIS se mantienen separados. --> taxes; ITBIS taxes remain separate. -->
<record id="do_tax_rule_supplier_isr_pj_services_en" model="account.tax.rule.template"> <record id="do_tax_rule_supplier_isr_pj_services_en" model="account.tax.rule.template">
<field name="name">ISR Rule Services Legal Entities 5% (RD)</field> <field name="name">ISR Rule Services Legal Entities 5% (RD)</field>
<field name="kind">purchase</field> <field name="kind">purchase</field>
@@ -155,7 +155,7 @@
<field name="sequence" eval="10"/> <field name="sequence" eval="10"/>
</record> </record>
<record id="do_tax_rule_supplier_isr_pf_services_en" model="account.tax.rule.template"> <record id="do_tax_rule_supplier_isr_pf_services_en" model="account.tax.rule.template">
<field name="name">ISR Rule Services Individuals 10% (RD)</field> <field name="name">Individual Services ISR Rule (RD)</field>
<field name="kind">purchase</field> <field name="kind">purchase</field>
<field name="account" ref="do_account_root_en"/> <field name="account" ref="do_account_root_en"/>
</record> </record>
@@ -163,10 +163,18 @@
<field name="rule" ref="do_tax_rule_supplier_isr_pf_services_en"/> <field name="rule" ref="do_tax_rule_supplier_isr_pf_services_en"/>
<field name="group" ref="do_tax_group_isr_en"/> <field name="group" ref="do_tax_group_isr_en"/>
<field name="tax" ref="do_tax_ret_isr_serv_10_en"/> <field name="tax" ref="do_tax_ret_isr_serv_10_en"/>
<field name="end_date" eval="datetime.date(2026, 6, 30)"/>
<field name="sequence" eval="10"/> <field name="sequence" eval="10"/>
</record> </record>
<record id="do_trline_supp_isr_pf_services_15_en" model="account.tax.rule.line.template">
<field name="rule" ref="do_tax_rule_supplier_isr_pf_services_en"/>
<field name="group" ref="do_tax_group_isr_en"/>
<field name="tax" ref="do_tax_ret_isr_serv_15_en"/>
<field name="start_date" eval="datetime.date(2026, 7, 1)"/>
<field name="sequence" eval="20"/>
</record>
<record id="do_tax_rule_supplier_isr_rent_en" model="account.tax.rule.template"> <record id="do_tax_rule_supplier_isr_rent_en" model="account.tax.rule.template">
<field name="name">Rent ISR Rule 10% (RD)</field> <field name="name">Individual Rental ISR Rule (RD)</field>
<field name="kind">purchase</field> <field name="kind">purchase</field>
<field name="account" ref="do_account_root_en"/> <field name="account" ref="do_account_root_en"/>
</record> </record>
@@ -174,8 +182,16 @@
<field name="rule" ref="do_tax_rule_supplier_isr_rent_en"/> <field name="rule" ref="do_tax_rule_supplier_isr_rent_en"/>
<field name="group" ref="do_tax_group_isr_en"/> <field name="group" ref="do_tax_group_isr_en"/>
<field name="tax" ref="do_tax_ret_isr_alq_10_en"/> <field name="tax" ref="do_tax_ret_isr_alq_10_en"/>
<field name="end_date" eval="datetime.date(2026, 6, 30)"/>
<field name="sequence" eval="10"/> <field name="sequence" eval="10"/>
</record> </record>
<record id="do_trline_supp_isr_rent_15_en" model="account.tax.rule.line.template">
<field name="rule" ref="do_tax_rule_supplier_isr_rent_en"/>
<field name="group" ref="do_tax_group_isr_en"/>
<field name="tax" ref="do_tax_ret_isr_alq_15_en"/>
<field name="start_date" eval="datetime.date(2026, 7, 1)"/>
<field name="sequence" eval="20"/>
</record>
<record id="do_tax_rule_customer_state_isr15_en" model="account.tax.rule.template"> <record id="do_tax_rule_customer_state_isr15_en" model="account.tax.rule.template">
<field name="name">Customer Rule State / Public Sector ISR 1.5% (RD)</field> <field name="name">Customer Rule State / Public Sector ISR 1.5% (RD)</field>
<field name="kind">sale</field> <field name="kind">sale</field>
@@ -281,8 +297,16 @@
<field name="rule" ref="do_tax_rule_supplier_informal_services_en"/> <field name="rule" ref="do_tax_rule_supplier_informal_services_en"/>
<field name="group" ref="do_tax_group_isr_en"/> <field name="group" ref="do_tax_group_isr_en"/>
<field name="tax" ref="do_tax_ret_isr_serv_10_en"/> <field name="tax" ref="do_tax_ret_isr_serv_10_en"/>
<field name="end_date" eval="datetime.date(2026, 6, 30)"/>
<field name="sequence" eval="20"/> <field name="sequence" eval="20"/>
</record> </record>
<record id="do_trline_supp_inf_isr15_en" model="account.tax.rule.line.template">
<field name="rule" ref="do_tax_rule_supplier_informal_services_en"/>
<field name="group" ref="do_tax_group_isr_en"/>
<field name="tax" ref="do_tax_ret_isr_serv_15_en"/>
<field name="start_date" eval="datetime.date(2026, 7, 1)"/>
<field name="sequence" eval="30"/>
</record>
<record id="do_tax_rule_supplier_rst_en" model="account.tax.rule.template"> <record id="do_tax_rule_supplier_rst_en" model="account.tax.rule.template">
<field name="name">RST Provider Rule with ITBIS Withholding (RD)</field> <field name="name">RST Provider Rule with ITBIS Withholding (RD)</field>
+26 -2
View File
@@ -138,7 +138,7 @@
<field name="sequence" eval="10" /> <field name="sequence" eval="10" />
</record> </record>
<record id="do_tax_rule_supplier_isr_pf_services_es_419" model="account.tax.rule.template"> <record id="do_tax_rule_supplier_isr_pf_services_es_419" model="account.tax.rule.template">
<field name="name">Regla ISR Servicios Personas Físicas 10% (RD)</field> <field name="name">Regla ISR Servicios de Personas Físicas (RD)</field>
<field name="kind">purchase</field> <field name="kind">purchase</field>
<field name="account" ref="do_account_root_es_419" /> <field name="account" ref="do_account_root_es_419" />
</record> </record>
@@ -146,10 +146,18 @@
<field name="rule" ref="do_tax_rule_supplier_isr_pf_services_es_419" /> <field name="rule" ref="do_tax_rule_supplier_isr_pf_services_es_419" />
<field name="group" ref="do_tax_group_isr_es_419" /> <field name="group" ref="do_tax_group_isr_es_419" />
<field name="tax" ref="do_tax_ret_isr_serv_10_es_419" /> <field name="tax" ref="do_tax_ret_isr_serv_10_es_419" />
<field name="end_date" eval="datetime.date(2026, 6, 30)" />
<field name="sequence" eval="10" /> <field name="sequence" eval="10" />
</record> </record>
<record id="do_trline_supp_isr_pf_services_15_es_419" model="account.tax.rule.line.template">
<field name="rule" ref="do_tax_rule_supplier_isr_pf_services_es_419" />
<field name="group" ref="do_tax_group_isr_es_419" />
<field name="tax" ref="do_tax_ret_isr_serv_15_es_419" />
<field name="start_date" eval="datetime.date(2026, 7, 1)" />
<field name="sequence" eval="20" />
</record>
<record id="do_tax_rule_supplier_isr_rent_es_419" model="account.tax.rule.template"> <record id="do_tax_rule_supplier_isr_rent_es_419" model="account.tax.rule.template">
<field name="name">Regla ISR Alquileres 10% (RD)</field> <field name="name">Regla ISR Alquileres de Personas Físicas (RD)</field>
<field name="kind">purchase</field> <field name="kind">purchase</field>
<field name="account" ref="do_account_root_es_419" /> <field name="account" ref="do_account_root_es_419" />
</record> </record>
@@ -157,8 +165,16 @@
<field name="rule" ref="do_tax_rule_supplier_isr_rent_es_419" /> <field name="rule" ref="do_tax_rule_supplier_isr_rent_es_419" />
<field name="group" ref="do_tax_group_isr_es_419" /> <field name="group" ref="do_tax_group_isr_es_419" />
<field name="tax" ref="do_tax_ret_isr_alq_10_es_419" /> <field name="tax" ref="do_tax_ret_isr_alq_10_es_419" />
<field name="end_date" eval="datetime.date(2026, 6, 30)" />
<field name="sequence" eval="10" /> <field name="sequence" eval="10" />
</record> </record>
<record id="do_trline_supp_isr_rent_15_es_419" model="account.tax.rule.line.template">
<field name="rule" ref="do_tax_rule_supplier_isr_rent_es_419" />
<field name="group" ref="do_tax_group_isr_es_419" />
<field name="tax" ref="do_tax_ret_isr_alq_15_es_419" />
<field name="start_date" eval="datetime.date(2026, 7, 1)" />
<field name="sequence" eval="20" />
</record>
<record id="do_tax_rule_customer_state_isr15_es_419" model="account.tax.rule.template"> <record id="do_tax_rule_customer_state_isr15_es_419" model="account.tax.rule.template">
<field name="name">Regla Cliente Estado / Sector Público ISR 1.5% (RD)</field> <field name="name">Regla Cliente Estado / Sector Público ISR 1.5% (RD)</field>
<field name="kind">sale</field> <field name="kind">sale</field>
@@ -262,8 +278,16 @@
<field name="rule" ref="do_tax_rule_supplier_informal_services_es_419" /> <field name="rule" ref="do_tax_rule_supplier_informal_services_es_419" />
<field name="group" ref="do_tax_group_isr_es_419" /> <field name="group" ref="do_tax_group_isr_es_419" />
<field name="tax" ref="do_tax_ret_isr_serv_10_es_419" /> <field name="tax" ref="do_tax_ret_isr_serv_10_es_419" />
<field name="end_date" eval="datetime.date(2026, 6, 30)" />
<field name="sequence" eval="20" /> <field name="sequence" eval="20" />
</record> </record>
<record id="do_trline_supp_inf_isr15_es_419" model="account.tax.rule.line.template">
<field name="rule" ref="do_tax_rule_supplier_informal_services_es_419" />
<field name="group" ref="do_tax_group_isr_es_419" />
<field name="tax" ref="do_tax_ret_isr_serv_15_es_419" />
<field name="start_date" eval="datetime.date(2026, 7, 1)" />
<field name="sequence" eval="30" />
</record>
<record id="do_tax_rule_supplier_rst_es_419" model="account.tax.rule.template"> <record id="do_tax_rule_supplier_rst_es_419" model="account.tax.rule.template">
<field name="name">Regla Proveedor RST con Retención ITBIS (RD)</field> <field name="name">Regla Proveedor RST con Retención ITBIS (RD)</field>
<field name="kind">purchase</field> <field name="kind">purchase</field>
+120 -13
View File
@@ -310,8 +310,10 @@ class AccountDoTestCase(ModuleTestCase):
'21020801', '21020801',
'21020802', '21020803', '21020804', '21020805', '21020802', '21020803', '21020804', '21020805',
'21020901', '21021001', '21021101', '21021201', '21020901', '21021001', '21021101', '21021201',
'21021301', '21021302', '21021401', '21021501', '21020302', '21021301', '21021302', '21021303',
'21021502', '21021701', '21021801', '21021901', '21021401', '21021402', '21021501',
'21021502', '21021701', '21021705', '21021706',
'21021801', '21021901',
'21021902', '6208']: '21021902', '6208']:
with self.subTest(code=code): with self.subTest(code=code):
self.assertTrue(Account.search([ self.assertTrue(Account.search([
@@ -426,6 +428,28 @@ class AccountDoTestCase(ModuleTestCase):
'date': datetime.date(2026, 7, 1), 'date': datetime.date(2026, 7, 1),
}), }),
[foreign_15.id]) [foreign_15.id])
service_10, = Tax.search([
('company', '=', company.id),
('description', '=', 'ISR Withholding Individual 10%'),
], limit=1)
service_15, = Tax.search([
('company', '=', company.id),
('description', '=', 'ISR Withholding Individual 15%'),
], limit=1)
service_rule, = TaxRule.search([
('company', '=', company.id),
('name', '=', 'Individual Services ISR Rule (RD)'),
], limit=1)
self.assertEqual(
service_rule.apply(service_10, {
'date': datetime.date(2026, 6, 30),
}),
[service_10.id])
self.assertEqual(
service_rule.apply(service_10, {
'date': datetime.date(2026, 7, 1),
}),
[service_15.id])
itbis_sale, = Tax.search([ itbis_sale, = Tax.search([
('company', '=', company.id), ('company', '=', company.id),
('description', '=', 'ITBIS 18% Sales'), ('description', '=', 'ITBIS 18% Sales'),
@@ -452,6 +476,8 @@ class AccountDoTestCase(ModuleTestCase):
('ITBIS Withholding Large Taxpayer 30%', 'credit'): '+', ('ITBIS Withholding Large Taxpayer 30%', 'credit'): '+',
('ISR Withholding Individual 10%', 'invoice'): '-', ('ISR Withholding Individual 10%', 'invoice'): '-',
('ISR Withholding Individual 10%', 'credit'): '+', ('ISR Withholding Individual 10%', 'credit'): '+',
('ISR Withholding Individual 15%', 'invoice'): '-',
('ISR Withholding Individual 15%', 'credit'): '+',
('ISR Withholding State 1.5%', 'invoice'): '+', ('ISR Withholding State 1.5%', 'invoice'): '+',
('ISR Withholding State 1.5%', 'credit'): '-', ('ISR Withholding State 1.5%', 'credit'): '-',
('Checks and Transfers Tax 0.20%', 'invoice'): '+', ('Checks and Transfers Tax 0.20%', 'invoice'): '+',
@@ -514,6 +540,8 @@ class SpanishAccountDoTestCase(ModuleTestCase):
}]) }])
ModelData._migrate_localization_identifiers() ModelData._migrate_localization_identifiers()
# A retried module update must be harmless.
ModelData._migrate_localization_identifiers()
self.assertEqual( self.assertEqual(
ModelData.get_id('account_do', 'do_account_root_es_419'), ModelData.get_id('account_do', 'do_account_root_es_419'),
@@ -597,40 +625,51 @@ class AccountDoUnitTestCase(unittest.TestCase):
'doc/releases.rst', 'doc/releases.rst',
]: ]:
self.assertTrue((MODULE_DIR / filename).is_file()) self.assertTrue((MODULE_DIR / filename).is_file())
self.assertNotIn(
'Solu' + 'tema',
'\n'.join(
path.read_text(encoding='utf-8')
for path in MODULE_DIR.rglob('*')
if path.is_file()
and '.git' not in path.parts
and 'dist' not in path.parts
and (path.suffix in {'.py', '.rst', '.toml', '.xml'}
or path.name in {
'CHANGELOG', 'COPYRIGHT', 'tryton.cfg'})))
def test_xml_record_inventory_is_explicit(self): def test_xml_record_inventory_is_explicit(self):
expected = { expected = {
'account_chart_do_en.xml': { 'account_chart_do_en.xml': {
'account.account.type.template': 36, 'account.account.type.template': 36,
'account.account.template': 282, 'account.account.template': 287,
}, },
'tax_do_en.xml': { 'tax_do_en.xml': {
'account.tax.group': 6, 'account.tax.group': 6,
'account.tax.template': 51, 'account.tax.template': 56,
}, },
'tax_code_do_en.xml': { 'tax_code_do_en.xml': {
'account.tax.code.template': 43, 'account.tax.code.template': 44,
'account.tax.code.line.template': 95, 'account.tax.code.line.template': 112,
}, },
'tax_rule_do_en.xml': { 'tax_rule_do_en.xml': {
'account.tax.rule.template': 28, 'account.tax.rule.template': 28,
'account.tax.rule.line.template': 31, 'account.tax.rule.line.template': 34,
}, },
'account_chart_do_es_419.xml': { 'account_chart_do_es_419.xml': {
'account.account.type.template': 36, 'account.account.type.template': 36,
'account.account.template': 282, 'account.account.template': 287,
}, },
'tax_do_es_419.xml': { 'tax_do_es_419.xml': {
'account.tax.group': 6, 'account.tax.group': 6,
'account.tax.template': 51, 'account.tax.template': 56,
}, },
'tax_code_do_es_419.xml': { 'tax_code_do_es_419.xml': {
'account.tax.code.template': 43, 'account.tax.code.template': 44,
'account.tax.code.line.template': 95, 'account.tax.code.line.template': 112,
}, },
'tax_rule_do_es_419.xml': { 'tax_rule_do_es_419.xml': {
'account.tax.rule.template': 28, 'account.tax.rule.template': 28,
'account.tax.rule.line.template': 31, 'account.tax.rule.line.template': 34,
}, },
} }
for filename, expected_counts in expected.items(): for filename, expected_counts in expected.items():
@@ -689,6 +728,20 @@ class AccountDoUnitTestCase(unittest.TestCase):
with self.subTest(phrase=phrase): with self.subTest(phrase=phrase):
self.assertNotIn(phrase, text.lower()) self.assertNotIn(phrase, text.lower())
def test_english_xml_comments_are_in_english(self):
text = '\n'.join(
(MODULE_DIR / filename).read_text(encoding='utf-8').lower()
for filename in [
'account_chart_do_en.xml', 'tax_do_en.xml',
'tax_code_do_en.xml', 'tax_rule_do_en.xml'])
for marker in [
'á', 'é', 'í', 'ó', 'ú', 'ñ',
' cuenta ', ' impuesto ', ' proveedor ', ' regla ',
' retención ', ' servicios ', ' tasa ',
]:
with self.subTest(marker=marker):
self.assertNotIn(marker, text)
def test_spanish_chart_has_complete_parallel_identifiers(self): def test_spanish_chart_has_complete_parallel_identifiers(self):
pairs = [ pairs = [
('account_chart_do_en.xml', 'account_chart_do_es_419.xml'), ('account_chart_do_en.xml', 'account_chart_do_es_419.xml'),
@@ -729,6 +782,9 @@ class AccountDoUnitTestCase(unittest.TestCase):
self.assertEqual( self.assertEqual(
spanish_accounts['do_account_110201_es_419']['name'], spanish_accounts['do_account_110201_es_419']['name'],
'Cuentas por cobrar clientes') 'Cuentas por cobrar clientes')
self.assertEqual(
spanish_accounts['do_account_110406_es_419']['name'],
'ITBIS retenido en adquisiciones a recuperar')
self.assertEqual( self.assertEqual(
spanish_taxes['do_tax_itbis_18_venta_es_419']['description'], spanish_taxes['do_tax_itbis_18_venta_es_419']['description'],
'ITBIS 18% Ventas') 'ITBIS 18% Ventas')
@@ -891,7 +947,7 @@ class AccountDoUnitTestCase(unittest.TestCase):
'account_chart_do_en.xml') 'account_chart_do_en.xml')
if model == 'account.account.template' if model == 'account.account.template'
} }
self.assertEqual(len(taxes), 51) self.assertEqual(len(taxes), 56)
for record_id, values in taxes.items(): for record_id, values in taxes.items():
with self.subTest(record_id=record_id): with self.subTest(record_id=record_id):
self.assertEqual( self.assertEqual(
@@ -939,6 +995,26 @@ class AccountDoUnitTestCase(unittest.TestCase):
self.assertEqual( self.assertEqual(
taxes['do_tax_ret_isr_bovine_1']['start_date'], taxes['do_tax_ret_isr_bovine_1']['start_date'],
'datetime.date(2025, 6, 20)') 'datetime.date(2025, 6, 20)')
for old_id in [
'do_tax_ret_isr_serv_10',
'do_tax_ret_isr_alq_10',
'do_tax_ret_isr_premios_10',
'do_tax_ret_isr_premios_15',
'do_tax_ret_isr_tragamonedas_10',
'do_tax_ret_isr_other_income_10',
]:
self.assertEqual(
taxes[old_id]['end_date'], 'datetime.date(2026, 6, 30)')
for current_id in [
'do_tax_ret_isr_serv_15',
'do_tax_ret_isr_alq_15',
'do_tax_ret_isr_betting_15',
'do_tax_ret_isr_tragamonedas_15',
'do_tax_ret_isr_other_income_15',
]:
self.assertEqual(
taxes[current_id]['start_date'],
'datetime.date(2026, 7, 1)')
self.assertIn( self.assertIn(
'Tax Code Arts. 401-405; Art. 404', 'Tax Code Arts. 401-405; Art. 404',
taxes['do_tax_activos_1']['legal_notice']) taxes['do_tax_activos_1']['legal_notice'])
@@ -1036,6 +1112,37 @@ class AccountDoUnitTestCase(unittest.TestCase):
self.assertEqual(lines['do_tcl_isc_comb_inv']['operator'], '+') self.assertEqual(lines['do_tcl_isc_comb_inv']['operator'], '+')
self.assertEqual(lines['do_tcl_prop_inv']['code'], 'do_tc_others_tip') self.assertEqual(lines['do_tcl_prop_inv']['code'], 'do_tc_others_tip')
def test_tax_code_lines_reverse_credit_notes(self):
"""Every reported amount must have an inverse credit-note line."""
pairs = {}
for _, record_id, model, values in _iter_xml_records(
'tax_code_do_en.xml'):
if model != 'account.tax.code.line.template':
continue
key = (values['tax'], values['amount'])
pair = pairs.setdefault(key, {})
self.assertNotIn(values['type'], pair)
pair[values['type']] = (
record_id, values['operator'])
for key, lines in pairs.items():
with self.subTest(tax=key[0], amount=key[1]):
self.assertEqual(set(lines), {'invoice', 'credit'})
self.assertNotEqual(
lines['invoice'][1], lines['credit'][1])
def test_every_tax_is_reported_by_a_tax_code(self):
taxes = {
record_id for _, record_id, model, _values
in _iter_xml_records('tax_do_en.xml')
if model == 'account.tax.template'
}
reported = {
values['tax'] for _, _, model, values
in _iter_xml_records('tax_code_do_en.xml')
if model == 'account.tax.code.line.template'
}
self.assertEqual(taxes, reported)
def test_tax_rule_templates_include_date_sensitive_bank_tax(self): def test_tax_rule_templates_include_date_sensitive_bank_tax(self):
rules = { rules = {
record_id: values record_id: values