From a38bdf7593b39a777135e0ab0bc9dc9ff89b456f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jose=CC=81=20Arturo=20Garci=CC=81a?= Date: Wed, 22 Jul 2026 19:12:44 -0400 Subject: [PATCH] Prepare account_do Tryton package --- .gitignore | 16 + COPYRIGHT | 1 + IMPUESTOS_RD.md | 1178 ++++++++++++++++++++++++ LICENSE | 674 ++++++++++++++ README.rst | 18 + __init__.py | 0 account_chart_do.xml | 1573 +++++++++++++++++++++++++++++++++ doc/index.rst | 18 + locale/.gitkeep | 0 locale/es_419.po | 89 ++ pyproject.toml | 58 ++ tax.py | 133 +++ tax_code_do.xml | 693 +++++++++++++++ tax_do.xml | 485 ++++++++++ tax_rule_do.xml | 71 ++ tax_view.xml | 25 + tests/__init__.py | 1 + tests/scenario_account_do.rst | 57 ++ tests/test_module.py | 306 +++++++ tests/test_scenario.py | 22 + tryton.cfg | 19 + view/tax_form.xml | 7 + view/tax_list.xml | 6 + 23 files changed, 5450 insertions(+) create mode 100644 .gitignore create mode 100644 COPYRIGHT create mode 100644 IMPUESTOS_RD.md create mode 100644 LICENSE create mode 100644 README.rst create mode 100644 __init__.py create mode 100644 account_chart_do.xml create mode 100644 doc/index.rst create mode 100644 locale/.gitkeep create mode 100644 locale/es_419.po create mode 100644 pyproject.toml create mode 100644 tax.py create mode 100644 tax_code_do.xml create mode 100644 tax_do.xml create mode 100644 tax_rule_do.xml create mode 100644 tax_view.xml create mode 100644 tests/__init__.py create mode 100644 tests/scenario_account_do.rst create mode 100644 tests/test_module.py create mode 100644 tests/test_scenario.py create mode 100644 tryton.cfg create mode 100644 view/tax_form.xml create mode 100644 view/tax_list.xml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e109579 --- /dev/null +++ b/.gitignore @@ -0,0 +1,16 @@ +.DS_Store +__pycache__/ +*.py[cod] +*$py.class + +.pytest_cache/ +.coverage +htmlcov/ + +build/ +dist/ +*.egg-info/ +.eggs/ + +.venv/ +venv/ diff --git a/COPYRIGHT b/COPYRIGHT new file mode 100644 index 0000000..aac0011 --- /dev/null +++ b/COPYRIGHT @@ -0,0 +1 @@ +Copyright (C) 2026 Solutema diff --git a/IMPUESTOS_RD.md b/IMPUESTOS_RD.md new file mode 100644 index 0000000..83be7e2 --- /dev/null +++ b/IMPUESTOS_RD.md @@ -0,0 +1,1178 @@ +# Impuestos y Retenciones — República Dominicana + +Documentación detallada de todas las plantillas de impuesto del módulo `account_do` para Tryton 8.0. +Aplica la legislación tributaria vigente de la República Dominicana (Ley 11-92 y modificaciones). + +**Administración:** DGII — Dirección General de Impuestos Internos | dgii.gov.do + +--- + +## Tabla de Contenido + +1. [ITBIS — Impuesto sobre Transferencias de Bienes Industrializados y Servicios](#itbis) + - [ITBIS 18% Ventas](#itbis-18-ventas) + - [ITBIS 16% Ventas (Histórico)](#itbis-16-ventas) + - [ITBIS 18% Compras / Crédito Fiscal](#itbis-18-compras) + - [ITBIS 16% Compras / Crédito Fiscal (Histórico)](#itbis-16-compras) + - [ITBIS 8% Ventas — Tasa Reducida](#itbis-8-ventas) + - [ITBIS 8% Compras — Tasa Reducida / Crédito Fiscal](#itbis-8-compras) + - [ITBIS Exento](#itbis-exento) + - [ITBIS Tasa Cero — Exportaciones y Zona Franca](#itbis-tasa-cero) + - [Retención ITBIS 30% — Gran Contribuyente](#retencion-itbis-30) + - [Retención ITBIS 2% — Adquirencias (NG 06-23)](#retencion-itbis-2-adquirencias) + - [Retención ITBIS 100% — Proveedor Informal (B11/E41)](#retencion-itbis-100-proveedor-informal) +2. [ISR — Retenciones en la Fuente](#isr-retenciones) + - [Retención ISR 5% — Honorarios Personas Jurídicas](#retencion-isr-5-personas-juridicas) + - [Retención ISR 10% — Honorarios Personas Físicas](#retencion-isr-10-personas-fisicas) + - [Retención ISR 10% — Dividendos](#retencion-isr-10-dividendos) + - [Retención ISR 10% — Intereses Personas Físicas](#retencion-isr-10-intereses-pf) + - [Retención ISR 10% — Alquileres](#retencion-isr-10-alquileres) + - [Retención ISR 1.5% — Estado / Sector Público](#retencion-isr-15-estado) + - [Retención ISR 1% — Intereses Personas Jurídicas](#retencion-isr-1-intereses-pj) + - [Retención ISR 25% — Premios y Loterías](#retencion-isr-25-premios) +3. [ISR — Pagos al Exterior / No Residentes](#isr-exterior) + - [Retención ISR 27% — Servicios y Regalías al Exterior](#retencion-isr-27-exterior) + - [Retención ISR 10% — Intereses y Asistencia Técnica al Exterior](#retencion-isr-10-exterior) +4. [ISC — Impuesto Selectivo al Consumo](#isc) + - [ISC 20% Bebidas Alcohólicas](#isc-bebidas-alcoholicas) + - [ISC 20% Tabaco y Cigarrillos](#isc-tabaco) + - [ISC 10% Telecomunicaciones](#isc-telecomunicaciones) + - [ISC 17% Vehículos de Motor](#isc-vehiculos) +5. [CDT — Contribución INDOTEL](#cdt-indotel) +6. [Otros Impuestos y Contribuciones](#otros-impuestos) + - [Propina Legal 10%](#propina-legal) + - [Impuesto sobre Cheques y Transferencias 0.15%](#impuesto-cheques) + - [Impuesto Mínimo a los Activos 1%](#impuesto-activos) + - [Impuesto sobre Transferencia Inmobiliaria 3%](#iti) +7. [Cuentas Contables](#cuentas-contables) +8. [Formularios y Plazos](#formularios-y-plazos) + +--- + +## ITBIS + +**Base legal:** Arts. 335-392 Código Tributario (Ley 11-92) | Reglamento: Decreto 293-11 + +El ITBIS es el impuesto dominicano equivalente al IVA. Grava las transferencias de bienes +industrializados, las importaciones de bienes y la prestación y locación de servicios en territorio +dominicano. Se declara mensualmente mediante formulario IT-1, plazo día 20 del mes siguiente. + +**Mecánica del crédito fiscal:** El contribuyente cobra ITBIS en sus ventas (débito fiscal) y +descuenta el ITBIS pagado en sus compras relacionadas (crédito fiscal). La diferencia (neto) se +declara y paga. Si el crédito supera el débito, el saldo se traslada al período siguiente. Los +exportadores pueden solicitar devolución del crédito mediante formulario IT-2. + +**Proporcionalidad (Art. 352 CT):** Cuando el contribuyente realiza operaciones gravadas y exentas, +el crédito admisible se calcula en proporción a las ventas gravadas sobre el total. El porcentaje +se determina al cierre del año y se aplica al año siguiente. + +--- + +### ITBIS 18% Ventas + +| Campo | Valor | +|---|---| +| ID plantilla | `do_tax_itbis_18_venta` | +| Tasa | 18% | +| Tipo de operación | Ventas (débito fiscal) | +| Aplica a | Personas Jurídicas y Personas Físicas | +| Cuenta contable | 210201 — ITBIS cobrado por pagar | +| Formulario | IT-1 (plazo día 20) | + +**Base legal:** +- Art. 345 CT (Ley 11-92) — hecho imponible ITBIS +- Ley 253-12 Art. 10 — fija tasa vigente en 18% +- Decreto 293-11 — Reglamento ITBIS + +**Descripción:** El ITBIS al 18% es la tasa general aplicable a la mayoría de transferencias de +bienes industrializados y servicios no exentos en territorio dominicano. + +**Quiénes están obligados:** Toda persona jurídica (SA, SRL, EIRL, SAS, cooperativas, etc.) o +física que sea contribuyente inscrito en ITBIS y realice transferencias de bienes industrializados +o preste servicios gravados, independientemente de su tamaño o régimen fiscal. + +**Hecho imponible (Art. 335 CT):** +- Transferencias de bienes industrializados por industriales, comerciantes e importadores +- Importaciones de bienes (liquidadas en Aduana, administradas por DGA) +- Prestación o locación de servicios en territorio dominicano + +**Nota sobre la tasa 16%:** La Ley 253-12 condicionó la reducción a 16% al logro de una presión +tributaria de 3.25% del PIB, condición que nunca se cumplió. La tasa vigente es 18%. + +--- + +### ITBIS 16% Ventas + +| Campo | Valor | +|---|---| +| ID plantilla | `do_tax_itbis_16_venta` | +| Tasa | 16% | +| Estado | **HISTÓRICO — NO VIGENTE** | +| Cuenta contable | 210201 — ITBIS cobrado por pagar | + +**Base legal:** Art. 345 CT (Ley 11-92), modificado por Ley 253-12. + +**Advertencia:** Esta tasa NO está vigente. La reducción a 16% estuvo condicionada a alcanzar una +presión tributaria del 3.25% del PIB, condición que nunca se cumplió. Esta plantilla se conserva +exclusivamente para: +- Corrección de períodos anteriores a 2013 +- Referencia histórica para auditorías +- Migración de datos de sistemas anteriores + +**No debe aplicarse** en transacciones actuales salvo instrucción expresa de la DGII o revisión de +períodos históricos. + +--- + +### ITBIS 18% Compras + +| Campo | Valor | +|---|---| +| ID plantilla | `do_tax_itbis_18_compra` | +| Tasa | 18% | +| Tipo de operación | Compras (crédito fiscal) | +| Aplica a | Personas Jurídicas y Personas Físicas | +| Cuenta contable | 110401 — ITBIS adelantado en compras | +| Formulario | IT-1 (plazo día 20) | + +**Base legal:** Arts. 349-357 CT (Ley 11-92) — Crédito fiscal ITBIS | Decreto 293-11. + +**Descripción:** El ITBIS pagado en compras de bienes y servicios gravados constituye un crédito +fiscal acreditable contra el ITBIS cobrado en ventas (débito fiscal). + +**Requisitos para deducir el crédito:** +- La compra debe estar respaldada por NCF válido (B01 o e-CF E31) +- El proveedor debe tener RNC activo en DGII +- Los bienes o servicios deben destinarse a actividades gravadas +- La factura debe estar registrada en el libro de compras + +**Proporcionalidad:** Si el contribuyente tiene operaciones mixtas (gravadas y exentas), el crédito +admisible se calcula aplicando la proporción de ventas gravadas sobre el total de ventas (Art. 352 CT). + +**Saldo a favor:** Si el crédito fiscal supera el débito, el saldo se traslada al mes siguiente. +Los exportadores (tasa cero) pueden solicitar devolución mediante formulario IT-2. + +--- + +### ITBIS 16% Compras + +| Campo | Valor | +|---|---| +| ID plantilla | `do_tax_itbis_16_compra` | +| Tasa | 16% | +| Estado | **HISTÓRICO — NO VIGENTE** | +| Cuenta contable | 110401 — ITBIS adelantado en compras | + +**Base legal:** Art. 345 CT (Ley 11-92), modificado por Ley 253-12. + +Conservada para corrección de períodos históricos y migración de datos. Ver nota en +[ITBIS 16% Ventas](#itbis-16-ventas). + +--- + +### ITBIS 8% Ventas + +| Campo | Valor | +|---|---| +| ID plantilla | `do_tax_itbis_8_venta` | +| Tasa | 8% | +| Tipo de operación | Ventas — tasa reducida (débito fiscal) | +| Aplica a | Personas Jurídicas y Personas Físicas | +| Cuenta contable | 210201 — ITBIS cobrado por pagar | +| Formulario | IT-1 (plazo día 20) | + +**Base legal:** Art. 345 CT (Ley 11-92) | Ley 253-12 | Decreto 293-11 | NG 12-22. + +**Bienes gravados al 8% (lista taxativa):** +- Derivados lácteos procesados industrialmente: yogurt, mantequilla, quesos procesados +- Azúcar y sus derivados industrializados +- Café, té, cacao y sus mezclas o extractos industrializados +- Chocolate y preparaciones alimenticias que contengan cacao en proporción relevante + +**Distinción clave:** La tasa reducida del 8% aplica solo a versiones **procesadas/industrializadas**. +Los productos en su estado natural (leche natural, queso fresco, huevos, frutas) están **exentos** +conforme al Art. 343 CT y no califican para la tasa reducida sino para exención total. + +**Uso práctico:** Al emitir facturas, identificar correctamente si el bien califica como tasa +reducida (8%) o exento (0%). Una clasificación incorrecta puede generar ajustes en fiscalizaciones. + +--- + +### ITBIS 8% Compras + +| Campo | Valor | +|---|---| +| ID plantilla | `do_tax_itbis_8_compra` | +| Tasa | 8% | +| Tipo de operación | Compras — tasa reducida (crédito fiscal) | +| Aplica a | Personas Jurídicas y Personas Físicas | +| Cuenta contable | 110401 — ITBIS adelantado en compras | +| Formulario | IT-1 (plazo día 20) | + +**Base legal:** Arts. 349-357 CT (Ley 11-92) | Ley 253-12 | Decreto 293-11. + +El ITBIS al 8% pagado en compras de bienes con tasa reducida genera crédito fiscal acreditable +contra el débito ITBIS de ventas. Se registra en la misma cuenta 110401 junto con el crédito al 18%. +Aplican las mismas reglas de proporcionalidad del Art. 352 CT en caso de operaciones mixtas. + +--- + +### ITBIS Exento + +| Campo | Valor | +|---|---| +| ID plantilla | `do_tax_itbis_exento` | +| Tasa | N/A (tipo `none`) | +| Aplica a | Personas Jurídicas y Personas Físicas | +| Cuenta contable | No genera asiento de impuesto | + +**Base legal:** Arts. 343-344 CT (Ley 11-92) | Ley 288-04 | NG 12-22 DGII. + +**Bienes exentos (Art. 343 CT) — selección principal:** +- Animales vivos, carnes frescas, congeladas o refrigeradas +- Pescados, moluscos y crustáceos frescos o congelados +- Leche natural, queso fresco, huevos de ave +- Arroz, harina de trigo, pan sin envasar, pasta alimenticia, maíz +- Medicamentos y productos farmacéuticos (uso humano y veterinario) +- Insumos agropecuarios: semillas, abonos, fertilizantes, fungicidas, herbicidas, pesticidas +- Libros, revistas, diarios y publicaciones periódicas +- Combustibles para transporte (gasolina, diesel, fuel oil — excepto GLP para vehículos) +- Agua natural sin procesar + +**Servicios exentos (Art. 344 CT) — selección principal:** +- Servicios financieros: depósitos, préstamos, transferencias, cobros, tarjetas +- Servicios médicos, odontológicos, hospitalarios y de salud en general +- Servicios educativos en todos los niveles +- Seguros de vida y de salud +- Transporte terrestre de pasajeros (urbano e interurbano) +- Alquiler de viviendas para uso habitacional +- Servicios funerarios +- Servicios agropecuarios vinculados directamente a la producción primaria + +**Efecto contable:** Las ventas exentas NO generan débito fiscal. Las compras relacionadas +exclusivamente con actividades exentas NO generan crédito fiscal. Si hay operaciones mixtas +(gravadas y exentas), aplica la regla de proporcionalidad del Art. 352 CT. + +**Diferencia con tasa cero:** La exención implica que el bien o servicio está fuera del hecho +imponible. La tasa cero (0%) sigue siendo una operación gravada pero con tasa 0%, y SÍ genera +derecho a crédito fiscal (ver sección siguiente). + +--- + +### ITBIS Tasa Cero + +| Campo | Valor | +|---|---| +| ID plantilla | `do_tax_itbis_tasa_cero` | +| Tasa | 0% | +| Tipo de operación | Ventas exportación / Zona Franca | +| Aplica a | Personas Jurídicas y Personas Físicas | +| Cuenta contable | 210201 — ITBIS cobrado por pagar (registra $0) | +| NCF aplicable | B14 / e-CF E44 (Zonas Francas) | B16 / e-CF E46 (Exportaciones) | + +**Base legal:** Art. 342 CT (Ley 11-92) | Ley 557-05 | Ley 8-90 (Zonas Francas) | NG 05-19 DGII. + +**Operaciones que califican:** +- Exportaciones de bienes (salida definitiva del territorio dominicano — Art. 342 CT) +- Ventas a empresas acogidas a la Ley 8-90 (Zonas Francas Industriales) — NCF B14 o e-CF E44 +- Ventas a misiones diplomáticas y organismos internacionales reconocidos +- Ventas a naves y aeronaves internacionales como provisiones de a bordo + +**Diferencia fundamental con la exención:** + +| Concepto | Exento | Tasa Cero (0%) | +|---|---|---| +| Genera débito fiscal | No | Sí (pero $0) | +| Genera crédito fiscal | No (salvo proporcionalidad) | Sí — íntegro | +| Devolución crédito | No | Sí (formulario IT-2) | +| Es hecho imponible | No | Sí | + +El contribuyente con tasa cero SÍ tiene derecho a reclamar el crédito fiscal del ITBIS pagado en +sus compras relacionadas con la actividad de exportación. Los exportadores pueden solicitar +devolución a la DGII mediante formulario IT-2 cuando el crédito excede el débito. + +--- + +### Retención ITBIS 30% + +| Campo | Valor | +|---|---| +| ID plantilla | `do_tax_ret_itbis_30` | +| Tasa efectiva | -5.4% sobre la base (equivale a 30% del ITBIS del 18%) | +| Aplica a | Personas Jurídicas y Personas Físicas (cuando el comprador es GC) | +| Cuenta contable | 210202 — Retenciones de ITBIS por pagar | +| Formulario | IT-1 (renglón retenciones efectuadas, plazo día 20) | + +**Base legal:** NG 01-11 DGII (2011) | Arts. 309 y 337 CT (Ley 11-92). + +**Descripción:** La DGII designa a ciertos contribuyentes como "Grandes Contribuyentes" (GC). +Estos actúan como agentes de retención del ITBIS, reteniendo el 30% del ITBIS cobrado por sus +proveedores no-GC. + +**Mecánica de la retención:** +1. El proveedor emite su factura con ITBIS 18% completo (ejemplo: base $100 + ITBIS $18 = $118). +2. El GC retiene el 30% del ITBIS: 30% × $18 = $5.40. +3. El GC paga al proveedor solo $112.60 (= $100 base + $12.60 del 70% del ITBIS). +4. El GC declara y entrega a la DGII los $5.40 retenidos en su IT-1 mensual. +5. El proveedor recibe $5.40 de crédito anticipado en su propio IT-1 (ITBIS retenido por terceros). + +**Modelado en Tryton:** La tasa se registra como `-5.4%` (negativa) sobre la base imponible, +lo que equivale a 30% del 18% y reduce el neto de ITBIS a pagar. Solo aplica cuando el comprador +es un Gran Contribuyente. + +**Cuenta 210202:** Separada de 210201 para facilitar la conciliación entre el ITBIS general y +las retenciones efectuadas como agente. + +--- + +### Retención ITBIS 2% Adquirencias + +| Campo | Valor | +|---|---| +| ID plantilla | `do_tax_ret_itbis_2_adq` | +| Tasa modelada | 2% sobre la base imponible (aproximación — ver nota) | +| Tasa legal | 2% sobre el monto TOTAL de la transacción (base + ITBIS) | +| Aplica a | Personas Jurídicas y Personas Físicas (vendedores que cobran con tarjeta) | +| Agente retenedor | Empresa adquirencia (Visanet, Cardnet, etc.) | +| Cuenta contable | 110406 — ITBIS retenido por adquirencias a recuperar | +| Formulario | IT-1 (crédito por ITBIS retenido por terceros, plazo día 20) | + +**Base legal:** NG 06-23 DGII (deroga NG 08-04) | Art. 337 CT (Ley 11-92). + +**Descripción:** Cuando un cliente paga con tarjeta de crédito o débito, la empresa adquirencia +(procesadora de pagos) retiene el 2% del monto TOTAL de la transacción y lo deposita directamente +a la DGII en nombre del comerciante vendedor. + +**Mecánica completa (ejemplo con ITBIS 18%):** +- Venta: base $100.00 + ITBIS 18% $18.00 = Total factura $118.00 +- Cliente paga con tarjeta: $118.00 +- Adquirencia retiene: $118.00 × 2% = $2.36 +- Comerciante recibe de la adquirencia: $118.00 - $2.36 = $115.64 +- La adquirencia deposita los $2.36 a la DGII en nombre del comerciante + +**En el IT-1 del comerciante:** +- ITBIS débito (ventas): $18.00 +- ITBIS crédito por retención adquirencia: ($2.36) +- ITBIS neto a pagar (aproximado): $15.64 + +**Nota sobre el modelado en Tryton:** La NG 06-23 especifica que el 2% se calcula sobre el monto +TOTAL (base + ITBIS), no solo sobre la base. Dado que Tryton calcula los impuestos sobre la base +imponible, la plantilla usa 2% sobre la base como aproximación. Para una transacción con ITBIS +18%, el monto exacto debería ser 2% × 118 = 2.36 (en lugar de 2% × 100 = 2.00). El ajuste exacto +se realiza al contabilizar el cobro bancario mediante asiento manual que use la cuenta 110406. + +**Cuenta 110406 (activo):** El ITBIS retenido por la adquirencia es un crédito a favor del +comerciante frente a la DGII. Se registra como activo corriente y se aplica contra el 210201 +(ITBIS cobrado por pagar) al presentar el IT-1. + +**Asiento contable al cobrar con tarjeta:** +``` +Dr. Banco 115.64 +Dr. 110406 ITBIS retenido adq. 2.36 + Cr. Cuentas por cobrar 118.00 +``` + +--- + +## ISR Retenciones + +**Base legal:** Arts. 307-309 CT (Ley 11-92) | Decreto 95-12 (Reglamento ISR) +**Formulario general:** IR-13 — Retenciones de Tercera Categoría +**Plazo:** Día 10 del mes siguiente al pago +**Cuenta contable general:** 210203 — Retenciones de ISR por pagar + +Las retenciones ISR se clasifican en: +- **Pago a cuenta:** El monto retenido es un anticipo del ISR anual del retenido. Este lo aplica + como crédito en su declaración anual (IR-1 para personas físicas, IR-2 para personas jurídicas). +- **Pago único y definitivo:** El monto retenido extingue completamente la obligación tributaria + sobre esa renta. El beneficiario NO la incluye en su declaración anual ni puede usarla como crédito. + +--- + +### Retención ISR 5% Personas Jurídicas + +| Campo | Valor | +|---|---| +| ID plantilla | `do_tax_ret_isr_hon_5` | +| Tasa | 5% | +| Aplica a | Personas Jurídicas (únicamente) | +| Carácter | Pago a cuenta del ISR | +| Cuenta contable | 210203 — Retenciones de ISR por pagar | +| Formulario | IR-13 (plazo día 10) | + +**Base legal:** Art. 309 CT (Ley 11-92) | Decreto 95-12 (Reglamento ISR). + +**Descripción:** Retención del 5% sobre honorarios, servicios profesionales, técnicos, de consultoría +o de naturaleza similar pagados a **personas jurídicas** (empresas) residentes en la República Dominicana. + +**Aplica a:** +- SA, SRL, EIRL, SAS, cooperativas y otras formas societarias residentes +- Servicios profesionales, técnicos, administrativos, de consultoría, asesoría, capacitación + +**NO aplica a:** +- Personas físicas (la tasa es 10% — ver siguiente sección) +- Compra de bienes (la retención aplica sobre servicios) +- Pagos a no residentes (se rigen por Art. 305 CT — ver sección de Pagos al Exterior) + +**Agente de retención:** Cualquier contribuyente (persona física o jurídica) que contrate y pague +servicios a personas jurídicas residentes. El Estado también retiene (a tasa del 1.5%). + +**Obligaciones del agente:** +1. Retener el 5% en el momento del pago (no al momento del devengamiento) +2. Declarar y pagar mediante formulario IR-13, plazo: día 10 del mes siguiente al pago +3. Emitir certificación de retención (formulario RC-02) al retenido si este la solicita + +**Para el retenido:** El 5% retenido es un pago anticipado de su ISR anual del ejercicio. Se aplica +como crédito al presentar su declaración IR-2 (personas jurídicas, plazo 29 de abril para cierre dic.) + +--- + +### Retención ISR 10% Personas Físicas + +| Campo | Valor | +|---|---| +| ID plantilla | `do_tax_ret_isr_serv_10` | +| Tasa | 10% | +| Aplica a | Personas Físicas (únicamente) | +| Carácter | Pago a cuenta del ISR personal | +| Cuenta contable | 210203 — Retenciones de ISR por pagar | +| Formulario | IR-13 (plazo día 10) | + +**Base legal:** Art. 309 CT (Ley 11-92) | Decreto 95-12 (Reglamento ISR). + +**Descripción:** Retención del 10% sobre honorarios y servicios profesionales pagados a **personas +físicas** independientes residentes en la República Dominicana que actúen fuera de una relación +laboral de dependencia. + +**Aplica a:** +- Médicos, abogados, contadores, ingenieros, arquitectos, consultores, técnicos, diseñadores y + otros profesionales liberales que facturan sin ser empleados +- Personas físicas que presten servicios bajo contrato de servicios (no de trabajo) + +**NO aplica a:** +- Personas jurídicas (la tasa es 5%) +- Sueldos y salarios bajo relación laboral (Art. 307 CT y escala del Art. 296 CT — declarados + por el empleador en formulario IR-3) +- Pagos a no residentes (Art. 305 CT — ver sección de Pagos al Exterior) + +**Agente de retención:** Cualquier contribuyente (empresa o individuo) que pague honorarios a +profesionales independientes (personas físicas). + +**Obligaciones del agente:** +1. Retener el 10% en el momento del pago +2. Declarar y pagar mediante formulario IR-13, plazo: día 10 del mes siguiente +3. Emitir certificación RC-02 al retenido si la solicita + +**Para el retenido:** El 10% retenido se aplica como crédito en la declaración anual IR-1 (plazo +31 de marzo). Si las retenciones superan el ISR calculado, genera saldo a favor reembolsable. + +--- + +### Retención ISR 10% Dividendos + +| Campo | Valor | +|---|---| +| ID plantilla | `do_tax_ret_isr_div_10` | +| Tasa | 10% | +| Aplica a | Personas Físicas y Personas Jurídicas (accionistas/socios) | +| Carácter | **PAGO ÚNICO Y DEFINITIVO** | +| Cuenta contable | 210206 — ISR dividendos retenidos por pagar | +| Formulario | IR-18 (específico para dividendos, plazo día 10) | + +**Base legal:** Art. 308 CT (Ley 11-92) | Decreto 95-12 | Formulario IR-18 DGII. + +**Descripción:** Retención del 10% sobre dividendos, utilidades distribuidas, participaciones en +utilidades o cualquier otra forma de distribución de ganancias a socios o accionistas. + +**Aplica a:** +- Personas físicas residentes que reciban dividendos +- Personas jurídicas residentes que reciban dividendos (incluso entre empresas relacionadas) +- Personas físicas y jurídicas no residentes (misma tasa del 10%) + +**Base de cálculo:** El valor bruto del dividendo declarado y distribuido, antes de cualquier +deducción. Si el dividendo se paga en especie, se usa el valor de mercado del bien. + +**Carácter definitivo:** El beneficiario NO incluye los dividendos en su declaración anual de renta +(IR-1 o IR-2), ni puede usar la retención como crédito. La retención extingue totalmente la +obligación tributaria sobre estos dividendos. + +**Agente de retención:** La empresa (persona jurídica) que distribuye los dividendos o utilidades. + +**Obligaciones del agente:** +1. Retener el 10% al momento del pago o acreditación al accionista/socio +2. Declarar y pagar mediante formulario IR-18 (no IR-13), plazo: día 10 del mes siguiente +3. Para no residentes: también reportar en formulario 609 (Pagos al Exterior) + +**Cuenta 210206:** Separada del ISR general (210203) para facilitar la conciliación con el +formulario IR-18 y el seguimiento de distribuciones de utilidades. + +--- + +### Retención ISR 10% Intereses Personas Físicas + +| Campo | Valor | +|---|---| +| ID plantilla | `do_tax_ret_isr_int_10` | +| Tasa | 10% | +| Aplica a | Personas Físicas (únicamente) | +| Carácter | **PAGO ÚNICO Y DEFINITIVO** | +| Cuenta contable | 210203 — Retenciones de ISR por pagar | +| Formulario | IR-13 (plazo día 10) | + +**Base legal:** NG 07-19 DGII (2019, deroga NG 13-11) | Art. 306 bis CT (Ley 11-92) | Decreto 95-12. + +**Descripción:** Retención del 10% sobre intereses pagados a **personas físicas** residentes en la +República Dominicana por depósitos bancarios, inversiones, préstamos entre particulares u otras +colocaciones financieras. + +**Aplica a:** +- Personas físicas residentes que reciban intereses por cuentas de ahorro y certificados de depósito +- Personas físicas que otorguen préstamos y reciban intereses +- Instrumentos de renta fija (bonos, pagarés) en poder de personas físicas + +**NO aplica a:** +- Personas jurídicas: la tasa es 1% a cuenta (ver sección siguiente) +- No residentes: se rigen por Art. 306 CT al 10% definitivo (mismo porcentaje, base diferente) + +**Carácter definitivo:** La persona física NO incluye estos intereses en su declaración anual IR-1 +ni puede usar la retención como crédito adicional. La retención extingue completamente la +obligación tributaria sobre dichos rendimientos financieros. + +**Agente de retención:** Instituciones financieras y bancarias reguladas (bancos múltiples, bancos +de ahorro y crédito, asociaciones de ahorros y préstamos) y cualquier entidad que pague intereses +a personas físicas. + +--- + +### Retención ISR 10% Alquileres + +| Campo | Valor | +|---|---| +| ID plantilla | `do_tax_ret_isr_alq_10` | +| Tasa | 10% | +| Aplica a | Personas Físicas y Personas Jurídicas arrendadoras | +| Carácter | Pago a cuenta del ISR | +| Cuenta contable | 210203 — Retenciones de ISR por pagar | +| Formulario | IR-13 (plazo día 10) | + +**Base legal:** Art. 309 CT (Ley 11-92) | NG 08-11 DGII | Decreto 95-12. + +**Descripción:** Retención del 10% sobre el valor bruto del canon de arrendamiento pagado por +locales comerciales, oficinas, bodegas, terrenos con fines comerciales, y bienes muebles (vehículos, +equipos, maquinarias) arrendados. + +**Aplica a:** +- Personas físicas propietarias de inmuebles comerciales o bienes muebles arrendados +- Personas jurídicas que arrienden sus propiedades o bienes (menos común, pues generan ITBIS) + +**Carácter a cuenta:** El arrendador (propietario) aplica el monto retenido como crédito en su +declaración anual: IR-1 si es persona física, IR-2 si es persona jurídica. + +**Agente de retención:** El arrendatario (quien paga el alquiler), siempre que sea un contribuyente +registrado. Las entidades del Estado también retienen adicionalmente el 1.5% de ISR. + +**Nota ITBIS:** Los alquileres de viviendas para uso habitacional están exentos de ITBIS (Art. 344 +CT). Los alquileres comerciales sí generan ITBIS 18% (además de la retención ISR del 10%). + +--- + +### Retención ISR 1.5% Estado + +| Campo | Valor | +|---|---| +| ID plantilla | `do_tax_ret_isr_est_15` | +| Tasa | 1.5% | +| Aplica a | Personas Físicas y Personas Jurídicas proveedoras del Estado | +| Carácter | Pago a cuenta del ISR | +| Cuenta contable | 210203 — Retenciones de ISR por pagar | +| Formulario | Formulario 623 DGII (no IR-13) | + +**Base legal:** Art. 309 CT (Ley 11-92) | Decreto 95-12 | Formulario 623 DGII. + +**Descripción:** Retención del 1.5% sobre el precio de bienes y servicios adquiridos por entidades +del sector público dominicano. Se aplica sobre el monto bruto del pago (sin incluir ITBIS). + +**Aplica a:** +- Todo proveedor (persona física o jurídica) que venda bienes o preste servicios al sector público: + gobierno central, ayuntamientos, instituciones autónomas, empresas públicas, universidades del + Estado, Fuerzas Armadas, Policía Nacional, y cualquier entidad de derecho público + +**Carácter a cuenta:** El proveedor retenido aplica el 1.5% como crédito en su declaración anual +(IR-1 o IR-2). Dada la tasa baja, es habitual que genere saldo a favor para el proveedor. + +**Agente de retención:** La entidad estatal pagadora, a través de su Departamento de Contabilidad +o Tesorería. Debe ser el pagador y no el beneficiario. + +**Obligaciones del agente estatal:** +1. Retener el 1.5% en cada pago al proveedor +2. Declarar mediante Formulario 623 DGII (específico, no IR-13) +3. Emitir constancia de retención al proveedor para que la use como crédito + +**Combinación de retenciones:** El Estado puede retener simultáneamente: +- ISR 1.5% (sobre precio del bien o servicio) +- ITBIS 30% del ITBIS facturado (como agente de retención ITBIS) + +--- + +### Retención ISR 1% Intereses Personas Jurídicas + +| Campo | Valor | +|---|---| +| ID plantilla | `do_tax_ret_isr_int_pj_1` | +| Tasa | 1% | +| Aplica a | Personas Jurídicas (únicamente) | +| Carácter | Pago a cuenta del ISR | +| Cuenta contable | 210203 — Retenciones de ISR por pagar | +| Formulario | IR-13 (plazo día 10) | + +**Base legal:** NG 07-19 DGII (2019, deroga NG 13-11) | Art. 306 bis CT (Ley 11-92). + +**Descripción:** Retención del 1% sobre intereses pagados a **personas jurídicas** residentes +(empresas, sociedades) por inversiones, depósitos bancarios u otras colocaciones financieras. + +**Aplica a:** +- Personas jurídicas residentes que tengan depósitos o inversiones en instituciones financieras +- Entidades que reciban intereses de cuentas corrientes, cuentas de ahorro empresariales, + certificados financieros u otros instrumentos a nombre de empresas + +**NO aplica a:** +- Personas físicas: la tasa es 10% definitiva (ver sección anterior) +- No residentes: Art. 305-306 CT (ver sección de Pagos al Exterior) + +**Carácter a cuenta:** La persona jurídica aplica el 1% retenido como crédito en su declaración +anual IR-2. A diferencia del 10% para personas físicas, esta retención NO es definitiva. + +**Agente de retención:** Instituciones financieras y bancarias reguladas por la Junta Monetaria. + +**Contexto normativo:** La NG 07-19 actualizó el esquema creado por NG 13-11 (2011). El cambio +principal: unificó la tasa PJ en 1% a cuenta y estableció 10% definitivo para personas físicas, +simplificando la estructura de retenciones sobre intereses. + +--- + +### Retención ISR 25% Premios + +| Campo | Valor | +|---|---| +| ID plantilla | `do_tax_ret_isr_premios_25` | +| Tasa | 25% | +| Aplica a | Personas Físicas y Personas Jurídicas ganadoras | +| Carácter | **PAGO ÚNICO Y DEFINITIVO** | +| Cuenta contable | 210203 — Retenciones de ISR por pagar | +| Formulario | IR-13 (plazo día 10) | + +**Base legal:** Art. 321 CT (Ley 11-92) | Decreto 95-12 | Ley sobre Loterías y Bancas de Apuestas. + +**Descripción:** Retención del 25% sobre el valor bruto de premios provenientes de loterías +(nacionales y privadas), sorteos, rifas, concursos con premio en dinero o especie, bancas de +apuestas y juegos de azar debidamente autorizados. + +**Aplica a:** +- Personas físicas y personas jurídicas ganadoras de premios en dinero o especie +- Premios en loterías nacionales (Lotería Nacional, LEIDSA, etc.) y privadas +- Premios en sorteos comerciales, rifas benéficas, concursos de ventas +- Ganancias en bancas de lotería y juegos de azar autorizados + +**Base de cálculo:** El valor bruto del premio ANTES de cualquier deducción. Si el premio es en +especie (vehículo, viaje, electrodoméstico, etc.), se toma el valor de mercado del bien. + +**Carácter definitivo:** El beneficiario NO incluye el premio en su declaración de renta anual +(IR-1 o IR-2), ni puede usar la retención como crédito. La retención extingue completamente la +obligación tributaria sobre el premio. + +**Agente de retención:** La entidad que paga o entrega el premio: Lotería Nacional, LEIDSA, +suplidoras de premios, organizadoras de sorteos, bancos que liquidan rifas, casinos. + +**Premios en especie:** Si el beneficiario no puede pagar el ISR con el bien ganado, el agente +debe exigir el efectivo correspondiente al impuesto antes de entregar el premio, o retenerlo de +otro pago al beneficiario. + +--- + +## ISR Exterior + +**Base legal:** Arts. 305-306 CT (Ley 11-92) | Decreto 95-12 +**Formulario:** 609 DGII — Pagos al Exterior +**Plazo:** Día 20 del mes siguiente al pago +**Cuenta contable:** 210207 — ISR pagos al exterior por pagar + +Las retenciones por pagos al exterior aplican sobre rentas de fuente dominicana pagadas a personas +físicas o jurídicas NO residentes ni domiciliadas en la República Dominicana. Son pagos únicos y +definitivos: el no residente no tiene obligación de declarar en RD. + +**Condición de deducibilidad:** El gasto pagado al exterior solo es deducible del ISR dominicano +del pagador si se realizó la retención correspondiente (Art. 287 CT). Sin retención, el gasto no +es deducible. + +**Convenios de doble imposición:** La RD ha suscrito convenios con algunos países. Cuando existe +un convenio aplicable, la tasa puede reducirse o eliminarse. Verificar vigencia con asesor fiscal. + +--- + +### Retención ISR 27% Exterior + +| Campo | Valor | +|---|---| +| ID plantilla | `do_tax_ret_isr_ext_27` | +| Tasa | 27% | +| Aplica a | No Residentes (personas físicas y jurídicas del exterior) | +| Carácter | **PAGO ÚNICO Y DEFINITIVO** | +| Cuenta contable | 210207 — ISR pagos al exterior por pagar | +| Formulario | 609 DGII (plazo día 20) | + +**Base legal:** Art. 305 CT (Ley 11-92) | Decreto 95-12. + +**Descripción:** Retención del 27% sobre pagos de fuente dominicana realizados a no residentes +por los conceptos listados. La tasa del 27% es igual a la tasa general del ISR para personas +jurídicas (Art. 297 CT). + +**Conceptos gravados al 27%:** +- Servicios prestados desde el exterior (consultoría, asesoría, software, diseño, marketing, + contabilidad, investigación, recursos humanos, etc.) +- Regalías, licencias, patentes, marcas, franquicias y derechos de propiedad intelectual +- Arrendamiento de bienes muebles a no residentes (equipos, vehículos, tecnología) +- Honorarios a personas o empresas extranjeras +- Asistencia técnica compleja no diferenciable de consultoría general + +**Agente de retención:** El pagador residente en RD (empresa dominicana) que remesa o acredita +fondos al no residente. + +**Obligaciones:** +1. Retener el 27% al momento del pago, acreditación o transferencia +2. Reportar en Formulario 609 DGII, plazo día 20 del mes siguiente +3. Conservar el comprobante de retención para justificar el gasto ante auditorías de la DGII + +**Comprobante:** e-CF tipo E47 (Pagos al Exterior) o factura con NCF B14 si aplica. + +--- + +### Retención ISR 10% Exterior + +| Campo | Valor | +|---|---| +| ID plantilla | `do_tax_ret_isr_ext_10` | +| Tasa | 10% | +| Aplica a | No Residentes (personas físicas y jurídicas del exterior) | +| Carácter | **PAGO ÚNICO Y DEFINITIVO** | +| Cuenta contable | 210207 — ISR pagos al exterior por pagar | +| Formulario | 609 DGII (plazo día 20) | + +**Base legal:** Arts. 305 y 306 CT (Ley 11-92) | Decreto 95-12. + +**Descripción:** Retención del 10% sobre pagos a no residentes por conceptos que gozan de tasa +reducida respecto al 27% general, por política de fomentar el financiamiento externo y la +transferencia de tecnología. + +**Conceptos gravados al 10% (tasa reducida):** + +1. **Intereses (Art. 306 CT):** Intereses sobre préstamos, créditos, financiamientos y + emisiones de bonos en mercados internacionales contratados con bancos, entidades financieras u + otros acreedores no residentes. Política de estímulo al financiamiento externo. + +2. **Asistencia Técnica (Art. 305, párrafo):** Servicios de capacitación, transferencia de + conocimiento tecnológico, know-how operativo o industrial, cuando el contrato denomina + explícitamente "asistencia técnica" y se distingue de consultoría o asesoría general. Si hay + duda sobre la calificación, la DGII puede reclasificarlo al 27%. + +**Distinción asistencia técnica vs. consultoría:** + +| Concepto | Tasa | +|---|---| +| Asistencia técnica (transferencia de know-how) | 10% | +| Consultoría / asesoría general / servicios profesionales | 27% | + +La distinción es relevante y puede ser objeto de fiscalización. Se recomienda que el contrato +especifique claramente la naturaleza de la prestación. + +**Subcapitalización:** Los intereses entre partes relacionadas tienen límites de deducibilidad. +Si la deuda supera 3 veces el patrimonio (relación D/E > 3:1), el exceso de intereses no es +deducible (Art. 287 CT). Esto aplica independientemente de la retención. + +--- + +--- + +### Retención ITBIS 100% Proveedor Informal + +| Campo | Valor | +|---|---| +| ID plantilla | `do_tax_ret_itbis_100_inf` | +| Tasa | 18% (mismo que ITBIS general) | +| NCF aplicable | B11 (Comprobante de Compras) / e-CF E41 | +| Aplica a | Compradores que adquieren de proveedores sin RNC activo | +| Cuenta contable | 210202 — Retenciones de ITBIS por pagar | +| Formulario | IT-1 (plazo día 20) | + +**Base legal:** Art. 337 CT (Ley 11-92) | NG 08-10 DGII | Decreto 293-11. + +**Descripción:** Cuando una empresa compra bienes o servicios a un proveedor informal (sin RNC +o sin NCF válido), debe emitir un Comprobante de Compras (B11 o e-CF E41) y retener el 100% +del ITBIS que el proveedor debería haber cobrado, para depositarlo directamente a la DGII. + +**Quiénes deben aplicarla:** +- Contribuyentes registrados (con RNC activo) que adquieran de proveedores informales +- Aplica a compras de bienes que normalmente estarían gravados con ITBIS + +**Diferencia crítica con ITBIS normal en compras:** + +| Concepto | ITBIS 18% Compras (B01) | Retención ITBIS 100% (B11) | +|---|---|---| +| NCF | B01 / e-CF E31 del proveedor | B11 / e-CF E41 que EMITE el comprador | +| Crédito fiscal | Sí (110401) | **No** — es costo adicional | +| Cuenta ITBIS | 110401 (activo, recuperable) | 210202 (pasivo, a pagar DGII) | +| Quién paga DGII | Proveedor en su IT-1 | **Comprador** en su IT-1 | + +**El ITBIS retenido NO es crédito fiscal.** La compra con B11 genera un costo mayor para +el comprador: el precio más el 18% de ITBIS que debe pagar a la DGII. Por eso, cuando sea +posible, es preferible comprar a proveedores con NCF para no perder el crédito fiscal. + +**Asiento contable (compra $100 a proveedor informal):** +``` +Dr. Compras / Inventario 118.00 (precio + ITBIS que se convierte en costo) + Cr. Proveedores / Banco 100.00 + Cr. 210202 Retenciones ITBIS por pagar 18.00 +``` +Luego al pagar a DGII: Dr. 210202 / Cr. Banco. + +--- + +## ISC + +**Base legal:** Arts. 393-441 Código Tributario (Ley 11-92) +**Cuenta contable:** 210208 — ISC por pagar +**Formulario:** IT-1 (contribuyentes designados) o declaración ISC específica + +El ISC es un impuesto indirecto que grava la fabricación o importación de bienes específicos +y la prestación de ciertos servicios. A diferencia del ITBIS, **no tiene un sistema de crédito +fiscal generalizado**. El fabricante/importador lo paga una sola vez y lo traslada al precio. + +**¿Quién debe usar estos templates?** +- Fabricantes e importadores de los productos gravados +- Empresas de telecomunicaciones (ISC telecom) +- Distribuidores autorizados de bebidas alcohólicas, tabaco, vehículos + +**Para compradores ordinarios:** el ISC ya está incluido en el precio que pagan al proveedor. +No necesitan templates separados de ISC — el costo total va al inventario o gasto. + +--- + +### ISC Bebidas Alcohólicas + +| Campo | Valor | +|---|---| +| ID plantilla | `do_tax_isc_bebidas_alc` | +| Tasa ad valorem | 20% (referencial) | +| Aplica a | Fabricantes e importadores de bebidas alcohólicas | +| Cuenta contable | 210208 — ISC por pagar | + +**Base legal:** Arts. 393-404 CT (Ley 11-92) | tablas de tasas específicas DGII. + +**Descripción:** ISC sobre vinos, ron, whisky, brandy, licores, cervezas importadas y otras +bebidas alcohólicas. En la práctica, el ISC puede ser una combinación de tasa específica +(importe fijo por litro o unidad) más tasa ad valorem (porcentaje del valor). La tasa del 20% +es una referencia ad valorem para vinos y destilados importados. Las cervezas nacionales tienen +tasas específicas por unidad que se actualizan anualmente. + +**Nota:** Verificar la tabla de tasas actualizada de DGII antes de aplicar, ya que las tasas +específicas se revisan periódicamente según la Ley de Presupuesto. + +--- + +### ISC Tabaco + +| Campo | Valor | +|---|---| +| ID plantilla | `do_tax_isc_tabaco` | +| Tasa ad valorem | 20% (referencial) | +| Aplica a | Fabricantes e importadores de tabaco y cigarrillos | +| Cuenta contable | 210208 — ISC por pagar | + +**Base legal:** Arts. 393-441 CT (Ley 11-92). + +**Descripción:** ISC sobre cigarrillos, tabaco de pipa, puros y productos del tabaco en general. +Similar a bebidas alcohólicas, la estructura puede combinar tasa específica por unidad (cajetilla) +más tasa ad valorem. El 20% es una aproximación ad valorem referencial. + +--- + +### ISC Telecomunicaciones + +| Campo | Valor | +|---|---| +| ID plantilla | `do_tax_isc_telecom` | +| Tasa | 10% | +| Aplica a | Empresas de telecomunicaciones y proveedores de servicios | +| Cuenta contable | 210208 — ISC por pagar | +| Formulario | IT-1 (plazo día 20) | + +**Base legal:** Arts. 393-441 CT | Ley 253-12. + +**Descripción:** ISC del 10% sobre los servicios de telecomunicaciones: telefonía fija, telefonía +móvil, internet, cable y servicios de datos. Aparece de forma separada en las facturas de servicios +de telecomunicaciones junto con el CDT (INDOTEL 2%) y el ITBIS 18%. + +**En la factura de telecom del cliente:** +``` +Servicio mensual: $1,000.00 +ISC telecomunicaciones 10%: $100.00 +CDT INDOTEL 2%: $20.00 +ITBIS 18% (sobre servicio): $180.00 +Total: $1,300.00 +``` + +**Para el cliente (empresa que recibe la factura):** el ISC y CDT son parte del costo del +servicio; no generan crédito fiscal ITBIS. El ITBIS sí es crédito fiscal si tiene NCF válido. + +--- + +### ISC Vehículos + +| Campo | Valor | +|---|---| +| ID plantilla | `do_tax_isc_vehiculos` | +| Tasa | 17% (referencial — hasta 2,000 cc) | +| Aplica a | Importadores y distribuidores de vehículos de motor | +| Cuenta contable | 210208 — ISC por pagar | + +**Base legal:** Arts. 393-441 CT (Ley 11-92). + +**Tasas aproximadas por cilindrada (verificar tabla vigente DGA/DGII):** + +| Cilindrada | Tasa aproximada | +|---|---| +| Hasta 1,000 cc | 0% (exento) | +| 1,001 – 1,500 cc | ~10% | +| 1,501 – 2,000 cc | ~17% | +| 2,001 – 3,000 cc | ~25-40% | +| Más de 3,000 cc | ~40-60% | +| Eléctricos | Exento | +| Vehículos de carga > 5 ton | Exento | + +La tasa del 17% en el template es referencial para el rango más común. La base imponible +es el valor CIF (costo + seguro + flete) del vehículo importado. + +--- + +## CDT INDOTEL + +**Base legal:** Art. 26 Ley 153-98 (Ley General de Telecomunicaciones) +**Administrado por:** INDOTEL — Instituto Dominicano de las Telecomunicaciones +**Nota:** Esta contribución se remite a INDOTEL (no a DGII), pero aparece en facturas de telecom. + +--- + +| Campo | Valor | +|---|---| +| ID plantilla | `do_tax_cdt_indotel` | +| Tasa | 2% | +| Aplica a | Empresas de telecomunicaciones (telefonía, internet, cable) | +| Cuenta contable | 210209 — CDT INDOTEL por pagar | + +**Descripción:** La Contribución para el Desarrollo de las Telecomunicaciones (CDT) es del 2% +sobre los ingresos brutos de las empresas de telecomunicaciones. Estas lo trasladan al usuario +final como línea separada en la factura de servicio. + +**Aplica a:** Personas jurídicas titulares de concesiones de telecomunicaciones (Claro, Altice, +Viva y demás operadores). Para los clientes (empresas o individuos), es parte del costo del +servicio de telecom. + +**Diferencia ISC vs. CDT en facturas de telecom:** +- **ISC 10%:** Impuesto DGII, sobre el precio del servicio +- **CDT 2%:** Contribución INDOTEL, sobre el precio del servicio +- **ITBIS 18%:** Aplica sobre el precio del servicio (no sobre ISC ni CDT, salvo interpretación contraria) + +--- + +## Otros Impuestos + +--- + +### Propina Legal + +| Campo | Valor | +|---|---| +| ID plantilla | `do_tax_propina_10` | +| Tasa | 10% | +| Aplica a | Restaurantes, bares, hoteles, servicios de catering | +| Cuenta contable | 210205 — Otros impuestos por pagar | + +**Base legal:** Ley 4-11 y Resoluciones del Ministerio de Trabajo. + +**Descripción:** Cargo de servicio obligatorio del 10% que aparece en las facturas de restaurantes, +bares y establecimientos hoteleros. No es un impuesto DGII sino una remuneración adicional para +los trabajadores de servicio. + +**Distribución del 10%:** +- 85% → Empleados de servicio directo (meseros, botones, etc.) +- 15% → Establecimiento (para fondo de empleados o mejoras) + +**Base de cálculo:** El 10% aplica sobre el valor del servicio (comida, bebida, alojamiento) +**antes** de aplicar el ITBIS. El ITBIS se calcula sobre el monto del servicio sin incluir la +propina. + +**Asiento cuando se cobra:** +``` +Dr. Caja / Banco (total cobrado al cliente) + Cr. Ventas (precio del servicio) + Cr. 210205 Propina por pagar (85% distribución empleados) + Cr. Propina del establecimiento (15%) +``` + +**Nota:** Algunos establecimientos calculan ITBIS sobre base + propina. La posición correcta +es que la propina no es un ingreso del establecimiento sino de los empleados, por lo que no +debe incluirse en la base del ITBIS. Consultar con asesor fiscal. + +--- + +### Impuesto Cheques + +| Campo | Valor | +|---|---| +| ID plantilla histórica | `do_tax_cheques_015` | +| ID plantilla vigente/alternativa | `do_tax_cheques_020` | +| Tasa histórica | 0.15% (1.5 por mil) | +| Tasa vigente/alternativa | 0.20% (2.0 por mil) | +| Quién lo paga | El titular de la cuenta bancaria (empresa o persona) | +| Quién lo recauda | El banco, de forma automática | +| Cuenta contable | 210205 — Otros impuestos por pagar | + +**Base legal:** Art. 382-D CT (Ley 11-92, modificado por Ley 288-04). + +**Descripción:** Impuesto que el banco descuenta automáticamente sobre: +- Cada cheque emitido +- Cada transferencia bancaria y débito electrónico + +**Base de cálculo:** El valor nominal del cheque o transferencia. + +**Para la empresa:** Es un gasto financiero/bancario que se registra en la cuenta de "Gastos +Bancarios" o "Comisiones Bancarias". No aparece en facturas a clientes; es un costo propio de +las transacciones bancarias de la empresa. + +**Ejemplo:** +- Empresa emite cheque de RD$ 100,000 +- Banco descuenta automáticamente: 100,000 × 0.15% = RD$ 150 +- Con tasa 0.20%: 100,000 × 0.20% = RD$ 200 +- El banco remite el monto descontado a la DGII + +**Nota sobre el template:** Este template no se usa en facturas de venta/compra. Se usa +como referencia contable para registrar el gasto cuando se concilian los estados de cuenta +bancarios. El asiento sería: Dr. Gastos Bancarios / Cr. Banco. + +--- + +### Impuesto Activos + +| Campo | Valor | +|---|---| +| ID plantilla | `do_tax_activos_1` | +| Tasa | 1% anual sobre activos totales | +| Aplica a | Personas Jurídicas (referencia anual) | +| Carácter | Mínimo ISR anual (no se aplica en facturas) | +| Cuenta contable | 210205 — Otros impuestos por pagar | +| Formulario | IR-2 (declaración anual, plazo 29 de abril) | + +**Base legal:** Art. 296-A CT (Ley 11-92, modificado por varias leyes). + +**Descripción:** El Impuesto Mínimo a los Activos establece que las personas jurídicas deben +pagar un ISR mínimo equivalente al 1% del total de sus activos al cierre del ejercicio fiscal. + +**Mecánica del cálculo:** +1. Se calcula el ISR normal (27% de la renta neta gravable) +2. Se calcula el 1% de los activos totales +3. Se paga el **mayor** de los dos +4. Si ISR calculado ≥ 1% activos → se paga el ISR normal +5. Si ISR calculado < 1% activos → se paga la diferencia como "Impuesto Mínimo a los Activos" + +**Exenciones:** +- Empresas en período de instalación/pre-operativo (primeros 3 años) +- Empresas en proceso de liquidación +- Empresas acogidas a la Ley 8-90 (Zonas Francas) +- Años con pérdidas consecutivas (consultar normas vigentes) + +**Nota sobre el template:** Este impuesto no se aplica en facturas ordinarias. El template +sirve como referencia para el ajuste anual al declarar el IR-2. El asiento de cierre: +``` +Dr. Gasto ISR (diferencia mínimo vs. calculado) + Cr. 210205 Otros impuestos por pagar +``` + +--- + +### ITI + +| Campo | Valor | +|---|---| +| ID plantilla | `do_tax_iti_3` | +| Tasa | 3% | +| Aplica a | Personas Físicas y Jurídicas (comprador del inmueble) | +| Cuenta contable | 210210 — Impuesto sobre Transferencia Inmobiliaria por pagar | +| Formulario | Formulario de transferencia DGII + Registro de Títulos | + +**Base legal:** Art. 11 Ley 288-04 | Arts. 27 y siguientes Ley 18-88 (modificada). + +**Descripción:** El Impuesto sobre la Transferencia de Bienes Inmuebles (ITI) de 3% aplica +sobre el valor de mercado o el valor catastral del inmueble, el **mayor** de los dos, cada vez +que se transfiere la propiedad de un bien inmueble. + +**Quién paga:** El comprador (adquiriente del inmueble). Es un costo de la transacción para +quien adquiere la propiedad. + +**Base de cálculo:** Valor de mercado declarado en el contrato de compraventa o valor catastral +DGII, el que sea mayor. + +**Proceso:** +1. Las partes acuerdan el precio de compraventa +2. DGII evalúa el valor del inmueble y compara con el catastral +3. El comprador paga 3% sobre la base que determine DGII +4. DGII emite constancia de pago +5. Registro de Títulos procede con el cambio de titularidad + +**Nota:** Existen exenciones por vivienda de bajo costo (casas con valor ≤ cierto umbral) +y en casos de herencia/donación (sujeto a Impuesto de Sucesiones, no ITI). + +**Para el comprador, asiento:** +``` +Dr. 210210 ITI por pagar (3% del valor del inmueble) + Cr. Banco / Cheque +``` +El 3% se capitaliza como parte del costo del inmueble (costo de adquisición). + +--- + +## Cuentas Contables + +| Código | Nombre | Tipo | Uso | +|---|---|---|---| +| 110401 | ITBIS adelantado en compras | Activo | Crédito fiscal ITBIS en compras (18% y 8%) | +| 110406 | ITBIS retenido por adquirencias a recuperar | Activo | ITBIS retenido por procesadoras de tarjetas | +| 210201 | ITBIS cobrado por pagar | Pasivo | Débito fiscal ITBIS en ventas | +| 210202 | Retenciones de ITBIS por pagar | Pasivo | ITBIS retenido GC 30%, ITBIS proveedor informal 100% | +| 210203 | Retenciones de ISR por pagar | Pasivo | ISR retenido (honorarios, alquileres, intereses PJ, premios, estado) | +| 210206 | ISR dividendos retenidos por pagar | Pasivo | ISR retenido sobre distribución de dividendos (IR-18) | +| 210207 | ISR pagos al exterior por pagar | Pasivo | ISR retenido en remesas al exterior (Form. 609) | +| 210208 | ISC por pagar | Pasivo | Impuesto Selectivo al Consumo (bebidas, tabaco, telecom, vehículos) | +| 210209 | CDT INDOTEL por pagar | Pasivo | Contribución desarrollo telecomunicaciones (Ley 153-98) | +| 210210 | Impuesto sobre Transferencia Inmobiliaria por pagar | Pasivo | ITI 3% en compraventa de inmuebles | + +--- + +## Formularios y Plazos + +| Formulario | Descripción | Plazo | Impuesto | +|---|---|---|---| +| IT-1 | Declaración mensual ITBIS | Día 20 del mes siguiente | ITBIS (ventas, compras, retenciones) | +| IT-2 | Solicitud devolución crédito fiscal | Variable | ITBIS exportadores (tasa cero) | +| IR-1 | Declaración anual personas físicas | 31 de marzo | ISR personas físicas | +| IR-2 | Declaración anual personas jurídicas | 29 de abril (cierre dic.) | ISR personas jurídicas | +| IR-3 | Retenciones salariales (empleador) | Enero del año siguiente | ISR empleados | +| IR-13 | Retenciones tercera categoría | Día 10 del mes siguiente | ISR retenciones (honorarios, alquileres, intereses, premios) | +| IR-17 | Anticipos mensuales ISR | Día 20 de cada mes | ISR anticipos | +| IR-18 | Retención sobre dividendos | Día 10 del mes siguiente | ISR dividendos | +| 606 | Reporte compras (proveedores) | Día 20 del mes siguiente | ITBIS / ISR (datos informativos compras) | +| 607 | Reporte ventas (clientes) | Día 20 del mes siguiente | ITBIS (datos informativos ventas) | +| 609 | Pagos al exterior | Día 20 del mes siguiente | ISR pagos no residentes | +| 623 | Retenciones sector público (Estado) | Variable | ISR 1.5% como agente estatal | + +--- + +*Última actualización: junio 2026 | Módulo: account_do v8.0 | DGII: dgii.gov.do* diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/README.rst b/README.rst new file mode 100644 index 0000000..7d5dea2 --- /dev/null +++ b/README.rst @@ -0,0 +1,18 @@ +account_do +========== + +Localización contable dominicana para Tryton. + +Cobertura funcional +------------------- + +* Plan de cuentas base para República Dominicana. +* Catálogo de impuestos y códigos fiscales. +* Reglas fiscales de venta y compra para escenarios dominicanos comunes. +* Campo ``tax_kind`` para clasificar ITBIS, retenciones, ISC, CDT, propina legal y otros impuestos. +* Documentación técnica en ``doc/index.rst`` y escenario funcional en ``tests/scenario_account_do.rst``. + +Pruebas +------- + +Las pruebas validan la instalación del módulo, la creación del plan para una compañía, la integridad de referencias XML, la clasificación contable principal, los códigos fiscales y las categorías fiscales dominicanas. diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/account_chart_do.xml b/account_chart_do.xml new file mode 100644 index 0000000..a4596a4 --- /dev/null +++ b/account_chart_do.xml @@ -0,0 +1,1573 @@ + + + + + + + Plan de Cuentas NIIF - República Dominicana + + + + + Activos + + + balance + + + + Activos corrientes + + + balance + + + + Efectivo y equivalentes de efectivo + + + balance + + + Cuentas por cobrar + + + balance + + + + + Inventarios + + + balance + + + + Impuestos y anticipos por recuperar + + + balance + + + + Pagos anticipados + + + balance + + + + Activos financieros + + + balance + + + + Activos no corrientes + + + balance + + + + Propiedad, planta y equipo + + + balance + + + + Activos por derecho de uso + + + balance + + + + Activo por impuesto diferido + + + balance + + + + Activos intangibles + + + balance + + + + Propiedades de inversión + + + balance + + + + Pasivos + + + balance + + + Pasivos corrientes + + + balance + + + Cuentas por pagar + + + balance + + + + Impuestos y retenciones por pagar + + + balance + + + Obligaciones laborales + + + balance + + + Préstamos corrientes + + + balance + + + Provisiones + + + balance + + + Pasivos no corrientes + + + balance + + + Pasivos por arrendamiento + + + balance + + + Pasivo por impuesto diferido + + + balance + + + Patrimonio + + + balance + + + Capital y reservas + + + balance + + + Resultados acumulados + + + balance + + + Otro resultado integral acumulado + + + balance + + + Ingresos de actividades ordinarias + + + income + + + + Otros ingresos y ganancias + + + income + + + + Costo de ventas y servicios + + + income + + + + Gastos operacionales + + + income + + + + Gastos financieros + + + income + + + + Impuesto a las ganancias + + + income + + + + + + + Plan de Cuentas NIIF - República Dominicana + + + + + + + + 1 + ACTIVOS + + + + + 2 + PASIVOS + + + + + 3 + PATRIMONIO + + + + + 4 + INGRESOS + + + + + 5 + COSTOS + + + + + 6 + GASTOS + + + + + 7 + CUENTAS DE CIERRE Y CONTROL + + + + + + + + 11 + Activos corrientes + + + + + 12 + Activos no corrientes + + + + + 21 + Pasivos corrientes + + + + + 22 + Provisiones corrientes + + + + + 23 + Pasivos no corrientes + + + + + 31 + Capital y reservas + + + + + 41 + Ingresos de actividades ordinarias + + + + + 42 + Otros ingresos y ganancias + + + + + 51 + Costo de ventas y servicios + + + + + 61 + Gastos operacionales + + + + + 62 + Gastos financieros y efectos de medición + + + + + 63 + Impuesto a las ganancias + + + + + + + + 1101 + Efectivo y equivalentes de efectivo + + + + + 1102 + Cuentas por cobrar + + + + + 1103 + Inventarios + + + + + 1104 + Impuestos y anticipos por recuperar + + + + + 1105 + Pagos anticipados + + + + + 1106 + Activos contractuales corrientes + + + + + 1107 + Inversiones financieras corrientes + + + + + 1110 + Activos no corrientes mantenidos para la venta + + + + + 1201 + Propiedad, planta y equipo - terrenos y edificaciones + + + + + 1202 + Propiedad, planta y equipo - mobiliario y equipos + + + + + 1203 + Propiedad, planta y equipo - transporte + + + + + 1204 + Construcciones y activos en proceso + + + + + 1205 + Activos por derecho de uso + + + + + 1206 + Impuesto diferido activo + + + + + 1207 + Inversiones financieras no corrientes + + + + + 1208 + Propiedades de inversión + + + + + 1209 + Activos intangibles + + + + + 2101 + Cuentas por pagar comerciales + + + + + 2102 + Impuestos y retenciones por pagar + + + + + 2103 + Obligaciones laborales y seguridad social + + + + + 2104 + Préstamos y financiamientos corrientes + + + + + 2105 + Pasivos contractuales corrientes + + + + + 2106 + Pasivos asociados a activos mantenidos para la venta + + + + + 2201 + Provisiones corrientes + + + + + 2301 + Préstamos y financiamientos no corrientes + + + + + 2302 + Pasivos por arrendamiento + + + + + 2303 + Impuesto diferido pasivo + + + + + 2304 + Provisiones no corrientes + + + + + 3101 + Capital social + + + + + 3102 + Aportes pendientes de formalización + + + + + + 3103 + Reservas legales y estatutarias + + + + + 3104 + Resultados acumulados + + + + + 3105 + Resultado del periodo + + + + + 3106 + Otro resultado integral acumulado + + + + + 3107 + Dividendos o distribuciones declaradas + + + + + + 4101 + Ingresos por ventas de bienes + + + + + 4102 + Ingresos por servicios + + + + + 4103 + Devoluciones y descuentos sobre ventas + + + + + 4104 + Ingresos por contratos de construcción o proyectos + + + + + 4201 + Ingresos financieros + + + + + 4202 + Diferencia cambiaria ganada realizada + + + + + 4203 + Diferencia cambiaria ganada no realizada + + + + + 4204 + Recuperación de cuentas incobrables + + + + + 4205 + Reversión de deterioro de inventarios + + + + + 4206 + Reversión de deterioro de activos + + + + + 4207 + Reversión de provisiones + + + + + 4208 + Ganancia por medición de instrumentos financieros + + + + + 4209 + Ganancia por valor razonable propiedades de inversión + + + + + 4210 + Ganancia por disposición de activos no corrientes + + + + + 4999 + Otros ingresos + + + + + 5101 + Costo de ventas + + + + + 5102 + Compras de mercancías + + + + + 5103 + Fletes, seguros y gastos de importación capitalizables + + + + + 5104 + Mano de obra directa + + + + + 5105 + Costos indirectos de fabricación + + + + + 5106 + Pérdida por deterioro de inventarios + + + + + 6101 + Sueldos, salarios y beneficios + + + + + 6102 + TSS e INFOTEP patronal + + + + + 6103 + Honorarios profesionales + + + + + 6104 + Arrendamientos de corto plazo o bajo valor + + + + + 6105 + Servicios públicos y comunicaciones + + + + + 6106 + Materiales y suministros + + + + + 6107 + Combustibles, transporte y mensajería + + + + + 6108 + Reparaciones y mantenimiento + + + + + 6109 + Publicidad, promoción y representación + + + + + 6110 + Depreciación de propiedad, planta y equipo + + + + + 6111 + Amortización de intangibles + + + + + 6112 + Depreciación activos por derecho de uso + + + + + 6113 + Seguros + + + + + 6114 + Impuestos, tasas y contribuciones + + + + + 6115 + Gasto por pérdidas crediticias esperadas + + + + + 6116 + Pérdida por deterioro de propiedad, planta y equipo + + + + + 6117 + Pérdida por deterioro de intangibles + + + + + 6118 + Gasto por provisiones + + + + + 6119 + Gasto por beneficios a empleados a largo plazo + + + + + 6120 + Pérdida por disposición de activos no corrientes + + + + + 6201 + Gastos financieros - intereses + + + + + 6202 + Comisiones bancarias y tarjetas + + + + + 6203 + Gasto financiero por arrendamientos + + + + + 6204 + Diferencia cambiaria perdida realizada + + + + + 6205 + Diferencia cambiaria perdida no realizada + + + + + 6206 + Pérdida por medición de instrumentos financieros + + + + + 6207 + Pérdida por valor razonable propiedades de inversión + + + + + 6301 + Gasto por impuesto corriente + + + + + 6302 + Gasto por impuesto diferido + + + + + 6303 + Ingreso por impuesto diferido + + + + + 6999 + Otros gastos + + + + + 7101 + Resultado antes de impuesto + + + + + 7102 + Resultado después de impuesto + + + + + + + + 110101 + Caja general + + + + + 110102 + Caja chica + + + + + 110103 + Banco moneda nacional + + + + + 110104 + Banco moneda extranjera + + + + + 110105 + Equivalentes de efectivo + + + + + 110201 + Cuentas por cobrar clientes + + + + + + + 110202 + Otras cuentas por cobrar + + + + + + + 110203 + Documentos por cobrar corrientes + + + + + + + 110204 + Anticipos a proveedores + + + + + + + 110205 + Provisión por pérdidas crediticias esperadas de clientes + + + + + 110206 + Provisión por pérdidas crediticias esperadas de otras cuentas por cobrar + + + + + 110301 + Inventario de mercancías + + + + + 110302 + Inventario en tránsito + + + + + 110303 + Inventario de materias primas + + + + + 110304 + Inventario de productos terminados + + + + + 110305 + Provisión por deterioro de inventarios + + + + + 110401 + ITBIS adelantado en compras + + + + + 110402 + Retenciones de ISR a favor + + + + + 110403 + Anticipos de impuesto sobre la renta + + + + + 110404 + Saldos a favor DGII + + + + + 110405 + Otros impuestos por recuperar + + + + + 110501 + Seguros pagados por anticipado + + + + + 110502 + Alquileres pagados por anticipado + + + + + 110503 + Servicios pagados por anticipado + + + + + 110601 + Activos contractuales por ingresos + + + + + + + 110701 + Inversiones corrientes a costo amortizado + + + + + 110702 + Inversiones corrientes a valor razonable con cambios en resultados + + + + + 110703 + Inversiones corrientes a valor razonable con cambios en ORI + + + + + 111001 + Activos no corrientes mantenidos para la venta + + + + + 111002 + Deterioro de activos mantenidos para la venta + + + + 120101 + Terrenos + + + + + 120102 + Edificaciones + + + + + 120191 + Depreciación acumulada edificaciones + + + + + 120192 + Deterioro acumulado edificaciones + + + + 120201 + Mobiliario y equipos de oficina + + + + + 120202 + Equipos de cómputo y tecnología + + + + + 120203 + Maquinarias y equipos + + + + + 120204 + Herramientas y equipos menores capitalizables + + + + + 120291 + Depreciación acumulada mobiliario y equipos + + + + + 120292 + Deterioro acumulado mobiliario y equipos + + + + 120301 + Vehículos y equipos de transporte + + + + + 120391 + Depreciación acumulada vehículos + + + + + 120392 + Deterioro acumulado vehículos + + + + 120401 + Construcciones en proceso + + + + + 120402 + Anticipos para adquisición de activos fijos + + + + + + + 120501 + Activos por derecho de uso - inmuebles + + + + + 120502 + Activos por derecho de uso - vehículos + + + + + 120503 + Activos por derecho de uso - equipos + + + + + 120591 + Depreciación acumulada activos por derecho de uso + + + + + 120592 + Deterioro acumulado activos por derecho de uso + + + + 120601 + Activo por impuesto diferido + + + + + 120701 + Inversiones no corrientes a costo amortizado + + + + + 120702 + Inversiones no corrientes a valor razonable con cambios en resultados + + + + + 120703 + Inversiones no corrientes a valor razonable con cambios en ORI + + + + + 120801 + Propiedades de inversión + + + + + 120891 + Depreciación acumulada propiedades de inversión + + + + + 120892 + Deterioro acumulado propiedades de inversión + + + + 120901 + Software y licencias + + + + + 120902 + Marcas y derechos + + + + + 120903 + Desarrollo capitalizado + + + + + 120991 + Amortización acumulada de intangibles + + + + + 120992 + Deterioro acumulado de intangibles + + + + 210101 + Cuentas por pagar proveedores + + + + + + + 210102 + Otras cuentas por pagar + + + + + + + 210103 + Documentos por pagar corrientes + + + + + + + 210104 + Anticipos recibidos de clientes + + + + + + + 210201 + ITBIS cobrado por pagar + + + + + 210202 + Retenciones de ITBIS por pagar + + + + + 210203 + Retenciones de ISR por pagar + + + + + 210204 + Impuesto sobre la renta por pagar + + + + + 210205 + Otros impuestos por pagar + + + + + 210301 + Sueldos y salarios por pagar + + + + + + + 210302 + Vacaciones por pagar + + + + + 210303 + Regalía pascual por pagar + + + + + 210304 + Bonificaciones por pagar + + + + + 210305 + TSS por pagar + + + + + 210306 + INFOTEP por pagar + + + + + 210401 + Préstamos bancarios corrientes + + + + + + + 210402 + Porción corriente de préstamos a largo plazo + + + + + + + 210501 + Ingresos diferidos por contratos con clientes + + + + + + + 210601 + Pasivos asociados a activos mantenidos para la venta + + + + + 220101 + Provisión por litigios corriente + + + + + 220102 + Provisión por garantías corriente + + + + + 220103 + Provisión por reestructuración corriente + + + + + 220104 + Otras provisiones corrientes + + + + + 230101 + Préstamos bancarios no corrientes + + + + + + + 230102 + Documentos por pagar no corrientes + + + + + + + 230201 + Pasivo por arrendamientos corriente + + + + + + + 230202 + Pasivo por arrendamientos no corriente + + + + + + + 230301 + Pasivo por impuesto diferido + + + + + 230401 + Provisión por litigios no corriente + + + + + 230402 + Provisión por garantías no corriente + + + + + 230403 + Provisión por desmantelamiento, retiro o restauración + + + + + 230404 + Provisión por reestructuración no corriente + + + + + 230405 + Beneficios a empleados a largo plazo + + + + + 310601 + ORI acumulado + + + + + 310602 + Superávit por revaluación + + + + + 310603 + Reserva por conversión de moneda extranjera + + + + + 310604 + Reserva por instrumentos financieros a valor razonable con cambios en ORI + + + + + 310605 + Ganancias y pérdidas actuariales acumuladas + + + + + + 110406 + ITBIS retenido por adquirencias a recuperar + + + + + 210206 + ISR dividendos retenidos por pagar + + + + + 210207 + ISR pagos al exterior por pagar + + + + + 210208 + ISC por pagar + + + + + 210209 + CDT INDOTEL por pagar + + + + + 210210 + Impuesto sobre Transferencia Inmobiliaria por pagar + + + + + diff --git a/doc/index.rst b/doc/index.rst new file mode 100644 index 0000000..4a7e5fb --- /dev/null +++ b/doc/index.rst @@ -0,0 +1,18 @@ +Account DO +========== + +The ``account_do`` module provides Dominican Republic accounting data for +Tryton. + +It includes: + +* an IFRS-oriented chart of accounts for Dominican companies; +* Dominican tax groups and tax templates for ITBIS, ISR withholdings, ISC, + CDT, legal tip, and other taxes; +* tax code templates for DGII-oriented fiscal balances; +* sale and purchase tax rules for common Dominican fiscal situations; +* a ``tax_kind`` classification field on tax templates and taxes. + +The chart is intended as a base localization. Companies should review account +names, inactive historical taxes, and sector-specific taxes before using it in +production. diff --git a/locale/.gitkeep b/locale/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/locale/es_419.po b/locale/es_419.po new file mode 100644 index 0000000..8025bab --- /dev/null +++ b/locale/es_419.po @@ -0,0 +1,89 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +# Class: TaxTemplate +# Model: account.tax.template + +msgctxt "field:account.tax.template,tax_kind:" +msgid "Tax Kind" +msgstr "Tipo de Impuesto" + +msgctxt "selection:account.tax.template,tax_kind:" +msgid "" +msgstr "" + +msgctxt "selection:account.tax.template,tax_kind:" +msgid "ITBIS" +msgstr "ITBIS" + +msgctxt "selection:account.tax.template,tax_kind:" +msgid "Retención ITBIS" +msgstr "Retención ITBIS" + +msgctxt "selection:account.tax.template,tax_kind:" +msgid "Retención ITBIS Adquirentes" +msgstr "Retención ITBIS Adquirentes" + +msgctxt "selection:account.tax.template,tax_kind:" +msgid "Retención ISR" +msgstr "Retención ISR" + +msgctxt "selection:account.tax.template,tax_kind:" +msgid "ISC — Selectivo al Consumo" +msgstr "ISC — Selectivo al Consumo" + +msgctxt "selection:account.tax.template,tax_kind:" +msgid "CDT INDOTEL" +msgstr "CDT INDOTEL" + +msgctxt "selection:account.tax.template,tax_kind:" +msgid "Propina Legal" +msgstr "Propina Legal" + +msgctxt "selection:account.tax.template,tax_kind:" +msgid "Other Taxes" +msgstr "Otros Impuestos" + +# Class: Tax +# Model: account.tax + +msgctxt "field:account.tax,tax_kind:" +msgid "Tax Kind" +msgstr "Tipo de Impuesto" + +msgctxt "selection:account.tax,tax_kind:" +msgid "" +msgstr "" + +msgctxt "selection:account.tax,tax_kind:" +msgid "ITBIS" +msgstr "ITBIS" + +msgctxt "selection:account.tax,tax_kind:" +msgid "Retención ITBIS" +msgstr "Retención ITBIS" + +msgctxt "selection:account.tax,tax_kind:" +msgid "Retención ITBIS Adquirentes" +msgstr "Retención ITBIS Adquirentes" + +msgctxt "selection:account.tax,tax_kind:" +msgid "Retención ISR" +msgstr "Retención ISR" + +msgctxt "selection:account.tax,tax_kind:" +msgid "ISC — Selectivo al Consumo" +msgstr "ISC — Selectivo al Consumo" + +msgctxt "selection:account.tax,tax_kind:" +msgid "CDT INDOTEL" +msgstr "CDT INDOTEL" + +msgctxt "selection:account.tax,tax_kind:" +msgid "Propina Legal" +msgstr "Propina Legal" + +msgctxt "selection:account.tax,tax_kind:" +msgid "Other Taxes" +msgstr "Otros Impuestos" diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..7410b95 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,58 @@ +[build-system] +requires = ['hatchling >= 1', 'hatch-tryton'] +build-backend = 'hatchling.build' + +[project] +name = 'trytond_account_do' +dynamic = ['version', 'dependencies', 'optional-dependencies', 'authors', 'readme'] +requires-python = '>=3.10' +maintainers = [ + {name = "Solutema"}, + ] +description = "Dominican Republic accounting for Tryton" +license = 'GPL-3.0-or-later' +license-files = ["LICENSE", "COPYRIGHT"] +keywords = ["tryton", "accounting", "dominican-republic"] +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Environment :: Plugins", + "Framework :: Tryton", + "Topic :: Office/Business", + "Topic :: Office/Business :: Financial :: Accounting", + "Topic :: Software Development :: Libraries :: Python Modules", + ] + +[project.entry-points.'trytond.modules'] +account_do = 'trytond.modules.account_do' + +[project.urls] +homepage = "https://www.tryton.org/" +repository = "https://gitea.joseagrc.com/tryton-do/account_do" + +[tool.hatch.build] +include = [ + 'COPYRIGHT', + 'LICENSE', + 'README.rst', + 'IMPUESTOS_RD.md', + '**/tryton.cfg', + '**/*.py', + '**/*.xml', + 'view/**/*.xml', + 'locale/**/*.po', + 'doc/**/*.rst', + '**/*.fodt', + 'icons/**/*.svg', + 'tests/**/*.rst', + 'tests/**/*.json', + ] + +[tool.hatch.build.targets.wheel.sources] +"" = "trytond/modules/account_do" + +[tool.hatch.metadata.hooks.tryton] +copyright = 'COPYRIGHT' +readme = 'README.rst' + +[tool.hatch.metadata.hooks.tryton.tryton-optional-dependencies] +test = ['proteus'] diff --git a/tax.py b/tax.py new file mode 100644 index 0000000..5a0f829 --- /dev/null +++ b/tax.py @@ -0,0 +1,133 @@ +from trytond.model import fields +from trytond.pool import PoolMeta +from trytond.transaction import Transaction +from sql import Null, Table + +TAX_KIND = [ + ('', ''), + ('itbis', 'ITBIS'), + ('itbis_withholding', 'Retención ITBIS'), + ('itbis_withholding_acquirer', 'Retención ITBIS Adquirentes'), + ('isr_withholding', 'Retención ISR'), + ('isc', 'ISC — Selectivo al Consumo'), + ('cdt', 'CDT INDOTEL'), + ('tip', 'Propina Legal'), + ('others', 'Other Taxes'), +] + +MODEL_DATA_RENAMES = { + 'do_tax_group_otros': 'do_tax_group_others', + 'do_tc_otros': 'do_tc_others', + 'do_tc_otros_propina': 'do_tc_others_tip', + 'do_tc_otros_cheques': 'do_tc_others_checks', + 'do_tc_otros_activos': 'do_tc_others_assets', + 'do_tc_otros_iti': 'do_tc_others_iti', +} + +ROOT_TAX_CODE_CHILDREN = [ + 'ITBIS — Balance Neto (Débito − Crédito)', + 'ISR - Retenciones', + 'ISR - Retenciones en la Fuente', + 'ISC - Impuesto Selectivo al Consumo', + 'CDT INDOTEL 2% (Ley 153-98)', + 'Otros Impuestos y Contribuciones', +] + + +def migrate_model_data_names(cursor, module_name): + if module_name != 'account_do': + return + model_data = Table('ir_model_data') + for old, new in MODEL_DATA_RENAMES.items(): + cursor.execute(*model_data.update( + [model_data.fs_id], [new], + where=(model_data.module == module_name) + & (model_data.fs_id == old))) + + +class TaxTemplate(metaclass=PoolMeta): + __name__ = 'account.tax.template' + + tax_kind = fields.Selection(TAX_KIND, 'Tax Kind', sort=False) + + @classmethod + def __register__(cls, module_name): + cursor = Transaction().connection.cursor() + table = cls.__table__() + + super().__register__(module_name) + + migrate_model_data_names(cursor, module_name) + cursor.execute(*table.update( + [table.tax_kind], ['others'], + where=table.tax_kind == 'otros')) + + def _get_tax_value(self, tax=None): + values = super()._get_tax_value(tax=tax) + if not tax or tax.tax_kind != self.tax_kind: + values['tax_kind'] = self.tax_kind + return values + + +class Tax(metaclass=PoolMeta): + __name__ = 'account.tax' + + tax_kind = fields.Selection(TAX_KIND, 'Tax Kind', sort=False) + + @classmethod + def __register__(cls, module_name): + cursor = Transaction().connection.cursor() + table = cls.__table__() + + super().__register__(module_name) + + cursor.execute(*table.update( + [table.tax_kind], ['others'], + where=table.tax_kind == 'otros')) + + +class TaxCode(metaclass=PoolMeta): + __name__ = 'account.tax.code' + + @classmethod + def __register__(cls, module_name): + cursor = Transaction().connection.cursor() + + super().__register__(module_name) + + if module_name != 'account_do': + return + table = cls.__table__() + cursor.execute(*table.update( + [table.name], ['ISR - Retenciones'], + where=table.name == 'ISR - Retenciones en la Fuente')) + cursor.execute(*table.update( + [table.parent], [None], + where=table.name.in_(ROOT_TAX_CODE_CHILDREN) + & table.parent.in_(table.select(table.id, + where=table.name == 'Impuestos República Dominicana')))) + + +class TaxCodeLine(metaclass=PoolMeta): + __name__ = 'account.tax.code.line' + + @classmethod + def __register__(cls, module_name): + cursor = Transaction().connection.cursor() + + super().__register__(module_name) + + if module_name != 'account_do': + return + line = cls.__table__() + code = Table('account_tax_code') + tax = Table('account_tax') + cursor.execute(*line.delete( + where=(line.template == Null) + & line.code.in_(code.select(code.id, + where=code.name == ( + 'Retención ISR Intereses 1% ' + '(Personas Jurídicas, NG 07-19)'))) + & line.tax.in_(tax.select(tax.id, + where=tax.description == ( + 'Retención ISR Intereses Persona Física 10%'))))) diff --git a/tax_code_do.xml b/tax_code_do.xml new file mode 100644 index 0000000..5f33577 --- /dev/null +++ b/tax_code_do.xml @@ -0,0 +1,693 @@ + + + + + + + + Impuestos República Dominicana + + + + + + ITBIS — Balance Neto (Débito − Crédito) + + + + + ITBIS Facturado en Ventas (Débito Fiscal) + + + + + ITBIS Facturado 18% + + + + + ITBIS Facturado 16% + + + + + ITBIS Facturado 8% (Tasa Reducida) + + + + + + ITBIS Soportado en Compras (Crédito Fiscal) + + + + + ITBIS Soportado 18% + + + + + ITBIS Soportado 16% + + + + + ITBIS Soportado 8% (Tasa Reducida) + + + + + + ITBIS Retenido por Gran Contribuyente (30%) + + + + + + ITBIS Retenido por Adquirencias (NG 06-23, 2%) + + + + + + ITBIS Retenido 100% Proveedor Informal (B11/E41) + + + + + + ITBIS Tasa Cero — Base Imponible (Exportaciones / Zona Franca) + + + + + + + ISR - Retenciones + + + + + Retención ISR Honorarios/Servicios 5% (Personas Jurídicas) + + + + + Retención ISR Honorarios 10% (Personas Físicas) + + + + + Retención ISR Dividendos 10% (Art. 308 CT) + + + + + Retención ISR Intereses 10% (Personas Físicas, NG 07-19) + + + + + Retención ISR Intereses 1% (Personas Jurídicas, NG 07-19) + + + + + Retención ISR Alquileres 10% + + + + + Retención ISR Estado/Sector Público 1.5% + + + + + Retención ISR Premios y Loterías 25% (Art. 321 CT) + + + + + ISR Pagos al Exterior (Art. 305-306 CT) + + + + + + + ISC - Impuesto Selectivo al Consumo + + + + + ISC Bebidas Alcohólicas 20% + + + + + ISC Tabaco y Cigarrillos 20% + + + + + ISC Servicios de Telecomunicaciones 10% + + + + + ISC Vehículos de Motor (ad valorem) + + + + + + + CDT INDOTEL 2% (Ley 153-98) + + + + + + + Otros Impuestos y Contribuciones + + + + + Propina Legal 10% (Restaurantes/Hoteles) + + + + + Impuesto Cheques y Transferencias 0.15% + + + + + Impuesto Cheques y Transferencias 0.20% + + + + + Impuesto Mínimo a los Activos 1% + + + + + Transferencia Inmobiliaria ITI 3% + + + + + + + + + + + + + tax + invoice + + + + - + + tax + credit + + + + + + + + + tax + invoice + + + + - + + tax + credit + + + + + + + + + tax + invoice + + + + - + + tax + credit + + + + + + - + + tax + invoice + + + + + + + tax + credit + + + + + + - + + tax + invoice + + + + + + + tax + credit + + + + + + - + + tax + invoice + + + + + + + tax + credit + + + + + + + + + tax + invoice + + + + - + + tax + credit + + + + + + - + + tax + invoice + + + + + + + tax + credit + + + + + + + + + tax + invoice + + + + - + + tax + credit + + + + + + + + + base + invoice + + + + + + + + + tax + invoice + + + + - + + tax + credit + + + + + + + + + tax + invoice + + + + - + + tax + credit + + + + + + + + + tax + invoice + + + + - + + tax + credit + + + + + + + + + tax + invoice + + + + - + + tax + credit + + + + + + + + + tax + invoice + + + + - + + tax + credit + + + + + + + + + tax + invoice + + + + - + + tax + credit + + + + + + + + + tax + invoice + + + + - + + tax + credit + + + + + + + + + tax + invoice + + + + - + + tax + credit + + + + + + + + + tax + invoice + + + + - + + tax + credit + + + + + + + + + tax + invoice + + + + - + + tax + credit + + + + + + + + + tax + invoice + + + + - + + tax + credit + + + + + + + + + tax + invoice + + + + - + + tax + credit + + + + + + + + + tax + invoice + + + + - + + tax + credit + + + + + + + + + tax + invoice + + + + - + + tax + credit + + + + + + + + + tax + invoice + + + + - + + tax + credit + + + + + + + + + tax + invoice + + + + - + + tax + credit + + + + + + + + + tax + invoice + + + + - + + tax + credit + + + + + + + tax + invoice + + + + - + + tax + credit + + + + + + + + + tax + invoice + + + + - + + tax + credit + + + + + + + + + tax + invoice + + + + - + + tax + credit + + + diff --git a/tax_do.xml b/tax_do.xml new file mode 100644 index 0000000..fb98d47 --- /dev/null +++ b/tax_do.xml @@ -0,0 +1,485 @@ + + + + + + + ITBIS + ITBIS + both + + + ISR - Retenciones + ISR + both + + + Exento / Tasa Cero + EX0 + both + + + ISC - Selectivo al Consumo + ISC + both + + + ISR - Pagos al Exterior + ISREXT + purchase + + + CDT - Telecomunicaciones INDOTEL + CDT + both + + + Otros Impuestos y Contribuciones + OTROS + both + + + + + + + + + + + + ITBIS 18% — Ventas (Personas Jurídicas y Físicas) + ITBIS 18% Ventas + percentage + + + + + + Arts. 335-392 CT Ley 11-92; Ley 253-12 Art. 10; Decreto 293-11 + itbis + + + + ITBIS 16% — Ventas (Histórico, No Vigente) + ITBIS 16% Ventas + percentage + + + + + + Art. 345 CT Ley 11-92 mod. Ley 253-12 — tasa histórica no vigente + itbis + + + + ITBIS 18% — Compras / Crédito Fiscal (Personas Jurídicas y Físicas) + ITBIS 18% Compras + percentage + + + + + + Arts. 349-357 CT Ley 11-92 — Crédito fiscal ITBIS; Decreto 293-11 + itbis + + + + ITBIS 16% — Compras / Crédito Fiscal (Histórico, No Vigente) + ITBIS 16% Compras + percentage + + + + + + Art. 345 CT Ley 11-92 — Crédito fiscal histórico, tasa no vigente + itbis + + + + ITBIS 8% — Ventas Tasa Reducida (Personas Jurídicas y Físicas) + ITBIS 8% Ventas + percentage + + + + + + Art. 345 CT; Ley 253-12; Decreto 293-11 — Tasa reducida 8% + itbis + + + + ITBIS 8% — Compras Tasa Reducida / Crédito Fiscal (Personas Jurídicas y Físicas) + ITBIS 8% Compras + percentage + + + + + + Arts. 349-357 CT — Crédito fiscal tasa reducida 8%; Decreto 293-11 + itbis + + + + ITBIS Exento — Bienes y Servicios Exentos (Personas Jurídicas y Físicas) + ITBIS Exento + none + + + Arts. 343-344 CT Ley 11-92; Ley 288-04; NG 12-22 DGII + itbis + + + + ITBIS Tasa Cero — Exportaciones y Zona Franca (Personas Jurídicas y Físicas) + ITBIS 0% Exportaciones / Zona Franca + percentage + + + + + + Art. 342 CT; Ley 557-05; Ley 8-90 Zonas Francas; NG 05-19 DGII + itbis + + + + + Retención ITBIS 30% — Agente Gran Contribuyente (Personas Jurídicas y Físicas) + Retención ITBIS Gran Contribuyente 30% + percentage + + + + + + NG 01-11 DGII 2011; Arts. 309 y 337 CT — Grandes Contribuyentes + itbis_withholding + + + + + Retención ITBIS 2% — Adquirencias Tarjetas de Crédito y Débito (NG 06-23) + Retención ITBIS Adquirencias 2% + percentage + + + + + + NG 06-23 DGII 2023; Art. 337 CT — Adquirencias tarjetas débito/crédito + itbis_withholding_acquirer + + + + + + Retención ISR 5% — Honorarios y Servicios a Personas Jurídicas + Retención ISR Persona Jurídica 5% + percentage + + + + + + Art. 309 CT Ley 11-92; Decreto 95-12 — Honorarios personas jurídicas + isr_withholding + + + + Retención ISR 10% — Honorarios y Servicios a Personas Físicas + Retención ISR Persona Física 10% + percentage + + + + + + Art. 309 CT Ley 11-92; Decreto 95-12 — Honorarios personas físicas + isr_withholding + + + + Retención ISR 10% — Dividendos y Utilidades Distribuidas (Personas Físicas y Jurídicas) + Retención ISR Dividendos 10% + percentage + + + + + + Art. 308 CT Ley 11-92; Decreto 95-12; Formulario IR-18 + isr_withholding + + + + Retención ISR 10% — Intereses a Personas Físicas (NG 07-19) + Retención ISR Intereses Persona Física 10% + percentage + + + + + + NG 07-19 DGII; Art. 306 bis CT — Intereses personas físicas, definitivo + isr_withholding + + + + Retención ISR 10% — Alquileres y Arrendamientos (Personas Físicas y Jurídicas) + Retención ISR Alquileres 10% + percentage + + + + + + Art. 309 CT; NG 08-11 DGII — Alquileres personas físicas y jurídicas + isr_withholding + + + + Retención ISR 1.5% — Pagos del Estado / Sector Público (Personas Físicas y Jurídicas) + Retención ISR Estado 1.5% + percentage + + + + + + Art. 309 CT; Decreto 95-12; Formulario 623 DGII — Sector público + isr_withholding + + + + Retención ISR 1% — Intereses a Personas Jurídicas (NG 07-19) + Retención ISR Intereses Persona Jurídica 1% + percentage + + + + + + NG 07-19 DGII 2019; Art. 306 bis CT — Intereses personas jurídicas + isr_withholding + + + + Retención ISR 25% — Premios de Lotería, Sorteos y Rifas (Personas Físicas y Jurídicas) + Retención ISR Premios 25% + percentage + + + + + + Art. 321 CT Ley 11-92; Decreto 95-12 — Premios y loterías, definitivo + isr_withholding + + + + + + Retención ISR 27% — Pagos al Exterior: Servicios y Regalías (No Residentes) + Retención ISR Exterior 27% + percentage + + + + + + Art. 305 CT Ley 11-92 — Servicios y regalías a no residentes 27% + isr_withholding + + + + Retención ISR 10% — Pagos al Exterior: Intereses y Asistencia Técnica (No Residentes) + Retención ISR Exterior 10% + percentage + + + + + + Arts. 305-306 CT — Intereses y asistencia técnica a no residentes + isr_withholding + + + + + + + Retención ITBIS 100% — Compras a Proveedor Informal (B11 / e-CF E41) + Retención ITBIS Proveedor Informal 100% + percentage + + + + + + Art. 337 CT; NG 08-10 DGII — Retención 100% ITBIS comprador B11/E41 + itbis_withholding + + + + + + ISC 20% — Bebidas Alcohólicas (Vinos, Ron, Whisky y Destilados) + ISC Bebidas Alcohólicas 20% + percentage + + + + + + Arts. 393-441 CT Ley 11-92 — ISC bebidas alcohólicas, ad valorem 20% + isc + + + + ISC 20% — Tabaco, Cigarrillos y Derivados + ISC Tabaco y Cigarrillos 20% + percentage + + + + + + Arts. 393-441 CT Ley 11-92 — ISC tabaco y cigarrillos, ad valorem 20% + isc + + + + ISC 10% — Servicios de Telecomunicaciones + ISC Telecomunicaciones 10% + percentage + + + + + + Arts. 393-441 CT; Ley 253-12 — ISC servicios telecomunicaciones 10% + isc + + + + + ISC 17% — Vehículos de Motor (Referencial, hasta 2,000 cc) + ISC Vehículos 17% + percentage + + + + + + Arts. 393-441 CT — ISC vehículos ad valorem (tasa varía por cilindrada/CIF) + isc + + + + + + + CDT 2% — Contribución para el Desarrollo de las Telecomunicaciones (INDOTEL) + CDT INDOTEL 2% + percentage + + + + + + Art. 26 Ley 153-98 Telecomunicaciones — CDT INDOTEL 2% ingresos brutos + cdt + + + + + + + Propina Legal 10% — Restaurantes, Bares y Hoteles (Personas Físicas y Jurídicas) + Propina Legal 10% + percentage + + + + + + Ley 4-11 y Resolución Ministerio Trabajo — Propina obligatoria 10% + tip + + + + + Impuesto sobre Cheques y Transferencias Bancarias 0.15% (Personas Físicas y Jurídicas) + Impuesto Cheques y Transferencias 0.15% + percentage + + + + + + Art. 382-D CT Ley 11-92 mod. Ley 288-04 — 1.5 por mil cheques/débitos + others + + + + + Impuesto sobre Cheques y Transferencias Bancarias 0.20% (Personas Físicas y Jurídicas) + Impuesto Cheques y Transferencias 0.20% + percentage + + + + + + Impuesto sobre cheques y transferencias bancarias — 2.0 por mil + others + + + + + Impuesto Mínimo a los Activos 1% (Personas Jurídicas) + Impuesto a los Activos 1% + percentage + + + + + + Art. 296-A CT Ley 11-92 — Mínimo ISR 1% activos totales, anual (IR-2) + others + + + + + Impuesto sobre Transferencia Inmobiliaria 3% (Personas Físicas y Jurídicas) + Transferencia Inmobiliaria ITI 3% + percentage + + + + + + Art. 11 Ley 288-04; Arts. 27 ss. Ley 18-88 — ITI 3% valor inmueble + others + + + diff --git a/tax_rule_do.xml b/tax_rule_do.xml new file mode 100644 index 0000000..667eeb9 --- /dev/null +++ b/tax_rule_do.xml @@ -0,0 +1,71 @@ + + + + + + + + Regla de Impuestos Clientes RD + sale + + + + + + + + + + + + Regla de Impuestos Proveedores RD + purchase + + + + + + + + + + + + Regla Clientes Exentos ITBIS (RD) + sale + + + + + + + + + + + + Regla Clientes Zona Franca / Exportaciones (RD) + sale + + + + + + + + + + + + Regla Proveedores No Residentes / Exterior (RD) + purchase + + + + + + + + + + diff --git a/tax_view.xml b/tax_view.xml new file mode 100644 index 0000000..99f04d3 --- /dev/null +++ b/tax_view.xml @@ -0,0 +1,25 @@ + + + + + account.tax.template + + tax_form + + + account.tax + + tax_form + + + account.tax.template + + tax_list + + + account.tax + + tax_list + + + diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/__init__.py @@ -0,0 +1 @@ + diff --git a/tests/scenario_account_do.rst b/tests/scenario_account_do.rst new file mode 100644 index 0000000..89a89b2 --- /dev/null +++ b/tests/scenario_account_do.rst @@ -0,0 +1,57 @@ +Account DO Scenario +=================== + +Imports:: + + >>> from proteus import Model + >>> from trytond.modules.account.tests.tools import create_chart + >>> from trytond.modules.company.tests.tools import create_company, get_company + >>> from trytond.tests.tools import activate_modules + +Install account_do:: + + >>> config = activate_modules('account_do', create_company) + +Get the test company:: + + >>> company = get_company() + +Create the Dominican chart of accounts:: + + >>> _ = create_chart(company, chart='account_do.do_account_root') + >>> Account = Model.get('account.account') + >>> receivable, = Account.find([ + ... ('company', '=', company.id), + ... ('code', '=', '110201'), + ... ('type.receivable', '=', True)]) + >>> payable, = Account.find([ + ... ('company', '=', company.id), + ... ('code', '=', '210101'), + ... ('type.payable', '=', True)]) + >>> bool(receivable.party_required) + True + >>> bool(payable.party_required) + True + +Validate fiscal objects:: + + >>> Tax = Model.get('account.tax') + >>> TaxCode = Model.get('account.tax.code') + >>> TaxRule = Model.get('account.tax.rule') + >>> bool(Tax.find([ + ... ('company', '=', company.id), + ... ('description', '=', 'ITBIS 18% Ventas'), + ... ('tax_kind', '=', 'itbis')])) + True + >>> bool(TaxCode.find([ + ... ('company', '=', company.id), + ... ('name', '=', 'Otros Impuestos y Contribuciones')])) + True + >>> bool(TaxRule.find([ + ... ('company', '=', company.id), + ... ('kind', '=', 'sale')])) + True + >>> bool(TaxRule.find([ + ... ('company', '=', company.id), + ... ('kind', '=', 'purchase')])) + True diff --git a/tests/test_module.py b/tests/test_module.py new file mode 100644 index 0000000..3ec1113 --- /dev/null +++ b/tests/test_module.py @@ -0,0 +1,306 @@ +import unittest +from collections import Counter +from decimal import Decimal +from pathlib import Path +from xml.etree import ElementTree as ET + +from trytond.modules.account_do.tax import TAX_KIND +from trytond.pool import Pool +from trytond.tests.test_tryton import ModuleTestCase, with_transaction +from trytond.transaction import Transaction + +MODULE_DIR = Path(__file__).resolve().parent.parent + + +def _iter_xml_records(*filenames): + for filename in filenames: + path = MODULE_DIR / filename + root = ET.parse(path).getroot() + for record in root.findall('.//record'): + values = { + field.get('name'): ( + field.get('ref') or field.get('eval') or field.text or '') + for field in record.findall('field') + } + yield filename, record.get('id'), record.get('model'), values + + +class AccountDoTestCase(ModuleTestCase): + "Test account_do module" + module = 'account_do' + + @with_transaction() + def test_chart_template_is_loaded_by_default(self): + 'Test Dominican chart template is loaded without Spanish language setup' + pool = Pool() + ModelData = pool.get('ir.model.data') + + self.assertTrue(ModelData.get_id('account_do', 'do_account_root')) + + @with_transaction() + def test_chart_creates_company_accounts_and_taxes(self): + 'Test Dominican chart creates usable accounts and taxes' + pool = Pool() + Account = pool.get('account.account') + AccountTemplate = pool.get('account.account.template') + Company = pool.get('company.company') + Currency = pool.get('currency.currency') + ModelData = pool.get('ir.model.data') + Party = pool.get('party.party') + Tax = pool.get('account.tax') + TaxCode = pool.get('account.tax.code') + TaxRule = pool.get('account.tax.rule') + CreateChart = pool.get('account.create_chart', type='wizard') + + currency, = Currency.create([{ + 'name': 'Dominican Peso', + 'code': 'DOP', + 'symbol': 'RD$', + 'digits': 2, + 'rounding': '0.01', + }]) + party, = Party.create([{ + 'name': 'Empresa Dominicana', + }]) + company, = Company.create([{ + 'party': party.id, + 'currency': currency.id, + }]) + template = AccountTemplate(ModelData.get_id( + 'account_do', 'do_account_root')) + + session_id, _start, _end = CreateChart.create() + chart = CreateChart(session_id) + chart.account.account_template = template + chart.account.company = company + chart.transition_create_account() + + receivable, = Account.search([ + ('company', '=', company.id), + ('code', '=', '110201'), + ('type.receivable', '=', True), + ('party_required', '=', True), + ('closed', '!=', True), + ], limit=1) + payable, = Account.search([ + ('company', '=', company.id), + ('code', '=', '210101'), + ('type.payable', '=', True), + ('party_required', '=', True), + ('closed', '!=', True), + ], limit=1) + for code in [ + '110401', '110406', '210201', '210202', '210203', + '210206', '210207', '210208', '210209', '210210']: + with self.subTest(code=code): + self.assertTrue(Account.search([ + ('company', '=', company.id), + ('code', '=', code), + ('closed', '!=', True), + ], limit=1)) + + self.assertGreaterEqual(len(Account.search([ + ('company', '=', company.id), + ])), 200) + self.assertGreaterEqual(len(Tax.search([ + ('company', '=', company.id), + ])), 25) + self.assertTrue(TaxCode.search([ + ('company', '=', company.id), + ('name', '=', 'ITBIS — Balance Neto (Débito − Crédito)'), + ], limit=1)) + self.assertTrue(TaxRule.search([ + ('company', '=', company.id), + ('kind', '=', 'sale'), + ], limit=1)) + self.assertTrue(TaxRule.search([ + ('company', '=', company.id), + ('kind', '=', 'purchase'), + ], limit=1)) + self.assertTrue(Tax.search([ + ('company', '=', company.id), + ('description', '=', 'ITBIS 18% Ventas'), + ('tax_kind', '=', 'itbis'), + ('rate', '=', Decimal('0.18')), + ], limit=1)) + self.assertTrue(Tax.search([ + ('company', '=', company.id), + ('description', '=', 'Retención ITBIS Gran Contribuyente 30%'), + ('tax_kind', '=', 'itbis_withholding'), + ('rate', '=', Decimal('-0.054')), + ], limit=1)) + + chart.properties.company = company + chart.properties.account_receivable = receivable + chart.properties.account_payable = payable + with Transaction().set_context(company=company.id): + chart.transition_create_properties() + CreateChart.delete(session_id) + + +class AccountDoUnitTestCase(unittest.TestCase): + + def test_xml_references_are_resolved_inside_module(self): + records = list(_iter_xml_records( + 'account_chart_do.xml', + 'tax_do.xml', + 'tax_code_do.xml', + 'tax_rule_do.xml', + )) + ids = {record_id for _, record_id, _, _ in records} + missing = [] + for filename in [ + 'account_chart_do.xml', + 'tax_do.xml', + 'tax_code_do.xml', + 'tax_rule_do.xml', + ]: + root = ET.parse(MODULE_DIR / filename).getroot() + for record in root.findall('.//record'): + for field in record.findall('field'): + ref = field.get('ref') + if ref and '.' not in ref and ref not in ids: + missing.append( + (filename, record.get('id'), field.get('name'), ref)) + self.assertEqual(missing, []) + + def test_chart_template_codes_are_unique(self): + accounts = [ + values for _, _, model, values in _iter_xml_records( + 'account_chart_do.xml') + if model == 'account.account.template' + ] + codes = [values['code'] for values in accounts if values.get('code')] + duplicates = [ + code for code, count in Counter(codes).items() if count > 1] + self.assertEqual(duplicates, []) + + def test_chart_root_and_statement_classification(self): + accounts = { + record_id: values + for _, record_id, model, values in _iter_xml_records( + 'account_chart_do.xml') + if model == 'account.account.template' + } + types = { + record_id: values + for _, record_id, model, values in _iter_xml_records( + 'account_chart_do.xml') + if model == 'account.account.type.template' + } + + self.assertEqual([ + accounts[f'do_account_{code}']['code'] + for code in range(1, 8) + ], ['1', '2', '3', '4', '5', '6', '7']) + self.assertEqual( + types['do_type_retained_earnings']['statement'], 'balance') + self.assertEqual(types['do_type_revenue']['statement'], 'income') + self.assertEqual(types['do_type_expense']['statement'], 'income') + self.assertEqual( + accounts['do_account_110201']['type'], 'do_type_receivable') + self.assertEqual( + accounts['do_account_210101']['type'], 'do_type_payable') + + def test_no_spanish_technical_other_tax_ids_remain(self): + ids = { + record_id + for _, record_id, _, _ in _iter_xml_records( + 'tax_do.xml', 'tax_code_do.xml') + } + self.assertFalse([record_id for record_id in ids if 'otros' in record_id]) + + def test_tax_templates_are_classified(self): + taxes = { + record_id: values + for _, record_id, model, values in _iter_xml_records('tax_do.xml') + if model == 'account.tax.template' + } + self.assertEqual(len(taxes), 31) + self.assertFalse([ + record_id for record_id, values in taxes.items() + if not values.get('tax_kind')]) + self.assertEqual( + taxes['do_tax_itbis_18_venta']['invoice_account'], + 'do_account_210201') + self.assertEqual( + taxes['do_tax_itbis_18_compra']['invoice_account'], + 'do_account_110401') + self.assertEqual( + taxes['do_tax_ret_itbis_30']['tax_kind'], + 'itbis_withholding') + self.assertIn( + "Decimal('-5.4')/100", + taxes['do_tax_ret_itbis_30']['rate']) + self.assertEqual( + taxes['do_tax_cheques_020']['tax_kind'], 'others') + self.assertIn( + "Decimal('0.20')/100", + taxes['do_tax_cheques_020']['rate']) + + def test_tax_code_templates_use_expected_signs(self): + codes = { + record_id: values + for _, record_id, model, values in _iter_xml_records( + 'tax_code_do.xml') + if model == 'account.tax.code.template' + } + lines = { + record_id: values + for _, record_id, model, values in _iter_xml_records( + 'tax_code_do.xml') + if model == 'account.tax.code.line.template' + } + for record_id in [ + 'do_tc_itbis', + 'do_tc_isr', + 'do_tc_isc', + 'do_tc_cdt', + 'do_tc_others', + ]: + self.assertEqual(codes[record_id].get('parent'), 'None') + self.assertEqual(codes['do_tc_isr']['name'], 'ISR - Retenciones') + self.assertEqual( + lines['do_tcl_isr_int_pf_inv']['code'], + 'do_tc_isr_intereses_pf') + self.assertEqual( + lines['do_tcl_isr_int_pf_cr']['code'], + 'do_tc_isr_intereses_pf') + self.assertEqual( + lines['do_tcl_isr_int_pj_inv']['code'], + 'do_tc_isr_intereses') + self.assertEqual( + lines['do_tcl_isr_int_pj_cr']['code'], + 'do_tc_isr_intereses') + self.assertEqual( + lines['do_tcl_chq020_inv']['code'], + 'do_tc_others_checks_020') + self.assertEqual( + lines['do_tcl_chq020_cr']['code'], + 'do_tc_others_checks_020') + self.assertEqual(lines['do_tcl_itbis18v_inv']['operator'], '+') + self.assertEqual(lines['do_tcl_itbis18c_inv']['operator'], '-') + self.assertEqual(lines['do_tcl_ret_itbis_inv']['operator'], '+') + self.assertEqual(lines['do_tcl_ret_itbis_adq_inv']['operator'], '-') + self.assertEqual(lines['do_tcl_prop_inv']['code'], 'do_tc_others_tip') + + def test_tax_kind_contains_dominican_tax_categories(self): + codes = {code for code, _ in TAX_KIND} + self.assertEqual(codes, { + '', + 'itbis', + 'itbis_withholding', + 'itbis_withholding_acquirer', + 'isr_withholding', + 'isc', + 'cdt', + 'tip', + 'others', + }) + + def test_tax_kind_codes_are_unique(self): + codes = [code for code, _ in TAX_KIND] + self.assertEqual(len(codes), len(set(codes))) + + +del ModuleTestCase diff --git a/tests/test_scenario.py b/tests/test_scenario.py new file mode 100644 index 0000000..c80e682 --- /dev/null +++ b/tests/test_scenario.py @@ -0,0 +1,22 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +import doctest +import glob +import os + +from trytond.tests.test_tryton import doctest_checker, doctest_teardown + + +def load_tests(loader, tests, pattern): + cwd = os.getcwd() + try: + os.chdir(os.path.dirname(__file__)) + for scenario in glob.glob('*.rst'): + tests.addTests(doctest.DocFileSuite( + scenario, tearDown=doctest_teardown, encoding='utf-8', + checker=doctest_checker, + optionflags=doctest.REPORT_ONLY_FIRST_FAILURE)) + finally: + os.chdir(cwd) + return tests diff --git a/tryton.cfg b/tryton.cfg new file mode 100644 index 0000000..bc4b192 --- /dev/null +++ b/tryton.cfg @@ -0,0 +1,19 @@ +[tryton] +version=8.0.0 +depends: + account + company + currency +xml: + account_chart_do.xml + tax_do.xml + tax_view.xml + tax_code_do.xml + tax_rule_do.xml + +[register] +model: + tax.TaxTemplate + tax.Tax + tax.TaxCode + tax.TaxCodeLine diff --git a/view/tax_form.xml b/view/tax_form.xml new file mode 100644 index 0000000..675da06 --- /dev/null +++ b/view/tax_form.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/view/tax_list.xml b/view/tax_list.xml new file mode 100644 index 0000000..eac5c6c --- /dev/null +++ b/view/tax_list.xml @@ -0,0 +1,6 @@ + + + + + +