| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Employees (hr)
• Invoicing (account) • Discuss (mail) |
| Community Apps Dependencies | Show |
| Lines of code | 10311 |
| Technical Name |
aos_department_financial_reports |
| License | OPL-1 |
| Website | http://www.alphasoft.co.id |
| Versions | 15.0 16.0 17.0 18.0 19.0 |
Department Filter for Financial Reports
Slice every financial report by HR Department
Filter pill on all 8 reports + per-department split column on P&L.
Jump to: Why · Features · Screens · How it works · Pricing
Reports gain —
Department filter pill
P&L split column —
per-department breakdown
Install —
auto_install bridge
One-time —
pairs with two modules
account.move.line
Why a department dimension on reports?
You already tag your journals with departments via
aos_department_account. But your Profit & Loss
doesn't know about it — numbers stay aggregated.
This bridge module activates the Department dimension everywhere: a multi-select Department filter pill appears on P&L, Balance Sheet, Cash Flow, Equity Changes, Trial Balance, General Ledger, AR Aging, AP Aging — and the P&L gains a per-department split column so you see Sales / Admin / Operations side-by-side.
Drop-in. Auto-installs as soon as both aos_financial_reports
and aos_department_account are present.
What it adds
Department filter pill
Multi-select dropdown next to the Journals
pill. Pick one or many departments → SQL adds
aml.department_id IN (…) to every balance fetch.
P&L split column
Toggle "By Department" on the P&L → one column per selected department + a "No Department" + Total. Spot which team drives margin.
All 8 reports covered
P&L · Balance Sheet · Cash Flow · Equity · Trial Balance · General Ledger · AR Aging · AP Aging. One bridge, eight reports.
Hook-based, no monkey-patch
Subscribes to AFR v7.2+ extension hooks
(_extra_balance_filters, _extra_filter_options).
Future-proof — survives AFR upgrades.
Auto-install bridge
auto_install=True. Install
aos_department_account + aos_financial_reports
→ this module appears automatically. Zero manual setup.
Multi-company aware
Department list scopes to active companies (plus global departments). Pairs cleanly with AFR's existing multi-company aggregation pill.
Department filter in action
Live toolbar of P&L with the new pill. Two extra controls highlighted in red — Department filter pill and Split-by-Department.
P&L split — one column per department
Toggle Split-by-Department on the P&L. Numbers fan out into per-dept columns, with a No Department fallback + Total column on the right.
| Code | Account / Line | Sales | Administration | No Department | Total |
|---|---|---|---|---|---|
| INCOME | REVENUE | 9,000.00 | 9,000.00 | - | 18,000.00 |
| COST_OF_SALES | Cost of Sales | - | - | - | - |
| GROSS_PROFIT | GROSS PROFIT | 9,000.00 | 9,000.00 | - | 18,000.00 |
| OPERATING_EXPENSES | Operating Expenses | - | - | - | - |
| OPERATING_PROFIT | OPERATING PROFIT | 9,000.00 | 9,000.00 | - | 18,000.00 |
| NET_PROFIT_AFTER_TAX | NET PROFIT | 9,000.00 | 9,000.00 | - | 18,000.00 |
Mockup mirrors live render — same colors, same column structure in your Odoo instance.
Multi-select dropdown
Click the Department pill → checklist appears. Tick the departments you want, hit Apply, report refreshes.
How it works
Tag your moves
Pick a department on any invoice / bill via aos_department_account.
Open any report
P&L, BS, CF, TB, GL — Department pill appears in toolbar.
Filter or split
Tick departments to filter, or toggle Split column on P&L.
Apply & export
PDF / HTML / XLSX / CSV all carry the per-dept breakdown.
Under the hood — hook-based
No monkey-patch. Subscribes to extension hooks exposed by
aos_financial_reports v7.2+ — survives AFR upgrades cleanly.
Mixin pattern
class _DepartmentMixin(models.AbstractModel):
_name = 'aos.dept.afr.mixin'
department_ids = fields.Many2many(
'hr.department', string='Departments')
def _extra_balance_filters(self):
extras = super()._extra_balance_filters()
if self.department_ids:
extras.append((
"aml.department_id IN %s",
(tuple(self.department_ids.ids),),
))
return extras
class PLReportDeptFilter(models.TransientModel):
_name = 'account.pl.report.wizard'
_inherit = ['account.pl.report.wizard',
'aos.dept.afr.mixin']
Hooks consumed
_extra_balance_filters()— injectsaml.department_id IN %sinto balance SQL_extra_default_filters()— addsdepartment_ids: []to OWL state_extra_filter_options()— returns department list scoped to active companies_extra_vals_from_filters()— maps OWL payload key to wizard M2M field
Wizards covered
account.pl.report.wizard ·
account.bs.report.wizard ·
account.cf.report.wizard ·
account.eq.report.wizard ·
account.tb.report.wizard ·
account.gl.report.wizard
Bridge module — needs two companions
aos_financial_reports
The 8-report suite this module plugs into. Provides the OWL report viewer, the wizard models, and the extension hooks.
USD 179 · one-time
aos_department_account
Adds the department_id dimension to
account.move + stored related on
account.move.line.
USD 49 · one-time
Auto-install: Once both companions are installed, this bridge module activates itself. Nothing else to do.
Use cases
Multi-branch P&L
Each branch is a department. Print P&L with one column per branch — CEO sees branch-level margin at a glance.
Cost-center accounting
Maintenance vs production departments. Filter the GL by cost center — drill into specific line items per team.
Team-level budget
Each team has its own budget. Slice the Trial Balance by team, compare actuals against allocated spend.
Pricing
Department Filter for AFR
USD 49
Full source code · OPL-1 · Free updates within 19.x
- ✓ Department filter pill on 8 reports
- ✓ Per-department split column on P&L
- ✓ Hook-based (no monkey-patch)
- ✓ Multi-company aware
- ✓ Auto-install bridge
- ✓ Source code (OPL-1)
Requires aos_financial_reports + aos_department_account
(sold separately).
Installation — 2 minutes
- Make sure
aos_financial_reports(v7.2+) andaos_department_accountare installed. - Purchase & download this module from the Apps Store.
- Extract into your Odoo addons path.
- Open Apps → Update Apps List.
- Search for Department Filter for AFR → click Install (or it auto-installs once both deps are present).
- Open any financial report → the Department pill appears in the toolbar.
Zero configuration. No data migration. No restart needed for new departments.
Support & About
Need help?
We respond within 1 business day.
- Email: info@alphasoft.co.id
- Website: www.alphasoft.co.id
About Alphasoft
Alphasoft is an Indonesian Odoo
development house focused on accounting, ISP/telco operations, and
Indonesian-tax compliance modules. We maintain the
aos_financial_reports suite and its dimension bridges
(analytic, department, project).
License: OPL-1 | Author: Alphasoft | Odoo: 19.0 Community / Enterprise | Version: 19.0.2.1.0
Trademarks & logos: Odoo® is a trademark of Odoo S.A. Alphasoft is not affiliated with or endorsed by Odoo S.A.
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Employees (hr)
• Invoicing (account) • Discuss (mail) |
| Community Apps Dependencies | Show |
| Lines of code | 10311 |
| Technical Name |
aos_department_financial_reports |
| License | OPL-1 |
| Website | http://www.alphasoft.co.id |
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module