feat(fusion_accounting_reports): seed P&L report definition

Adds data/report_pnl.xml seeding a company-agnostic fusion.report record
for the Income Statement (report_type='pnl'). Line specs are loaded via
eval= so Odoo passes a real Python list to the JSON field instead of a
string-encoded blob.

Structure: Revenue (sign -1) - Operating Expenses (sign -1) = Net Income
(subtotal above 2). Comparison defaults to previous_year.

Bumps manifest to 19.0.1.0.5.

Made-with: Cursor
This commit is contained in:
gsinghpal
2026-04-19 15:21:32 -04:00
parent cabf51add7
commit 96ac0131b0
2 changed files with 19 additions and 1 deletions

View File

@@ -1,6 +1,6 @@
{
'name': 'Fusion Accounting Reports',
'version': '19.0.1.0.4',
'version': '19.0.1.0.5',
'category': 'Accounting/Accounting',
'summary': 'AI-augmented financial reports (P&L, balance sheet, trial balance, GL).',
'description': """
@@ -31,6 +31,7 @@ menu hides; the engine and AI tools remain available for the chat.
],
'data': [
'security/ir.model.access.csv',
'data/report_pnl.xml',
],
'assets': {
'web.assets_backend': [

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="report_pnl" model="fusion.report">
<field name="name">Profit and Loss</field>
<field name="code">pnl</field>
<field name="report_type">pnl</field>
<field name="sequence">10</field>
<field name="default_comparison_mode">previous_year</field>
<field name="description">Income Statement summarizing revenue, expenses, and net income for a period.</field>
<field name="line_specs" eval="[
{'label': 'Revenue', 'account_type_prefix': 'income', 'sign': -1, 'level': 0},
{'label': 'Operating Expenses', 'account_type_prefix': 'expense', 'sign': -1, 'level': 0},
{'label': 'Net Income', 'compute': 'subtotal', 'above': 2, 'sign': 1, 'level': 0},
]"/>
<field name="company_id" eval="False"/>
</record>
</odoo>