Harden localization data and validation

This commit is contained in:
José Arturo García
2026-08-10 08:42:52 -04:00
parent 6f12c82ce1
commit e646947a6e
7 changed files with 132 additions and 85 deletions
+2
View File
@@ -12,3 +12,5 @@ Version 8.0.1 - 2026-08-09
technical assistance out of the 10% interest category. technical assistance out of the 10% interest category.
* 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.
* Translate every user-visible legal notice in the English tax catalog.
+10 -8
View File
@@ -3,6 +3,15 @@
from trytond.pool import Pool, PoolMeta from trytond.pool import Pool, PoolMeta
CHART_DEFAULT_ACCOUNTS = {
'account_do.do_account_root_en': (
'account_do.do_account_110201_en',
'account_do.do_account_210101_en'),
'account_do.do_account_root_es_419': (
'account_do.do_account_110201_es_419',
'account_do.do_account_210101_es_419'),
}
class CreateChart(metaclass=PoolMeta): class CreateChart(metaclass=PoolMeta):
__name__ = 'account.create_chart' __name__ = 'account.create_chart'
@@ -12,14 +21,7 @@ class CreateChart(metaclass=PoolMeta):
ModelData = pool.get('ir.model.data') ModelData = pool.get('ir.model.data')
defaults = super().default_properties(fields) defaults = super().default_properties(fields)
chart_defaults = {} chart_defaults = {}
for root, accounts in [ for root, accounts in CHART_DEFAULT_ACCOUNTS.items():
('account_do.do_account_root_en', (
'account_do.do_account_110201_en',
'account_do.do_account_210101_en')),
('account_do.do_account_root_es_419', (
'account_do.do_account_110201_es_419',
'account_do.do_account_210101_es_419')),
]:
try: try:
chart_defaults[ModelData.get_id(root)] = accounts chart_defaults[ModelData.get_id(root)] = accounts
except KeyError: except KeyError:
-5
View File
@@ -14,11 +14,6 @@
<tryton> <tryton>
<data language="en"> <data language="en">
<!-- ===== Árbol de códigos de impuesto ===== --> <!-- ===== Árbol de códigos de impuesto ===== -->
<record id="do_tc_root_en" model="account.tax.code.template">
<field name="name">Dominican Republic Taxes</field>
<field name="account" ref="do_account_root_en"/>
</record>
<!-- ── 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>
-4
View File
@@ -1,10 +1,6 @@
<?xml version='1.0' encoding='utf-8'?> <?xml version='1.0' encoding='utf-8'?>
<tryton> <tryton>
<data language="es_419"> <data language="es_419">
<record id="do_tc_root_es_419" model="account.tax.code.template">
<field name="name">Impuestos República Dominicana</field>
<field name="account" ref="do_account_root_es_419" />
</record>
<record id="do_tc_itbis_es_419" model="account.tax.code.template"> <record id="do_tc_itbis_es_419" model="account.tax.code.template">
<field name="name">ITBIS — Balance Neto (Débito Crédito)</field> <field name="name">ITBIS — Balance Neto (Débito Crédito)</field>
<field name="account" ref="do_account_root_es_419" /> <field name="account" ref="do_account_root_es_419" />
+49 -54
View File
@@ -12,11 +12,6 @@
<field name="code">ISR</field> <field name="code">ISR</field>
<field name="kind">both</field> <field name="kind">both</field>
</record> </record>
<record id="do_tax_group_exempt_en" model="account.tax.group">
<field name="name">Exempt / Zero Rate</field>
<field name="code">EX0</field>
<field name="kind">both</field>
</record>
<record id="do_tax_group_isc_en" model="account.tax.group"> <record id="do_tax_group_isc_en" model="account.tax.group">
<field name="name">ISC - Selective Consumer</field> <field name="name">ISC - Selective Consumer</field>
<field name="code">ISC</field> <field name="code">ISC</field>
@@ -53,7 +48,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21020101_en" /> <field name="invoice_account" ref="do_account_21020101_en" />
<field name="credit_note_account" ref="do_account_21020101_en" /> <field name="credit_note_account" ref="do_account_21020101_en" />
<field name="legal_notice">Arts. 335-392 CT Ley 11-92; Ley 253-12 Art. 10; Decreto 293-11</field> <field name="legal_notice">Tax Code Arts. 335-392; Law 253-12 Art. 10; Decree 293-11</field>
</record> </record>
<record id="do_tax_itbis_16_venta_en" model="account.tax.template"> <record id="do_tax_itbis_16_venta_en" model="account.tax.template">
<field name="name">ITBIS 16% — Special Rate Sales (Legal and Natural Persons)</field> <field name="name">ITBIS 16% — Special Rate Sales (Legal and Natural Persons)</field>
@@ -64,7 +59,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21020102_en" /> <field name="invoice_account" ref="do_account_21020102_en" />
<field name="credit_note_account" ref="do_account_21020102_en" /> <field name="credit_note_account" ref="do_account_21020102_en" />
<field name="legal_notice">Art. 345 CT Ley 11-92 mod. Ley 253-12 — tasa especial 16%</field> <field name="legal_notice">Tax Code Art. 345, amended by Law 253-12 — special 16% rate</field>
</record> </record>
<record id="do_tax_itbis_18_compra_en" model="account.tax.template"> <record id="do_tax_itbis_18_compra_en" model="account.tax.template">
<field name="name">ITBIS 18% — Purchases / Tax Credit (Legal and Natural Persons)</field> <field name="name">ITBIS 18% — Purchases / Tax Credit (Legal and Natural Persons)</field>
@@ -75,7 +70,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_11040101_en" /> <field name="invoice_account" ref="do_account_11040101_en" />
<field name="credit_note_account" ref="do_account_11040101_en" /> <field name="credit_note_account" ref="do_account_11040101_en" />
<field name="legal_notice">Arts. 349-357 CT Ley 11-92 — Crédito fiscal ITBIS; Decreto 293-11</field> <field name="legal_notice">Tax Code Arts. 349-357 — ITBIS input tax credit; Decree 293-11</field>
</record> </record>
<record id="do_tax_itbis_16_compra_en" model="account.tax.template"> <record id="do_tax_itbis_16_compra_en" model="account.tax.template">
<field name="name">ITBIS 16% — Purchases / Tax Credit Special Rate</field> <field name="name">ITBIS 16% — Purchases / Tax Credit Special Rate</field>
@@ -86,7 +81,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_11040102_en" /> <field name="invoice_account" ref="do_account_11040102_en" />
<field name="credit_note_account" ref="do_account_11040102_en" /> <field name="credit_note_account" ref="do_account_11040102_en" />
<field name="legal_notice">Art. 345 CT Ley 11-92 — Crédito fiscal tasa especial 16%</field> <field name="legal_notice">Tax Code Art. 345 — input tax credit at the special 16% rate</field>
</record> </record>
<record id="do_tax_itbis_exento_en" model="account.tax.template"> <record id="do_tax_itbis_exento_en" model="account.tax.template">
<field name="name">Exempt ITBIS — Exempt Goods and Services (Legal and Natural Persons)</field> <field name="name">Exempt ITBIS — Exempt Goods and Services (Legal and Natural Persons)</field>
@@ -94,7 +89,7 @@
<field name="type">none</field> <field name="type">none</field>
<field name="group" ref="do_tax_group_itbis_en" /> <field name="group" ref="do_tax_group_itbis_en" />
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="legal_notice">Arts. 343-344 CT Ley 11-92; Ley 288-04; NG 12-22 DGII</field> <field name="legal_notice">Tax Code Arts. 343-344; Law 288-04; DGII General Rule 12-22</field>
</record> </record>
<record id="do_tax_itbis_tasa_cero_en" model="account.tax.template"> <record id="do_tax_itbis_tasa_cero_en" model="account.tax.template">
<field name="name">ITBIS Zero Rate — Exports and Free Zone (Legal and Natural Persons)</field> <field name="name">ITBIS Zero Rate — Exports and Free Zone (Legal and Natural Persons)</field>
@@ -105,7 +100,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21020105_en" /> <field name="invoice_account" ref="do_account_21020105_en" />
<field name="credit_note_account" ref="do_account_21020105_en" /> <field name="credit_note_account" ref="do_account_21020105_en" />
<field name="legal_notice">Art. 342 CT; Ley 557-05; Ley 8-90 Zonas Francas; NG 05-19 DGII</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 --> <!-- Retención ITBIS 30% Gran Contribuyente: tasa negativa (-5.4%) = 30% × 18% sobre la base -->
<record id="do_tax_ret_itbis_30_en" model="account.tax.template"> <record id="do_tax_ret_itbis_30_en" model="account.tax.template">
@@ -117,7 +112,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21021101_en" /> <field name="invoice_account" ref="do_account_21021101_en" />
<field name="credit_note_account" ref="do_account_21021101_en" /> <field name="credit_note_account" ref="do_account_21021101_en" />
<field name="legal_notice">NG 01-11 DGII 2011; Arts. 309 y 337 CT — Grandes Contribuyentes</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 RETENCIONES — Arts. 307-309 CT Ley 11-92; Decreto 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">
@@ -129,7 +124,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21021301_en" /> <field name="invoice_account" ref="do_account_21021301_en" />
<field name="credit_note_account" ref="do_account_21021301_en" /> <field name="credit_note_account" ref="do_account_21021301_en" />
<field name="legal_notice">Art. 309 CT Ley 11-92; Decreto 95-12 — Honorarios personas jurídicas</field> <field name="legal_notice">Tax Code Art. 309; Decree 95-12 — fees paid to legal entities</field>
</record> </record>
<record id="do_tax_ret_isr_serv_10_en" model="account.tax.template"> <record id="do_tax_ret_isr_serv_10_en" model="account.tax.template">
<field name="name">ISR Withholding 10% — Fees and Services to Individuals</field> <field name="name">ISR Withholding 10% — Fees and Services to Individuals</field>
@@ -140,7 +135,7 @@
<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">Art. 309 CT Ley 11-92; Decreto 95-12 — Honorarios personas físicas</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_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>
@@ -151,7 +146,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21020601_en" /> <field name="invoice_account" ref="do_account_21020601_en" />
<field name="credit_note_account" ref="do_account_21020601_en" /> <field name="credit_note_account" ref="do_account_21020601_en" />
<field name="legal_notice">Art. 308 CT Ley 11-92; Decreto 95-12; Formulario IR-18</field> <field name="legal_notice">Tax Code Art. 308; Decree 95-12; DGII Form IR-18</field>
</record> </record>
<record id="do_tax_ret_isr_int_10_en" model="account.tax.template"> <record id="do_tax_ret_isr_int_10_en" model="account.tax.template">
<field name="name">ISR Withholding 10% — Interest to Individuals (NG 07-19)</field> <field name="name">ISR Withholding 10% — Interest to Individuals (NG 07-19)</field>
@@ -162,7 +157,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21021501_en" /> <field name="invoice_account" ref="do_account_21021501_en" />
<field name="credit_note_account" ref="do_account_21021501_en" /> <field name="credit_note_account" ref="do_account_21021501_en" />
<field name="legal_notice">NG 07-19 DGII; Art. 306 bis CT Intereses personas físicas, definitivo</field> <field name="legal_notice">DGII General Rule 07-19; Tax Code Art. 306 bis — interest paid to individuals</field>
</record> </record>
<record id="do_tax_ret_isr_alq_10_en" model="account.tax.template"> <record id="do_tax_ret_isr_alq_10_en" model="account.tax.template">
<field name="name">ISR Withholding 10% — Rentals and Leases (Natural and Legal Persons)</field> <field name="name">ISR Withholding 10% — Rentals and Leases (Natural and Legal Persons)</field>
@@ -173,7 +168,7 @@
<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">Art. 309 CT; NG 08-11 DGII — Alquileres personas físicas y jurídicas</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_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>
@@ -184,7 +179,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_11040801_en" /> <field name="invoice_account" ref="do_account_11040801_en" />
<field name="credit_note_account" ref="do_account_11040801_en" /> <field name="credit_note_account" ref="do_account_11040801_en" />
<field name="legal_notice">Art. 309 CT; Decreto 95-12; Formulario 623 DGII — Sector público</field> <field name="legal_notice">Tax Code Art. 309; Decree 95-12; DGII Form 623 — public sector</field>
</record> </record>
<record id="do_tax_ret_isr_est_5_en" model="account.tax.template"> <record id="do_tax_ret_isr_est_5_en" model="account.tax.template">
<field name="name">ISR Withholding 5% — State/Public Sector Payments (Natural and Legal Persons)</field> <field name="name">ISR Withholding 5% — State/Public Sector Payments (Natural and Legal Persons)</field>
@@ -195,7 +190,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_11040802_en" /> <field name="invoice_account" ref="do_account_11040802_en" />
<field name="credit_note_account" ref="do_account_11040802_en" /> <field name="credit_note_account" ref="do_account_11040802_en" />
<field name="legal_notice">Art. 309 CT mod. Ley 253-12 — retención pagos del Estado 5%</field> <field name="legal_notice">Tax Code Art. 309, amended by Law 253-12 — 5% on state payments</field>
</record> </record>
<record id="do_tax_ret_isr_bovine_1_en" model="account.tax.template"> <record id="do_tax_ret_isr_bovine_1_en" model="account.tax.template">
<field name="name">ISR Withholding 1% — Bovine Purchases from Unregistered Individuals</field> <field name="name">ISR Withholding 1% — Bovine Purchases from Unregistered Individuals</field>
@@ -207,7 +202,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21021801_en" /> <field name="invoice_account" ref="do_account_21021801_en" />
<field name="credit_note_account" ref="do_account_21021801_en" /> <field name="credit_note_account" ref="do_account_21021801_en" />
<field name="legal_notice">NG 04-2025 arts. 2, 4, 5 y 11 — 1% del monto facturado</field> <field name="legal_notice">DGII General Rule 04-2025 Arts. 2, 4, 5 and 11 — 1% of billed amount</field>
</record> </record>
<record id="do_tax_ret_isr_exporter_25_en" model="account.tax.template"> <record id="do_tax_ret_isr_exporter_25_en" model="account.tax.template">
<field name="name">ISR Withholding 2.5% — Exporters in Sales to the Local Market</field> <field name="name">ISR Withholding 2.5% — Exporters in Sales to the Local Market</field>
@@ -218,7 +213,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_11040803_en" /> <field name="invoice_account" ref="do_account_11040803_en" />
<field name="credit_note_account" ref="do_account_11040803_en" /> <field name="credit_note_account" ref="do_account_11040803_en" />
<field name="legal_notice">NG 15-07 DGII — retención 2.5% ventas locales de exportadores</field> <field name="legal_notice">DGII General Rule 15-07 — 2.5% on exporters' domestic sales</field>
</record> </record>
<record id="do_tax_ret_isr_int_pj_1_en" model="account.tax.template"> <record id="do_tax_ret_isr_int_pj_1_en" model="account.tax.template">
<field name="name">ISR Withholding 1% — Interest to Legal Entities (NG 07-19)</field> <field name="name">ISR Withholding 1% — Interest to Legal Entities (NG 07-19)</field>
@@ -229,7 +224,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21021502_en" /> <field name="invoice_account" ref="do_account_21021502_en" />
<field name="credit_note_account" ref="do_account_21021502_en" /> <field name="credit_note_account" ref="do_account_21021502_en" />
<field name="legal_notice">NG 07-19 DGII 2019; Art. 306 bis CT Intereses personas jurídicas</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% — Lottery Prizes, Draws and Raffles (Natural and Legal Persons)</field>
@@ -240,7 +235,7 @@
<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">Art. 321 CT Ley 11-92; Decreto 95-12 — Premios y loterías, definitivo</field> <field name="legal_notice">Tax Code Art. 321; Decree 95-12 — prizes and lotteries, final payment</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>
@@ -251,7 +246,7 @@
<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" />
<field name="credit_note_account" ref="do_account_21021702_en" /> <field name="credit_note_account" ref="do_account_21021702_en" />
<field name="legal_notice">Art. 309 CT mod. Ley 253-12 — premios RD$100,001 a RD$500,000 10%</field> <field name="legal_notice">Tax Code Art. 309, amended by Law 253-12 — prizes from RD$100,001 to RD$500,000</field>
</record> </record>
<record id="do_tax_ret_isr_premios_15_en" model="account.tax.template"> <record id="do_tax_ret_isr_premios_15_en" model="account.tax.template">
<field name="name">ISR Withholding 15% — Awards RD$500,001 to RD$1,000,000</field> <field name="name">ISR Withholding 15% — Awards RD$500,001 to RD$1,000,000</field>
@@ -262,7 +257,7 @@
<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">Art. 309 CT mod. Ley 253-12 — premios RD$500,001 a RD$1,000,000 15%</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_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>
@@ -273,7 +268,7 @@
<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">Art. 309 CT mod. Ley 253-12 — premios máquinas tragamonedas 10%</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_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>
@@ -284,7 +279,7 @@
<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">Art. 309 CT mod. Ley 253-12 — otras rentas no contempladas 10%</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 ══════ --> <!-- ══════ ISR PAGOS AL EXTERIOR — Arts. 305-306 CT Ley 11-92 ══════ -->
<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">
@@ -296,7 +291,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21020701_en" /> <field name="invoice_account" ref="do_account_21020701_en" />
<field name="credit_note_account" ref="do_account_21020701_en" /> <field name="credit_note_account" ref="do_account_21020701_en" />
<field name="legal_notice">Art. 305 CT Ley 11-92 — pagos gravados no sujetos a una tasa especial</field> <field name="legal_notice">Tax Code Art. 305 — taxable payments not subject to a special rate</field>
</record> </record>
<record id="do_tax_ret_isr_ext_15_en" model="account.tax.template"> <record id="do_tax_ret_isr_ext_15_en" model="account.tax.template">
<field name="name">ISR Withholding 15% — Foreign Royalties, Software and Online Services</field> <field name="name">ISR Withholding 15% — Foreign Royalties, Software and Online Services</field>
@@ -332,7 +327,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21020201_en" /> <field name="invoice_account" ref="do_account_21020201_en" />
<field name="credit_note_account" ref="do_account_21020201_en" /> <field name="credit_note_account" ref="do_account_21020201_en" />
<field name="legal_notice">NG 01-11 DGII — Retención 100% ITBIS en servicios gravados</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 <!-- Proveedor informal de bienes gravados: la NG 08-10 establece retención
del 75% del ITBIS. La tasa contable es -13.5% = 75% × 18%. --> del 75% del ITBIS. La tasa contable es -13.5% = 75% × 18%. -->
@@ -345,7 +340,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21021201_en" /> <field name="invoice_account" ref="do_account_21021201_en" />
<field name="credit_note_account" ref="do_account_21021201_en" /> <field name="credit_note_account" ref="do_account_21021201_en" />
<field name="legal_notice">NG 08-10 DGII — Retención 75% ITBIS compras a proveedores informales</field> <field name="legal_notice">DGII General Rule 08-10 — 75% of ITBIS on informal-supplier purchases</field>
</record> </record>
<record id="do_tax_ret_itbis_75_inf_16_en" model="account.tax.template"> <record id="do_tax_ret_itbis_75_inf_16_en" model="account.tax.template">
<field name="name">ITBIS Withholding 75% — Goods Informal Supplier Rate 16%</field> <field name="name">ITBIS Withholding 75% — Goods Informal Supplier Rate 16%</field>
@@ -356,7 +351,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21021202_en" /> <field name="invoice_account" ref="do_account_21021202_en" />
<field name="credit_note_account" ref="do_account_21021202_en" /> <field name="credit_note_account" ref="do_account_21021202_en" />
<field name="legal_notice">IT-1 DGII casilla 57; NG 08-10/05-19 — 75% de ITBIS tasa 16%</field> <field name="legal_notice">DGII Form IT-1 box 57; General Rules 08-10 and 05-19 — 75% at the 16% rate</field>
</record> </record>
<record id="do_tax_ret_itbis_100_goods_18_en" model="account.tax.template"> <record id="do_tax_ret_itbis_100_goods_18_en" model="account.tax.template">
<field name="name">ITBIS Withholding 100% — Goods Informal Supplier Rate 18%</field> <field name="name">ITBIS Withholding 100% — Goods Informal Supplier Rate 18%</field>
@@ -367,7 +362,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21021203_en" /> <field name="invoice_account" ref="do_account_21021203_en" />
<field name="credit_note_account" ref="do_account_21021203_en" /> <field name="credit_note_account" ref="do_account_21021203_en" />
<field name="legal_notice">IT-1 DGII casilla 56 — bienes comprobante de compras, retención 100%</field> <field name="legal_notice">DGII Form IT-1 box 56 — goods supported by a purchase receipt, 100% withholding</field>
</record> </record>
<record id="do_tax_ret_itbis_100_goods_16_en" model="account.tax.template"> <record id="do_tax_ret_itbis_100_goods_16_en" model="account.tax.template">
<field name="name">ITBIS Withholding 100% — Goods Informal Supplier Rate 16%</field> <field name="name">ITBIS Withholding 100% — Goods Informal Supplier Rate 16%</field>
@@ -378,7 +373,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21021204_en" /> <field name="invoice_account" ref="do_account_21021204_en" />
<field name="credit_note_account" ref="do_account_21021204_en" /> <field name="credit_note_account" ref="do_account_21021204_en" />
<field name="legal_notice">IT-1 DGII casilla 57 — bienes comprobante de compras, retención 100%</field> <field name="legal_notice">DGII Form IT-1 box 57 — goods supported by a purchase receipt, 100% withholding</field>
</record> </record>
<record id="do_tax_ret_itbis_rst_18_en" model="account.tax.template"> <record id="do_tax_ret_itbis_rst_18_en" model="account.tax.template">
<field name="name">ITBIS Withholding 100% — RST Taxpayers Rate 18%</field> <field name="name">ITBIS Withholding 100% — RST Taxpayers Rate 18%</field>
@@ -389,7 +384,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21020202_en" /> <field name="invoice_account" ref="do_account_21020202_en" />
<field name="credit_note_account" ref="do_account_21020202_en" /> <field name="credit_note_account" ref="do_account_21020202_en" />
<field name="legal_notice">IT-1 DGII casilla 53 — ITBIS retenido RST operaciones gravadas 18%</field> <field name="legal_notice">DGII Form IT-1 box 53 — ITBIS withheld from RST taxable transactions at 18%</field>
</record> </record>
<record id="do_tax_ret_itbis_rst_16_en" model="account.tax.template"> <record id="do_tax_ret_itbis_rst_16_en" model="account.tax.template">
<field name="name">ITBIS Withholding 100% — RST Taxpayers Rate 16%</field> <field name="name">ITBIS Withholding 100% — RST Taxpayers Rate 16%</field>
@@ -400,7 +395,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21020203_en" /> <field name="invoice_account" ref="do_account_21020203_en" />
<field name="credit_note_account" ref="do_account_21020203_en" /> <field name="credit_note_account" ref="do_account_21020203_en" />
<field name="legal_notice">IT-1 DGII casilla 54 — ITBIS retenido RST operaciones gravadas 16%</field> <field name="legal_notice">DGII Form IT-1 box 54 — ITBIS withheld from RST taxable transactions at 16%</field>
</record> </record>
<record id="do_tax_ret_itbis_insurance_100_en" model="account.tax.template"> <record id="do_tax_ret_itbis_insurance_100_en" model="account.tax.template">
<field name="name">ITBIS Withholding 100% — Insurance Companies</field> <field name="name">ITBIS Withholding 100% — Insurance Companies</field>
@@ -411,7 +406,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21020204_en" /> <field name="invoice_account" ref="do_account_21020204_en" />
<field name="credit_note_account" ref="do_account_21020204_en" /> <field name="credit_note_account" ref="do_account_21020204_en" />
<field name="legal_notice">NG 04-13 DGII — aseguradoras retienen 100% del ITBIS facturado</field> <field name="legal_notice">DGII General Rule 04-13 — insurers withhold 100% of billed ITBIS</field>
</record> </record>
<record id="do_tax_ret_itbis_airline_100_en" model="account.tax.template"> <record id="do_tax_ret_itbis_airline_100_en" model="account.tax.template">
<field name="name">ITBIS Withheld by Airlines 100% — BSP/IATA</field> <field name="name">ITBIS Withheld by Airlines 100% — BSP/IATA</field>
@@ -422,7 +417,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_11040701_en" /> <field name="invoice_account" ref="do_account_11040701_en" />
<field name="credit_note_account" ref="do_account_11040701_en" /> <field name="credit_note_account" ref="do_account_11040701_en" />
<field name="legal_notice">IT-1 DGII casilla 28; NG 02-05 — ITBIS retenido por aerolíneas</field> <field name="legal_notice">DGII Form IT-1 box 28; General Rule 02-05 — ITBIS withheld by airlines</field>
</record> </record>
<record id="do_tax_ret_itbis_society_30_suf_en" model="account.tax.template"> <record id="do_tax_ret_itbis_society_30_suf_en" model="account.tax.template">
<field name="name">ITBIS Withheld by Companies 30% — Withholding Suffered</field> <field name="name">ITBIS Withheld by Companies 30% — Withholding Suffered</field>
@@ -433,7 +428,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_11040702_en" /> <field name="invoice_account" ref="do_account_11040702_en" />
<field name="credit_note_account" ref="do_account_11040702_en" /> <field name="credit_note_account" ref="do_account_11040702_en" />
<field name="legal_notice">IT-1 DGII casilla 29; NG 02-05/07-09 — sociedades retienen ITBIS</field> <field name="legal_notice">DGII Form IT-1 box 29; General Rules 02-05 and 07-09 — ITBIS withheld by companies</field>
</record> </record>
<record id="do_tax_ret_itbis_hotel_100_en" model="account.tax.template"> <record id="do_tax_ret_itbis_hotel_100_en" model="account.tax.template">
<field name="name">ITBIS Withheld by Hotels 100% — Package Commissions</field> <field name="name">ITBIS Withheld by Hotels 100% — Package Commissions</field>
@@ -444,7 +439,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_11040703_en" /> <field name="invoice_account" ref="do_account_11040703_en" />
<field name="credit_note_account" ref="do_account_11040703_en" /> <field name="credit_note_account" ref="do_account_11040703_en" />
<field name="legal_notice">IT-1 DGII casilla 30; NG 02-05 — hoteles retienen ITBIS en comisiones</field> <field name="legal_notice">DGII Form IT-1 box 30; General Rule 02-05 — ITBIS withheld by hotels on commissions</field>
</record> </record>
<record id="do_tax_ret_itbis_state_100_en" model="account.tax.template"> <record id="do_tax_ret_itbis_state_100_en" model="account.tax.template">
<field name="name">ITBIS Withheld by State Entities 100%</field> <field name="name">ITBIS Withheld by State Entities 100%</field>
@@ -455,7 +450,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_11040704_en" /> <field name="invoice_account" ref="do_account_11040704_en" />
<field name="credit_note_account" ref="do_account_11040704_en" /> <field name="credit_note_account" ref="do_account_11040704_en" />
<field name="legal_notice">IT-1 DGII casilla 31 — ITBIS retenido por instituciones del Estado</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 — IMPUESTO SELECTIVO AL CONSUMO — Arts. 393-441 CT ══════ -->
<record id="do_tax_isc_bebidas_alc_en" model="account.tax.template"> <record id="do_tax_isc_bebidas_alc_en" model="account.tax.template">
@@ -467,7 +462,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21020801_en" /> <field name="invoice_account" ref="do_account_21020801_en" />
<field name="credit_note_account" ref="do_account_21020801_en" /> <field name="credit_note_account" ref="do_account_21020801_en" />
<field name="legal_notice">Ley 253-12 mod. Art. 375 CT — ISC bebidas alcohólicas ad valorem 10%</field> <field name="legal_notice">Law 253-12, amending Tax Code Art. 375 — 10% ad valorem ISC on alcoholic beverages</field>
</record> </record>
<record id="do_tax_isc_tabaco_en" model="account.tax.template"> <record id="do_tax_isc_tabaco_en" model="account.tax.template">
<field name="name">ISC 20% — Tobacco, Cigarettes and Derivatives</field> <field name="name">ISC 20% — Tobacco, Cigarettes and Derivatives</field>
@@ -478,7 +473,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21020802_en" /> <field name="invoice_account" ref="do_account_21020802_en" />
<field name="credit_note_account" ref="do_account_21020802_en" /> <field name="credit_note_account" ref="do_account_21020802_en" />
<field name="legal_notice">Arts. 393-441 CT Ley 11-92 — ISC tabaco y cigarrillos, ad valorem 20%</field> <field name="legal_notice">Tax Code Arts. 393-441 — 20% ad valorem ISC on tobacco and cigarettes</field>
</record> </record>
<record id="do_tax_isc_telecom_en" model="account.tax.template"> <record id="do_tax_isc_telecom_en" model="account.tax.template">
<field name="name">ISC 10% — Telecommunications Services</field> <field name="name">ISC 10% — Telecommunications Services</field>
@@ -489,7 +484,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21020803_en" /> <field name="invoice_account" ref="do_account_21020803_en" />
<field name="credit_note_account" ref="do_account_21020803_en" /> <field name="credit_note_account" ref="do_account_21020803_en" />
<field name="legal_notice">Arts. 393-441 CT; Ley 253-12 — ISC servicios telecomunicaciones 10%</field> <field name="legal_notice">Tax Code Arts. 393-441; Law 253-12 — 10% ISC on telecommunications services</field>
</record> </record>
<record id="do_tax_isc_combustibles_16_en" model="account.tax.template"> <record id="do_tax_isc_combustibles_16_en" model="account.tax.template">
<field name="name">ISC 16% — Fossil Fuels and Petroleum Derivatives</field> <field name="name">ISC 16% — Fossil Fuels and Petroleum Derivatives</field>
@@ -500,7 +495,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21020804_en" /> <field name="invoice_account" ref="do_account_21020804_en" />
<field name="credit_note_account" ref="do_account_21020804_en" /> <field name="credit_note_account" ref="do_account_21020804_en" />
<field name="legal_notice">Ley 253-12 mod. Art. 367 CT — ISC combustibles fósiles 16%</field> <field name="legal_notice">Law 253-12, amending Tax Code Art. 367 — 16% ISC on fossil fuels</field>
</record> </record>
<record id="do_tax_isc_avtur_65_en" model="account.tax.template"> <record id="do_tax_isc_avtur_65_en" model="account.tax.template">
<field name="name">ISC 6.5% — Avtur Reduced Rate</field> <field name="name">ISC 6.5% — Avtur Reduced Rate</field>
@@ -511,7 +506,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21020807_en" /> <field name="invoice_account" ref="do_account_21020807_en" />
<field name="credit_note_account" ref="do_account_21020807_en" /> <field name="credit_note_account" ref="do_account_21020807_en" />
<field name="legal_notice">Ley 253-12 Art. 23 — tasa reducida Avtur 6.5% ad valorem</field> <field name="legal_notice">Law 253-12 Art. 23 — reduced 6.5% ad valorem rate for Avtur</field>
</record> </record>
<record id="do_tax_isc_fuel_rd2_gallon_en" model="account.tax.template"> <record id="do_tax_isc_fuel_rd2_gallon_en" model="account.tax.template">
<field name="name">ISC RD$2.00 — Additional per Gallon Gasoline/Diesel</field> <field name="name">ISC RD$2.00 — Additional per Gallon Gasoline/Diesel</field>
@@ -522,7 +517,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21020808_en" /> <field name="invoice_account" ref="do_account_21020808_en" />
<field name="credit_note_account" ref="do_account_21020808_en" /> <field name="credit_note_account" ref="do_account_21020808_en" />
<field name="legal_notice">Ley 253-12 Art. 20 — adicional RD$2.00 por galón gasolina/gasoil</field> <field name="legal_notice">Law 253-12 Art. 20 — additional RD$2.00 per gallon of gasoline or diesel</field>
</record> </record>
<record id="do_tax_ret_isc_insurance_100_en" model="account.tax.template"> <record id="do_tax_ret_isc_insurance_100_en" model="account.tax.template">
<field name="name">ISC Withholding 100% — Insurance Companies</field> <field name="name">ISC Withholding 100% — Insurance Companies</field>
@@ -533,7 +528,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21020806_en" /> <field name="invoice_account" ref="do_account_21020806_en" />
<field name="credit_note_account" ref="do_account_21020806_en" /> <field name="credit_note_account" ref="do_account_21020806_en" />
<field name="legal_notice">NG 04-13 DGII — aseguradoras retienen 100% del ISC facturado</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 <!-- Impuesto de primera placa. El impuesto por emisiones de CO2 es distinto y
no se modela aquí porque su tasa depende de las emisiones del vehículo. --> no se modela aquí porque su tasa depende de las emisiones del vehículo. -->
@@ -546,7 +541,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21020805_en" /> <field name="invoice_account" ref="do_account_21020805_en" />
<field name="credit_note_account" ref="do_account_21020805_en" /> <field name="credit_note_account" ref="do_account_21020805_en" />
<field name="legal_notice">Art. 22 Ley 557-05 — 17% sobre valor CIF para primera placa</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 — CONTRIBUCIÓN INDOTEL (LEY 153-98) ══════ -->
<!-- CDT: Contribución para el Desarrollo de las Telecomunicaciones. <!-- CDT: Contribución para el Desarrollo de las Telecomunicaciones.
@@ -561,7 +556,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21020901_en" /> <field name="invoice_account" ref="do_account_21020901_en" />
<field name="credit_note_account" ref="do_account_21020901_en" /> <field name="credit_note_account" ref="do_account_21020901_en" />
<field name="legal_notice">Art. 26 Ley 153-98 Telecomunicaciones — CDT INDOTEL 2% ingresos brutos</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 ══════ --> <!-- ══════ OTROS IMPUESTOS Y CONTRIBUCIONES ══════ -->
<!-- Propina legal: cargo obligatorio para hoteles, restaurantes, cafés, barras <!-- Propina legal: cargo obligatorio para hoteles, restaurantes, cafés, barras
@@ -575,7 +570,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21020501_en" /> <field name="invoice_account" ref="do_account_21020501_en" />
<field name="credit_note_account" ref="do_account_21020501_en" /> <field name="credit_note_account" ref="do_account_21020501_en" />
<field name="legal_notice">Código de Trabajo, Ley 16-92, art. 228 — propina obligatoria 10%</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% sobre valor de cheques y débitos bancarios electrónicos.
Lo recauda el banco automáticamente; es un costo financiero para la empresa. --> Lo recauda el banco automáticamente; es un costo financiero para la empresa. -->
@@ -589,7 +584,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21021901_en" /> <field name="invoice_account" ref="do_account_21021901_en" />
<field name="credit_note_account" ref="do_account_21021901_en" /> <field name="credit_note_account" ref="do_account_21021901_en" />
<field name="legal_notice">Art. 382-D CT Ley 11-92 mod. Ley 288-04 — 1.5 por mil cheques/débitos</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% sobre valor de cheques y transferencias bancarias desde
2026-07-03. Se mantiene separado del 0.15% histórico. --> 2026-07-03. Se mantiene separado del 0.15% histórico. -->
@@ -603,7 +598,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21021902_en" /> <field name="invoice_account" ref="do_account_21021902_en" />
<field name="credit_note_account" ref="do_account_21021902_en" /> <field name="credit_note_account" ref="do_account_21021902_en" />
<field name="legal_notice">Ley 30-26, vig. 2026-07-03 — 2.0 por mil cheques/transferencias</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 <!-- Impuesto anual sobre los activos imponibles. Su liquidación y crédito
contra ISR no se automatizan mediante esta plantilla contable. --> contra ISR no se automatizan mediante esta plantilla contable. -->
@@ -616,7 +611,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21020502_en" /> <field name="invoice_account" ref="do_account_21020502_en" />
<field name="credit_note_account" ref="do_account_21020502_en" /> <field name="credit_note_account" ref="do_account_21020502_en" />
<field name="legal_notice">Código Tributario, arts. 401-405; art. 404 — 1% anual</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: aplica a transferencias de bienes inmuebles. Las exenciones y la
valoración deben revisarse al liquidar cada operación. --> valoración deben revisarse al liquidar cada operación. -->
@@ -629,7 +624,7 @@
<field name="account" ref="do_account_root_en" /> <field name="account" ref="do_account_root_en" />
<field name="invoice_account" ref="do_account_21021001_en" /> <field name="invoice_account" ref="do_account_21021001_en" />
<field name="credit_note_account" ref="do_account_21021001_en" /> <field name="credit_note_account" ref="do_account_21021001_en" />
<field name="legal_notice">Art. 20 Ley 288-04, mod. art. 7 Ley 173-07 — tasa 3%</field> <field name="legal_notice">Law 288-04 Art. 20, amended by Law 173-07 Art. 7 — 3% rate</field>
</record> </record>
</data> </data>
</tryton> </tryton>
-5
View File
@@ -11,11 +11,6 @@
<field name="code">ISR</field> <field name="code">ISR</field>
<field name="kind">both</field> <field name="kind">both</field>
</record> </record>
<record id="do_tax_group_exempt_es_419" model="account.tax.group">
<field name="name">Exento / Tasa Cero</field>
<field name="code">EX0</field>
<field name="kind">both</field>
</record>
<record id="do_tax_group_isc_es_419" model="account.tax.group"> <record id="do_tax_group_isc_es_419" model="account.tax.group">
<field name="name">ISC - Selectivo al Consumo</field> <field name="name">ISC - Selectivo al Consumo</field>
<field name="code">ISC</field> <field name="code">ISC</field>
+71 -9
View File
@@ -306,7 +306,8 @@ class AccountDoTestCase(ModuleTestCase):
'210218', '210219', '210218', '210219',
'21020101', '21020102', '21020103', '21020104', '21020101', '21020102', '21020103', '21020104',
'21020105', '21020201', '21020501', '21020502', '21020105', '21020201', '21020501', '21020502',
'21020601', '21020701', '21020702', '21020801', '21020601', '21020701', '21020702', '21020703',
'21020801',
'21020802', '21020803', '21020804', '21020805', '21020802', '21020803', '21020804', '21020805',
'21020901', '21021001', '21021101', '21021201', '21020901', '21021001', '21021101', '21021201',
'21021301', '21021302', '21021401', '21021501', '21021301', '21021302', '21021401', '21021501',
@@ -372,6 +373,13 @@ class AccountDoTestCase(ModuleTestCase):
'ITBIS Withholding Informal Supplier 75%'), 'ITBIS Withholding Informal Supplier 75%'),
('rate', '=', Decimal('-0.135')), ('rate', '=', Decimal('-0.135')),
], limit=1)) ], limit=1))
foreign_15, = Tax.search([
('company', '=', company.id),
('description', '=', 'Foreign ISR Withholding 15%'),
], limit=1)
self.assertEqual(foreign_15.rate, Decimal('-0.15'))
self.assertEqual(
foreign_15.start_date, datetime.date(2026, 7, 1))
check_015, = Tax.search([ check_015, = Tax.search([
('company', '=', company.id), ('company', '=', company.id),
('description', '=', 'Checks and Transfers Tax 0.15%'), ('description', '=', 'Checks and Transfers Tax 0.15%'),
@@ -398,6 +406,43 @@ class AccountDoTestCase(ModuleTestCase):
'date': datetime.date(2026, 7, 3), 'date': datetime.date(2026, 7, 3),
}), }),
[check_020.id]) [check_020.id])
foreign_27, = Tax.search([
('company', '=', company.id),
('description', '=', 'Foreign ISR Withholding 27%'),
], limit=1)
foreign_rule, = TaxRule.search([
('company', '=', company.id),
('name', '=', (
'Foreign Royalties, Software and Online '
'Services 15% Rule (RD)')),
], limit=1)
self.assertEqual(
foreign_rule.apply(foreign_27, {
'date': datetime.date(2026, 6, 30),
}),
[foreign_27.id])
self.assertEqual(
foreign_rule.apply(foreign_27, {
'date': datetime.date(2026, 7, 1),
}),
[foreign_15.id])
itbis_sale, = Tax.search([
('company', '=', company.id),
('description', '=', 'ITBIS 18% Sales'),
], limit=1)
society_withholding, = Tax.search([
('company', '=', company.id),
('description', '=', 'ITBIS Withheld Companies 30%'),
], limit=1)
society_rule, = TaxRule.search([
('company', '=', company.id),
('name', '=', (
'ITBIS Withheld by Companies 30% Customer '
'Rule (RD)')),
], limit=1)
self.assertEqual(
society_rule.apply(itbis_sale, {}),
[society_withholding.id, itbis_sale.id])
real_tax_code_signs = { real_tax_code_signs = {
('ITBIS 18% Sales', 'invoice'): '+', ('ITBIS 18% Sales', 'invoice'): '+',
('ITBIS 18% Sales', 'credit'): '-', ('ITBIS 18% Sales', 'credit'): '-',
@@ -560,11 +605,11 @@ class AccountDoUnitTestCase(unittest.TestCase):
'account.account.template': 282, 'account.account.template': 282,
}, },
'tax_do_en.xml': { 'tax_do_en.xml': {
'account.tax.group': 7, 'account.tax.group': 6,
'account.tax.template': 51, 'account.tax.template': 51,
}, },
'tax_code_do_en.xml': { 'tax_code_do_en.xml': {
'account.tax.code.template': 44, 'account.tax.code.template': 43,
'account.tax.code.line.template': 95, 'account.tax.code.line.template': 95,
}, },
'tax_rule_do_en.xml': { 'tax_rule_do_en.xml': {
@@ -576,11 +621,11 @@ class AccountDoUnitTestCase(unittest.TestCase):
'account.account.template': 282, 'account.account.template': 282,
}, },
'tax_do_es_419.xml': { 'tax_do_es_419.xml': {
'account.tax.group': 7, 'account.tax.group': 6,
'account.tax.template': 51, 'account.tax.template': 51,
}, },
'tax_code_do_es_419.xml': { 'tax_code_do_es_419.xml': {
'account.tax.code.template': 44, 'account.tax.code.template': 43,
'account.tax.code.line.template': 95, 'account.tax.code.line.template': 95,
}, },
'tax_rule_do_es_419.xml': { 'tax_rule_do_es_419.xml': {
@@ -629,13 +674,17 @@ class AccountDoUnitTestCase(unittest.TestCase):
'tax_code_do_en.xml', 'tax_rule_do_en.xml'] 'tax_code_do_en.xml', 'tax_rule_do_en.xml']
for field in ET.parse(MODULE_DIR / filename).getroot().findall( for field in ET.parse(MODULE_DIR / filename).getroot().findall(
'.//field') './/field')
if field.get('name') in {'name', 'description'} and field.text) if field.get('name') in {
'name', 'description', 'legal_notice'} and field.text)
for phrase in [ for phrase in [
'advance itbis', 'assets for right of use', 'advance itbis', 'assets for right of use',
'charged for paying', 'clients tax rule', 'charged for paying', 'clients tax rule',
'collected to pay', 'deterioration', 'in favor', 'collected to pay', 'deterioration', 'in favor',
'itbis supported', 'other income and profits', 'itbis supported', 'other income and profits',
'physical persons', 'retention', 'withheld status', 'physical persons', 'retention', 'withheld status',
' aseguradoras ', ' bienes ', ' casilla ',
' combustibles ', ' intereses ', ' ley ', ' pagos ',
' personas ', ' premios ', ' retención ', ' tasa ',
]: ]:
with self.subTest(phrase=phrase): with self.subTest(phrase=phrase):
self.assertNotIn(phrase, text.lower()) self.assertNotIn(phrase, text.lower())
@@ -722,6 +771,19 @@ class AccountDoUnitTestCase(unittest.TestCase):
field.get('name'), ref)) field.get('name'), ref))
self.assertEqual(missing, []) self.assertEqual(missing, [])
def test_every_tax_group_is_used(self):
"""Do not install tax groups that no tax template can produce."""
records = list(_iter_xml_records('tax_do_en.xml'))
groups = {
record_id for _, record_id, model, _values in records
if model == 'account.tax.group'
}
used_groups = {
values['group'] for _, _, model, values in records
if model == 'account.tax.template' and values.get('group')
}
self.assertEqual(groups, used_groups)
def test_chart_template_codes_are_unique(self): def test_chart_template_codes_are_unique(self):
accounts = [ accounts = [
values for _, _, model, values in _iter_xml_records( values for _, _, model, values in _iter_xml_records(
@@ -878,13 +940,13 @@ class AccountDoUnitTestCase(unittest.TestCase):
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)')
self.assertIn( self.assertIn(
'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'])
self.assertIn( self.assertIn(
'art. 7 Ley 173-07', 'Law 173-07 Art. 7',
taxes['do_tax_iti_3']['legal_notice']) taxes['do_tax_iti_3']['legal_notice'])
self.assertIn( self.assertIn(
'art. 228', taxes['do_tax_propina_10']['legal_notice']) 'Art. 228', taxes['do_tax_propina_10']['legal_notice'])
self.assertEqual( self.assertEqual(
taxes['do_tax_isc_vehiculos']['group'], taxes['do_tax_isc_vehiculos']['group'],
'do_tax_group_others') 'do_tax_group_others')