OdooWiki OCA HUB

Account Financial Reports

account_financial_report folder_open OCA/account-financial-reporting open_in_new
Reporting License: AGPL-3

This module adds a set of financial reports. They are accessible under Invoicing / Reporting / OCA accounting reports.

  • General ledger
  • Trial Balance
  • Open Items
  • Aged Partner Balance
  • VAT Report
  • Journal Ledger

Currently General ledger, Trial Balance and Open Items are fully compatible with a foreign currency set up in account in order to display balances. Moreover, any foreign currency used in account move lines is properly shown.

In case that in an account has not been configured a second currency foreign currency balances are not available.

Invoicing / Settings / Invoicing / OCA Aged Report Configuration you will be able to set dynamic intervals that will appear on the Aged Partner Balance. For further information, check CONFIGURE.rst

auto_awesome What this module does

AI-generated from the code · Odoo 19.0

Adds a set of OCA financial reports (General Ledger, Trial Balance, Open Items, Aged Partner Balance, VAT Report, Journal Ledger) under Invoicing > Reporting, each with its own wizard and HTML, PDF or Excel output.

This module gives accountants a full set of statutory-style financial reports, all launched from wizards where you choose the company, dates, journals, accounts and partners.

  • General Ledger: shows initial balance, period movements and ending balance per account, with options to centralize entries, hide accounts ending at zero, filter by journals, partners or analytic accounts, group by partners or taxes, and show amounts in a foreign currency.
  • Trial Balance: shows debit, credit and balance per account, with optional hierarchy display, level limits, partner details and foreign currency.
  • Open Items: lists still-unreconciled items on reconcilable accounts, grouped by partner or salesperson, with optional foreign currency.
  • Aged Partner Balance: buckets open receivables and payables into age intervals that you define yourself in Invoicing settings; each interval must have a positive lower limit and a unique name.
  • VAT Report and Journal Ledger: summarize tax data and journal entries, with sorting and grouping options.

Every report can be exported to HTML, PDF or Excel. A new 'Centralized' flag on accounts hides line details in the General Ledger. The module also adds an analytic account field on journal items and extra hierarchy fields on account groups.

Depends on

Menus it adds

OCA accounting reportsmenu_general_ledger_wizardmenu_journal_ledger_wizardmenu_trial_balance_wizardmenu_open_items_wizardmenu_aged_partner_balance_wizardmenu_vat_report_wizard
Models and fields (28)
  • account.group · extends an existing modellevel, account_ids (Accounts), complete_code (Full Code), complete_name (Full Name), group_child_ids (Child Groups), compute_account_ids (Compute accounts)
  • account.account · extends an existing modelcentralized
  • account.move.line · extends an existing modelanalytic_account_ids
  • ir.actions.report · extends an existing model
  • vat.report.wizard · new modeldate_to (End Date), based_on, date_from (Start Date), tax_detail (Detail Taxes), target_move (Target Moves), date_range_id (Date range)
  • res.config.settings · extends an existing modelage_partner_config_id (Intervals configuration)
  • open.items.report.wizard · new modeldate_at, date_from, grouped_by, account_ids (Filter accounts), partner_ids (Filter partners), target_move (Target Moves), account_code_to, foreign_currency (Show foreign currency), account_code_from, hide_account_at_0 (Hide account ending balance at 0), show_partner_details, payable_accounts_only, receivable_accounts_only
  • trial.balance.report.wizard · new modeldate_to, date_from, grouped_by, account_ids (Filter accounts), journal_ids, partner_ids (Filter partners), target_move (Target Moves), date_range_id (Date range), fy_start_date, show_hierarchy (Show hierarchy), account_code_to, foreign_currency (Show foreign currency), account_code_from, hide_account_at_0 (Hide accounts at 0), show_hierarchy_level (Hierarchy Levels to display), show_partner_details, limit_hierarchy_level (Limit hierarchy levels), payable_accounts_only, receivable_accounts_only, hide_parent_hierarchy_level (Do not display parent levels), unaffected_earnings_account, only_one_unaffected_earnings_account
  • general.ledger.report.wizard · new modeldomain (Journal Items Domain), date_to, date_from, centralize (Activate centralization), grouped_by, account_ids (Filter accounts), partner_ids (Filter partners), target_move (Target Moves), date_range_id (Date range), fy_start_date, account_code_to, cost_center_ids (Filter cost centers), foreign_currency (Show foreign currency), show_cost_center (Show Analytic Account), account_code_from, hide_account_at_0 (Hide account ending balance at 0), account_journal_ids (Filter journals), payable_accounts_only, receivable_accounts_only, unaffected_earnings_account, only_one_unaffected_earnings_account
  • journal.ledger.report.wizard · new modeldate_to (End date), date_from (Start date), journal_ids (Journals), move_target, sort_option (Sort entries by), group_option (Group entries by), date_range_id (Date range), foreign_currency, with_account_name, with_auto_sequence (Show Auto Sequence)
  • account.age.report.configuration · new modelname, line_ids, company_id
  • aged.partner.balance.report.wizard · new modeldate_at, date_from, account_ids (Filter accounts), partner_ids (Filter partners), target_move (Target Moves), account_code_to, account_code_from, age_partner_config_id (Intervals configuration), payable_accounts_only, show_move_line_details, receivable_accounts_only
  • report.a_f_r.report_open_items_xlsx · new model
  • report.a_f_r.report_vat_report_xlsx · new model
  • account.age.report.configuration.line · new modelname, inferior_limit, account_age_report_config_id
  • report.a_f_r.report_trial_balance_xlsx · new model
  • report.a_f_r.report_general_ledger_xlsx · new model
  • report.a_f_r.report_journal_ledger_xlsx · new model
  • account_financial_report_abstract_wizard · new modelcompany_id (Company), label_text_limit
  • report.account_financial_report.open_items · new model
  • report.account_financial_report.vat_report · new model
  • report.a_f_r.report_aged_partner_balance_xlsx · new model
  • report.account_financial_report.trial_balance · new model
  • report.account_financial_report.general_ledger · new model
  • report.account_financial_report.journal_ledger · new model
  • report.account_financial_report.abstract_report · new model
  • report.account_financial_report.abstract_report_xlsx · new model
  • report.account_financial_report.aged_partner_balance · new model

Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 8 confirmed, 1 with no information of 9 versions.

Sources · Odoo 15.0

Confirmed on 2026-11-03 in branch 15.0 of OCA/account-financial-reporting.

terminal Installation and usage

OCA documentation · Odoo 19.0

To configure dynamic intervals for Aged Partner Balance you need to:

Go on 'Settings' -> 'Invoicing' -> 'OCA Aged Report Configuration'.

Click on option 'Configurations' and create new record.

Create new interval. The name established on line will be the column to display in Aged Partner Balance. Inferior limit established on line is the interval

Example of configuration inferior limit:

-> 15 -> 30 -> 60

It means the first interval is from 0 to 15, the second from 16 to 30, and the third is 61+.

Go on 'Invoicing' -> 'Reporting' -> 'OCA accounting reports' -> 'Aged Partner Balance'

When wizard is open, you need to select your interval configuration and print report.

If you want to get default interval configuration any time you wish to print Aged Partner Report, you can set default interval configuration per company in:

'Settings' -> 'Invoicing' -> 'OCA Aged Report Configuration'.

No verified information in OCA: Installation, Usage.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.