Structure Dominican financial statements

This commit is contained in:
José Arturo García
2026-08-10 22:21:31 -04:00
parent 609b312611
commit f3d942a6e4
5 changed files with 113 additions and 34 deletions
+5
View File
@@ -1,3 +1,8 @@
Version 8.0.2 - 2026-08-10
--------------------------
* Structure income-statement types under current-period profit or loss, with
operating and non-operating sections compatible with Tryton core reports.
Version 8.0.1 - 2026-08-09
--------------------------
* Initial release.
+40 -15
View File
@@ -191,45 +191,70 @@
<field name="sequence" eval="30"/>
<field name="statement">balance</field>
</record>
<record id="do_type_profit_loss_en" model="account.account.type.template">
<field name="name">Current Period Profit or Loss</field>
<field name="parent" ref="do_type_equity_en"/>
<field name="sequence" eval="40"/>
<field name="statement">income</field>
</record>
<record id="do_type_operating_section_en" model="account.account.type.template">
<field name="name">Operating profit or loss</field>
<field name="parent" ref="do_type_profit_loss_en"/>
<field name="sequence" eval="10"/>
<field name="statement">income</field>
</record>
<record id="do_type_revenue_en" model="account.account.type.template">
<field name="name">Revenue</field>
<field name="parent" ref="do_type_root_en"/>
<field name="sequence" eval="40"/>
<field name="parent" ref="do_type_operating_section_en"/>
<field name="sequence" eval="10"/>
<field name="statement">income</field>
<field name="revenue" eval="True"/>
</record>
<record id="do_type_other_income_en" model="account.account.type.template">
<field name="name">Other Income and Gains</field>
<field name="parent" ref="do_type_root_en"/>
<field name="sequence" eval="50"/>
<record id="do_type_expenses_en" model="account.account.type.template">
<field name="name">Operating costs and expenses</field>
<field name="parent" ref="do_type_operating_section_en"/>
<field name="sequence" eval="20"/>
<field name="statement">income</field>
<field name="revenue" eval="True"/>
<field name="expense" eval="True"/>
</record>
<record id="do_type_cogs_en" model="account.account.type.template">
<field name="name">Cost of Sales and Services</field>
<field name="parent" ref="do_type_root_en"/>
<field name="sequence" eval="60"/>
<field name="parent" ref="do_type_expenses_en"/>
<field name="sequence" eval="10"/>
<field name="statement">income</field>
<field name="expense" eval="True"/>
</record>
<record id="do_type_expense_en" model="account.account.type.template">
<field name="name">Operational expenses</field>
<field name="parent" ref="do_type_root_en"/>
<field name="sequence" eval="70"/>
<field name="parent" ref="do_type_expenses_en"/>
<field name="sequence" eval="20"/>
<field name="statement">income</field>
<field name="expense" eval="True"/>
</record>
<record id="do_type_non_operating_section_en" model="account.account.type.template">
<field name="name">Non-operating profit or loss</field>
<field name="parent" ref="do_type_profit_loss_en"/>
<field name="sequence" eval="20"/>
<field name="statement">income</field>
</record>
<record id="do_type_other_income_en" model="account.account.type.template">
<field name="name">Other Income and Gains</field>
<field name="parent" ref="do_type_non_operating_section_en"/>
<field name="sequence" eval="10"/>
<field name="statement">income</field>
<field name="revenue" eval="True"/>
</record>
<record id="do_type_financial_expense_en" model="account.account.type.template">
<field name="name">Financial expenses</field>
<field name="parent" ref="do_type_root_en"/>
<field name="sequence" eval="80"/>
<field name="parent" ref="do_type_non_operating_section_en"/>
<field name="sequence" eval="20"/>
<field name="statement">income</field>
<field name="expense" eval="True"/>
</record>
<record id="do_type_income_tax_en" model="account.account.type.template">
<field name="name">Income Tax</field>
<field name="parent" ref="do_type_root_en"/>
<field name="sequence" eval="90"/>
<field name="parent" ref="do_type_non_operating_section_en"/>
<field name="sequence" eval="30"/>
<field name="statement">income</field>
<field name="expense" eval="True"/>
</record>
+40 -15
View File
@@ -189,45 +189,70 @@
<field name="sequence" eval="30" />
<field name="statement">balance</field>
</record>
<record id="do_type_profit_loss_es_419" model="account.account.type.template">
<field name="name">Resultado del período actual</field>
<field name="parent" ref="do_type_equity_es_419" />
<field name="sequence" eval="40" />
<field name="statement">income</field>
</record>
<record id="do_type_operating_section_es_419" model="account.account.type.template">
<field name="name">Resultado de operación</field>
<field name="parent" ref="do_type_profit_loss_es_419" />
<field name="sequence" eval="10" />
<field name="statement">income</field>
</record>
<record id="do_type_revenue_es_419" model="account.account.type.template">
<field name="name">Ingresos de actividades ordinarias</field>
<field name="parent" ref="do_type_root_es_419" />
<field name="sequence" eval="40" />
<field name="parent" ref="do_type_operating_section_es_419" />
<field name="sequence" eval="10" />
<field name="statement">income</field>
<field name="revenue" eval="True" />
</record>
<record id="do_type_other_income_es_419" model="account.account.type.template">
<field name="name">Otros ingresos y ganancias</field>
<field name="parent" ref="do_type_root_es_419" />
<field name="sequence" eval="50" />
<record id="do_type_expenses_es_419" model="account.account.type.template">
<field name="name">Costos y gastos de operación</field>
<field name="parent" ref="do_type_operating_section_es_419" />
<field name="sequence" eval="20" />
<field name="statement">income</field>
<field name="revenue" eval="True" />
<field name="expense" eval="True" />
</record>
<record id="do_type_cogs_es_419" model="account.account.type.template">
<field name="name">Costo de ventas y servicios</field>
<field name="parent" ref="do_type_root_es_419" />
<field name="sequence" eval="60" />
<field name="parent" ref="do_type_expenses_es_419" />
<field name="sequence" eval="10" />
<field name="statement">income</field>
<field name="expense" eval="True" />
</record>
<record id="do_type_expense_es_419" model="account.account.type.template">
<field name="name">Gastos operacionales</field>
<field name="parent" ref="do_type_root_es_419" />
<field name="sequence" eval="70" />
<field name="parent" ref="do_type_expenses_es_419" />
<field name="sequence" eval="20" />
<field name="statement">income</field>
<field name="expense" eval="True" />
</record>
<record id="do_type_non_operating_section_es_419" model="account.account.type.template">
<field name="name">Resultado no operativo</field>
<field name="parent" ref="do_type_profit_loss_es_419" />
<field name="sequence" eval="20" />
<field name="statement">income</field>
</record>
<record id="do_type_other_income_es_419" model="account.account.type.template">
<field name="name">Otros ingresos y ganancias</field>
<field name="parent" ref="do_type_non_operating_section_es_419" />
<field name="sequence" eval="10" />
<field name="statement">income</field>
<field name="revenue" eval="True" />
</record>
<record id="do_type_financial_expense_es_419" model="account.account.type.template">
<field name="name">Gastos financieros</field>
<field name="parent" ref="do_type_root_es_419" />
<field name="sequence" eval="80" />
<field name="parent" ref="do_type_non_operating_section_es_419" />
<field name="sequence" eval="20" />
<field name="statement">income</field>
<field name="expense" eval="True" />
</record>
<record id="do_type_income_tax_es_419" model="account.account.type.template">
<field name="name">Impuesto a las ganancias</field>
<field name="parent" ref="do_type_root_es_419" />
<field name="sequence" eval="90" />
<field name="parent" ref="do_type_non_operating_section_es_419" />
<field name="sequence" eval="30" />
<field name="statement">income</field>
<field name="expense" eval="True" />
</record>
+27 -3
View File
@@ -565,7 +565,7 @@ class AccountDoUnitTestCase(unittest.TestCase):
if line.strip()
]
self.assertEqual(config.get('tryton', 'version'), '8.0.1')
self.assertEqual(config.get('tryton', 'version'), '8.0.2')
self.assertEqual(
set(lines('tryton', 'depends')),
{'account', 'ir'})
@@ -646,7 +646,7 @@ class AccountDoUnitTestCase(unittest.TestCase):
def test_xml_record_inventory_is_explicit(self):
expected = {
'account_chart_do_en.xml': {
'account.account.type.template': 36,
'account.account.type.template': 40,
'account.account.template': 287,
},
'tax_do_en.xml': {
@@ -662,7 +662,7 @@ class AccountDoUnitTestCase(unittest.TestCase):
'account.tax.rule.line.template': 34,
},
'account_chart_do_es_419.xml': {
'account.account.type.template': 36,
'account.account.type.template': 40,
'account.account.template': 287,
},
'tax_do_es_419.xml': {
@@ -879,6 +879,30 @@ class AccountDoUnitTestCase(unittest.TestCase):
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(
types['do_type_profit_loss']['parent'], 'do_type_equity')
self.assertEqual(
types['do_type_operating_section']['parent'],
'do_type_profit_loss')
self.assertEqual(
types['do_type_revenue']['parent'],
'do_type_operating_section')
self.assertEqual(
types['do_type_expenses']['parent'],
'do_type_operating_section')
self.assertEqual(
types['do_type_cogs']['parent'], 'do_type_expenses')
self.assertEqual(
types['do_type_expense']['parent'], 'do_type_expenses')
self.assertEqual(
types['do_type_non_operating_section']['parent'],
'do_type_profit_loss')
for account_type in [
'do_type_other_income', 'do_type_financial_expense',
'do_type_income_tax']:
self.assertEqual(
types[account_type]['parent'],
'do_type_non_operating_section')
self.assertEqual(
accounts['do_account_110201']['type'], 'do_type_receivable')
self.assertEqual(
+1 -1
View File
@@ -1,5 +1,5 @@
[tryton]
version=8.0.1
version=8.0.2
depends:
account
ir