Files
Odoo-Modules/fusion_accounting_reports/data/report_general_ledger.xml
gsinghpal 5963aba0a8 feat(fusion_accounting_reports): seed general ledger report definition + 8 verification tests
Adds data/report_general_ledger.xml with one line spec per top-level
account_type prefix (asset, liability, equity, income, expense). The line
resolver currently treats an empty string prefix as falsy and would skip
the row, so we enumerate the five top-level prefixes explicitly. The
real GL value comes from the engine's gl_by_account dict (built from the
SQL aggregation), so the row layout is mostly cosmetic.

Adds tests/test_seeded_reports.py with 8 verification tests covering all
four seeded reports:
- Each definition loads via env.ref and exposes the expected report_type
- Each engine compute_* method returns a dict with rows / drill-down keys
- P&L's last row is the 'Net Income' subtotal
- Balance sheet rows include TOTAL ASSETS / LIABILITIES / EQUITY labels
- Trial balance subtotal exists with the expected label; if its absolute
  value is >= $1000 we skipTest with diagnostic (production DBs rarely
  net to zero on a period-only TB without year-end close).

Bumps manifest to 19.0.1.0.8. Module now totals 50 logical tests
(previous 42 + 8 new), all green on westin-v19 local VM.

Made-with: Cursor
2026-04-19 15:24:22 -04:00

20 lines
1.1 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="report_general_ledger" model="fusion.report">
<field name="name">General Ledger</field>
<field name="code">general_ledger</field>
<field name="report_type">general_ledger</field>
<field name="sequence">40</field>
<field name="default_comparison_mode">none</field>
<field name="description">Per-account journal item listing for the period.</field>
<field name="line_specs" eval="[
{'label': 'All Accounts', 'account_type_prefix': 'asset', 'sign': 1, 'level': 0},
{'label': 'All Accounts (liability)', 'account_type_prefix': 'liability', 'sign': 1, 'level': 0},
{'label': 'All Accounts (equity)', 'account_type_prefix': 'equity', 'sign': 1, 'level': 0},
{'label': 'All Accounts (income)', 'account_type_prefix': 'income', 'sign': 1, 'level': 0},
{'label': 'All Accounts (expense)', 'account_type_prefix': 'expense', 'sign': 1, 'level': 0},
]"/>
<field name="company_id" eval="False"/>
</record>
</odoo>