How to Use Analytic Accounting in Odoo 18 Project Module: Complete Guide
By Braincuber Team
Published on February 28, 2026
A services company we audited had 12 active client projects and zero visibility into which ones were profitable. They tracked revenue in QuickBooks, costs in another spreadsheet, and timesheets in a Google Sheet. The CEO thought Project A was their best client. When we linked everything through Odoo's analytic accounting, Project A was actually losing $3,200/month after factoring in employee time costs. Odoo 18's analytic accounting creates a financial identity for every project—every invoice, timesheet, purchase, and expense gets tagged automatically. This beginner guide is the complete tutorial.
What You'll Learn:
- Enabling analytic accounting from Accounting module settings
- How projects are automatically linked to analytic accounts
- Tracking revenues and costs against specific projects
- Using the Project Dashboard profitability view
- Understanding Expected, To Invoice, and Invoiced columns
- Analyzing true project profitability with dual cost/revenue tracking
Standard Accounting vs. Analytic Accounting
Standard accounting tells your tax authority how much you made and spent. Analytic accounting tells you where you made and spent it. Without analytic accounts, your P&L shows total revenue minus total costs. With analytic accounts, you see revenue minus costs per project. That's the difference between knowing your company made $180,000 and knowing that 3 of your 12 projects are underwater.
Per-Project Profitability
Every journal entry (sales invoices, purchase bills, expenses, timesheets) gets tagged with the project's analytic account. You see true profit per project, not just total company profit.
Dual Revenue/Cost Tracking
A timesheet entry appears as revenue (what you bill the client) AND cost (what you pay the employee). This dual view shows true margins, not inflated gross revenue numbers.
Progressive Tracking
See financial data in three stages: Expected (from confirmed orders), To Invoice/Bill (delivered but not yet billed), and Invoiced/Billed (realized). Track from estimation to cash.
Automatic Linkage
Odoo auto-creates analytic accounts for billable projects. No manual mapping. Every financial transaction tagged to the project flows into the dashboard automatically.
Enable and Use Analytic Accounting for Projects
Enable Analytic Accounting
Go to Accounting > Configuration > Settings. Under the Analytics section, enable Analytic Accounting. Click Save. This activates the analytic framework that connects with the Project module. Without this, projects won't have financial tracking capabilities.
Create a Billable Project
Go to Project > All Projects > New. Create the project and ensure it's set as billable. Odoo automatically creates a linked analytic account for every billable project. This analytic account becomes the financial identity of the project—every transaction tagged to it appears in the profitability dashboard.
Link Sales Orders to the Project
When you create a sales order with service products, link it to the project. The confirmed sales order amount appears as Expected Revenue in the profitability dashboard. As services are delivered and invoices are generated, amounts move through the To Invoice and Invoiced columns. The analytic account captures it all automatically.
Log Timesheets
When employees log timesheets on project tasks, those hours are recorded in the analytic account. In the profitability dashboard, timesheets appear under both Revenues (billable rate to client) and Costs (employee wage rate). This dual entry shows the true margin on every hour worked. A timesheet showing $150/hr revenue but $85/hr cost = $65/hr actual margin.
Tag Purchases and Expenses to the Project
When creating purchase orders or expense reports, select the project's analytic account. Material costs, subcontractor fees, travel expenses—all get tagged to the project. These appear under Costs in the profitability dashboard. Without this step, your project profitability is overstated because you're only seeing revenue without the full cost picture.
Access the Profitability Dashboard
Open the project in the Project module. Click the sliders icon (dashboard tab) to add the profitability view to the top menu. The dashboard appears on the right side of the project interface, consolidating all financial data from the linked analytic account into Revenues and Costs sections.
| Dashboard Column | What It Shows | Why It Matters |
|---|---|---|
| Expected | Amounts from confirmed sales/purchase orders before delivery | Forecasts future revenue and costs before work begins |
| To Invoice / To Bill | Services/goods delivered but not yet invoiced or billed | Catches unbilled work—revenue you've earned but haven't collected |
| Invoiced / Billed | Validated invoices and vendor bills | Realized income and incurred costs—the actual financial picture |
Review Revenue Sources
In the dashboard's Revenues section, see each income source: timesheets (billed to client), invoiced services, product sales. Each line shows Expected, To Invoice, and Invoiced amounts. If your "To Invoice" column is growing but "Invoiced" isn't, you're doing work that's not getting billed. That's free labor.
Review Cost Sources
The Costs section shows employee time (wage cost for timesheet hours), purchase orders, vendor bills, and expenses. Each item shows Expected, To Bill, and Billed columns. Compare total costs against total revenues. If costs exceed revenues in any column, the project is unprofitable—even if revenue looks healthy in isolation.
Compare Project Profitability
Open each project's profitability dashboard to compare margins. A project billing $50,000 in revenue with $48,000 in costs is making $2,000—4% margin. A project billing $30,000 with $18,000 in costs makes $12,000—40% margin. The smaller project is more profitable. Without analytic accounting, you'd only see the $50K headline and prioritize the wrong project.
Run Analytic Reports
Go to Accounting > Reporting > Analytic for a cross-project financial overview. See all analytic accounts (projects) side by side with their debit/credit balances. This gives you a portfolio view of project profitability across your entire business. Sort by balance to find your most and least profitable projects instantly.
Always Tag Purchases with Analytic Accounts
The #1 reason project profitability dashboards are inaccurate: people forget to tag purchase orders and expenses with the analytic account. Revenue gets tracked automatically through timesheets and sales orders. But costs from vendor bills? Those require someone to manually select the project's analytic account on the bill line. Miss this and your project looks artificially profitable.
Frequently Asked Questions
How do I enable analytic accounting in Odoo 18?
Navigate to Accounting > Configuration > Settings, enable the Analytic Accounting option under the Analytics section, and save. This activates analytic accounts across all modules including Project.
Does Odoo automatically create analytic accounts for projects?
Yes. When you create a billable project, Odoo automatically generates a linked analytic account. All financial transactions (invoices, timesheets, expenses) tagged to this account appear in the project's profitability dashboard.
Where can I see project profitability in Odoo 18?
Open the project in the Project module, click the sliders/dashboard icon to add the profitability view. The dashboard shows Revenues and Costs sections with Expected, To Invoice, and Invoiced columns for each financial item.
How do timesheets affect project profitability in Odoo 18?
Timesheets appear in both Revenue (billable amount charged to client) and Costs (employee wage cost) in the profitability dashboard. This dual entry shows true margins per hour worked on the project.
What are the three columns in the profitability dashboard?
Expected (confirmed order amounts before delivery), To Invoice/To Bill (delivered but not yet billed), and Invoiced/Billed (validated invoices reflecting realized income or costs). Together they show financial trajectory from planning to collection.
Need Help Setting Up Analytic Accounting for Projects?
Our team configures analytic accounts, links them to projects, sets up cost tracking, and builds profitability dashboards—so you know which projects make money and which ones quietly drain it.
