What Is Analytic Accounting?
Analytic accounting in Odoo 19 provides a secondary accounting dimension for tracking costs and revenues across departments, projects, cost centers, or any custom dimension. Unlike the main chart of accounts (which tracks what happened), analytic accounting tracks where or why it happened. Odoo 19 supports multi-dimensional analytics through analytic plans.
Prerequisites
- Odoo 19 with Accounting module installed
- Accounting Manager access
Step 1: Enable Analytic Accounting
Navigate to Accounting > Configuration > Settings. Under the Analytics section, enable Analytic Accounting. Click Save.
Step 2: Create Analytic Plans
Analytic plans define the dimensions you want to track. Navigate to Accounting > Configuration > Analytic Plans and create plans:
| Plan Name | Purpose |
|---|---|
| Departments | Track costs by department (Sales, Marketing, Engineering) |
| Projects | Track revenue and costs by project |
| Cost Centers | Track by cost center or business unit |
Each plan is a separate tracking dimension. A single journal item can be distributed across multiple plans simultaneously.
Step 3: Create Analytic Accounts
Within each plan, create analytic accounts. Navigate to Accounting > Configuration > Analytic Accounts:
- Name — Descriptive name (e.g., "Marketing Department", "Project Alpha", "North Region")
- Plan — Assign to the appropriate analytic plan
- Reference — Short code for reporting
- Company — For multi-company environments
Step 4: Use Analytic Distribution on Entries
When creating journal entries, invoices, or bills, the Analytic Distribution column appears on each line. Set the distribution as a JSON-like structure:
- Single account: 100% to one analytic account
- Split distribution: 60% Marketing + 40% Sales
- Multi-plan: 100% Project Alpha (Projects plan) + 100% Marketing (Departments plan)
The distribution is stored as JSON on each account.move.line record.
Step 5: Configure Automatic Distribution Rules
Navigate to Accounting > Configuration > Analytic Distribution Models. Create rules that auto-populate analytic distribution based on conditions:
- Partner — Assign analytics based on the customer or vendor
- Product — Assign analytics based on the product being sold or purchased
- Account — Assign analytics based on the general ledger account
- Company — Company-specific rules in multi-company setups
When conditions match, Odoo auto-fills the analytic distribution on new journal items, saving manual entry.
Step 6: Cross-Module Integration
Analytic accounting integrates across Odoo modules:
- Project — Each project can link to an analytic account for automatic cost tracking
- Timesheets — Time logged on projects creates analytic lines
- Expenses — Employee expenses can be allocated to analytic accounts
- Purchase — Purchase order lines carry analytic distribution to vendor bills
- Sales — Sales order lines carry analytics to customer invoices
Step 7: Reporting
Analyze your analytic data through:
- Accounting > Reporting > Analytic Report — Revenue and cost by analytic account
- Pivot views — Cross-tabulate analytic accounts with time periods, partners, or general accounts
- Profitability analysis — Compare revenue vs. cost per project or department
Best Practices
- Start with one or two analytic plans. Adding too many dimensions creates complexity
- Use automatic distribution rules to ensure consistency and reduce manual errors
- Review analytic reports monthly for budget vs. actual comparisons
- Align analytic plans with your management reporting requirements
- Clean up unused analytic accounts periodically to keep dropdowns manageable