Skip to content

Odoo Analytic Plans Guide (Odoo 17+)

DeployMonkey Team · March 23, 2026 11 min read

What Are Analytic Plans?

Starting with Odoo 17, Analytic Plans replaced the old analytic account system with a multi-dimensional approach. Instead of a single analytic account per transaction, you can now tag journal entries with multiple analytic dimensions simultaneously — department, project, cost center, and more. This enables richer cost analysis and reporting without duplicating data.

Understanding the Change

Old System (Odoo 16 and earlier)

# Old: Single analytic account per journal entry line
# Invoice line → Analytic Account: "Project Alpha"
# Problem: Can't also tag it as "Marketing Department"
#          without creating compound accounts like
#          "Marketing - Project Alpha"

New System (Odoo 17+)

# New: Multiple analytic plans per journal entry line
# Invoice line → Department: Marketing
#              → Project: Project Alpha
#              → Region: North America
# Each dimension tracked independently

Setting Up Analytic Plans

Creating Plans

  1. Accounting → Configuration → Analytic Plans
  2. Create a plan for each tracking dimension

Common Analytic Plans

PlanPurposeExample Accounts
DepartmentTrack costs by departmentSales, Marketing, Engineering, HR
ProjectTrack costs by projectProject Alpha, Project Beta
Cost CenterTrack by cost centerHQ, Branch A, Branch B
RegionGeographic trackingNorth America, Europe, APAC
Product LineRevenue by product lineHardware, Software, Services

Analytic Accounts Within Plans

Each plan contains analytic accounts that serve as the values for that dimension:

# Plan: Department
# Accounts:
#   - Sales (code: DEPT-SALES)
#   - Marketing (code: DEPT-MKT)
#   - Engineering (code: DEPT-ENG)
#   - Human Resources (code: DEPT-HR)
#   - Finance (code: DEPT-FIN)

# Plan: Project
# Accounts:
#   - Project Alpha (code: PRJ-ALPHA)
#   - Project Beta (code: PRJ-BETA)
#   - Internal R&D (code: PRJ-RND)

Applicability Rules

Control which plans appear on which types of transactions:

Configuration

  • Optional — Plan appears but is not required
  • Mandatory — Plan must be filled for specific journal types
  • Unavailable — Plan is hidden for certain transaction types
# Applicability examples:
# Department plan:
#   Mandatory on: Expense journals, Purchase journals
#   Optional on: Sales journals
#   Unavailable on: Bank journals

# Project plan:
#   Mandatory on: Timesheet entries
#   Optional on: Purchase journals
#   Unavailable on: Payroll journals

Analytic Distribution

Distribute a single journal entry line across multiple analytic accounts within the same plan:

# Example: Shared office rent of $10,000
# Distribution:
#   Department: Sales 40%, Marketing 30%, Engineering 30%
#   Cost Center: HQ 100%

# Result:
#   Sales gets $4,000 allocated
#   Marketing gets $3,000 allocated
#   Engineering gets $3,000 allocated
#   All tagged as HQ cost center

Distribution Models

Create reusable distribution templates for recurring allocations:

  1. Accounting → Configuration → Analytic Distribution Models
  2. Define the split percentages
  3. Apply the model to journal entries with one click

Cross-Module Integration

Analytic plans work across all Odoo modules:

ModuleWhere Analytics Appear
AccountingJournal entry lines, invoices, bills
PurchasePurchase order lines
SalesSales order lines
ExpenseExpense lines
TimesheetTimesheet entries
ManufacturingWork order costs

Reporting

Analytic Reports

Odoo provides multi-dimensional analytic reporting:

  • By plan — Total costs/revenue per analytic account within a plan
  • Cross-plan — Department costs broken down by project
  • Period comparison — Analytic data compared across periods
  • Budget vs. Actual — Analytic account spending against budgets

Pivot Table Analysis

Use the pivot view to create custom cross-tabulations:

# Pivot example:
# Rows: Department (Sales, Marketing, Engineering)
# Columns: Month (Jan, Feb, Mar, ...)
# Values: Total cost

# Or cross-plan:
# Rows: Project (Alpha, Beta, R&D)
# Columns: Department (Sales, Marketing, Engineering)
# Values: Hours logged

Migration from Old Analytic System

If upgrading from Odoo 16 or earlier:

  • Existing analytic accounts become accounts in a default plan
  • Create additional plans for new dimensions
  • Re-tag historical entries if needed (optional)
  • Set up applicability rules for the new multi-plan structure

Best Practices

  • Plan your plans first — Decide on dimensions before creating anything
  • Keep it simple — 2-3 plans are usually sufficient; more adds complexity
  • Set applicability — Make plans mandatory where needed to ensure data quality
  • Use distribution models — Template common allocations for consistency
  • Train users — Multi-plan analytics require understanding of the concept

DeployMonkey + Analytic Plans

DeployMonkey's AI agent configures analytic plans, accounts, distribution models, and applicability rules based on your cost tracking and reporting needs.