All posts
Functional5 min read

Departmental Cost Center Reporting with Analytic Accounts in Odoo

Build cost center reporting in Odoo using analytic accounts and analytic plans - tracking departmental spending, comparing to budget, and allocating shared costs across departments.

Cost Center Reporting in Odoo#

Cost center reporting allocates revenue and expenses to departments (or projects, regions, products) for internal management reporting - separate from statutory reporting which follows the chart of accounts. Odoo uses Analytic Accounts and Analytic Plans for this.

Setting Up Analytic Plans#

Accounting → Configuration → Analytic Plans → New:

  • Name: Departments
  • Default Applicability: Mandatory (all entries must be tagged)

Create one plan per reporting dimension (Departments, Projects, Regions, Products).

Creating Analytic Accounts (Cost Centers)#

Accounting → Accounting → Analytic Accounts → New:

  • Name: Marketing - EMEA
  • Plan: Departments
  • Code: DEPT-MKT-EMEA

Create one analytic account per department or cost center.

Tagging Transactions#

Every expense, payroll, vendor bill, and revenue entry should carry an analytic tag:

On a vendor bill line:

  • Analytic Account: Marketing - EMEA
  • Amount: 100% (all of this line to Marketing EMEA)

Or use Analytic Distribution for split allocations:

  • 60% → Marketing - EMEA
  • 40% → Marketing - APAC

Automated Payroll Allocation#

For employee costs, set the analytic account on the employee contract:

Employee → [Employee] → Contract → Analytic Account: DEPT-MKT-EMEA

All payslip entries for that employee automatically code to their department.

Cost Center Report#

Accounting → Reporting → Analytic Accounts → Analytic Report:

  • Select Plan: Departments
  • Select Period: Month or YTD
  • Output: revenue and expenses per analytic account (cost center)

Cross-reference with the budget to compute variance.

Shared Cost Allocation#

Shared costs (rent, IT, HR) don't naturally belong to one department. Allocate them using Analytic Distribution:

  • Rent vendor bill → 30% Sales, 40% Engineering, 20% Marketing, 10% Finance
  • Set the distribution on the bill line

Or use a monthly journal entry to reallocate from a shared pool to departments.

Multi-Dimensional Reporting#

With multiple plans (Departments + Projects):

  • A single transaction can carry tags from both plans
  • Example: Software license bill → Department: Engineering + Project: Product-X
  • Report by Department to see engineering spend; report by Project to see Product-X costs

This gives management reporting by both organizational structure and strategic initiative simultaneously.

Try ERPeek on your own Odoo module - ask questions, scaffold tests, and explore your codebase in plain language.

Get started free