Structure Dominican financial statements
This commit is contained in:
@@ -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
@@ -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
@@ -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
@@ -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
@@ -1,5 +1,5 @@
|
||||
[tryton]
|
||||
version=8.0.1
|
||||
version=8.0.2
|
||||
depends:
|
||||
account
|
||||
ir
|
||||
|
||||
Reference in New Issue
Block a user