← ClaudeAtlas

odoo-statutory-reportslisted

Building or customizing DYNAMIC financial statements with Odoo's account.report engine (Enterprise `account_reports`) — P&L, balance sheet, cash-flow, tax reports, and country statutory formats (VAS, HGB, PCG, …). Use when defining account.report / account.report.line / account.report.expression records, choosing an engine (domain / aggregation / account_codes / custom handler), fixing wrong totals or period semantics (date_scope), writing a `_report_custom_engine_*` method, versioning a report for a new accounting regime, verifying a statutory report is complete/balanced, or exporting multi-sheet data packs a grid can't hold. NOT for QWeb PDF documents (invoices, pickings) — that's `odoo-reports`.
tuanle96/odoo-ai-skills · ★ 4 · Data & Documents · score 62
Install: claude install-skill tuanle96/odoo-ai-skills
# Odoo statutory / financial reports — the `account.report` engine The grids under **Accounting → Reporting** are not QWeb. They are data-defined reports evaluated by the `account_reports` engine (Enterprise): | Model | Role | |-------|------| | `account.report` | root: name, `country_id`, `root_report_id` (variant of), `filter_*` toggles, columns | | `account.report.line` | one row: `code`, `name`, `hierarchy_level`, children via `parent_id`, `foldable`, `groupby` | | `account.report.expression` | one cell per column: `label` (must match a column's `expression_label`, default `balance`), `engine`, `formula`, `subformula`, `date_scope` | **The rule: a statutory report is a spec with legal line codes — design it to prove its own correctness (see "Self-verifying design"), and never guess what an existing report contains: read it from the registry first (`odoo-introspect`; the records live in `account.report*`).** ## Engines | Engine | `formula` | Use for | |--------|-----------|---------| | `domain` | a domain string over `account.move.line` | 90% of lines: `[('account_id.code', '=like', '511%')]` | | `aggregation` | arithmetic over `LINECODE.expression_label` | totals & legal formulas: `REV01.balance - COGS11.balance` | | `account_codes` | prefix arithmetic `511 - 5117` | quick prefix sums (less control than domain) | | `tax_tags` | tax grid tag | tax returns | | `external` | manual/carryover value | figures the ledger can't produce | | `custom` | **full method name** `_r