# Account Report Show All **Version:** 17.0.1.0.0 **Author:** Suherdy Yacob **Category:** Accounting/Reporting **License:** LGPL-3 ## Overview This module enhances Odoo's standard accounting reports (General Ledger, Trial Balance, Balance Sheet, Profit & Loss) to display **all accounts**, even those with zero balance and no transaction history in the selected period. By default, Odoo hides accounts that have no activity or balance. This module ensures that all accounts defined in your Chart of Accounts are visible, providing a complete view of your financial structure. ## Features 1. **Show All Accounts**: Automatically injects accounts with zero balance into reports if they are missing from the standard view. 2. **Smart Filtering for Summary Accounts**: * Accounts ending in `0` (e.g., `100000`, `111000`, `A10`) are treated as "View" or "Summary" accounts. * These accounts are **excluded** if they have no balance and no activity. * They are **included** only if they have a non-zero balance or activity in the selected period. * This prevents report clutter while keeping necessary headers visible when active. * Supports both numeric and alphanumeric account codes. 3. **Global Compatibility**: * Works with **General Ledger** and **Trial Balance** via a specialized handler. * Works with **Balance Sheet** and generic reports via a global report extension. ## Usage 1. Install the module. 2. Go to **Accounting > Reporting**. 3. Open any report (e.g., Trial Balance). 4. You will see all accounts listed. * Empty accounts will show `0.00`. * Accounts like `110100` will be hidden if they are completely flat (0 balance, 0 activity), but will appear if they have data. 5. Use the standard **"Hide lines at 0"** option in the report filter if you want to revert to the standard behavior (hiding empty lines). ## Technical Details * **Models Extended**: * `account.general.ledger.report.handler`: Overrides `_query_values` to inject missing empty accounts. Uses Python-side filtering to exclude 0-balance accounts ending in '0', ensuring broad compatibility with different database configurations. * `account.report`: Overrides `_get_lines` to post-filter summary accounts (ending in '0') that may have been included by standard logic but are actually zeroed out. Uses Python-side filtering to support alphanumeric codes. ## Dependencies * `account_reports` (Odoo Enterprise)