Odoo Timesheets and Project Billing Explained
How to bill projects in Odoo with timesheets: fixed price vs time and materials, service products, invoicing policies, budgets and project profitability.
For service companies, the ERP must answer one question: are we making money on this project? In Odoo that answer comes from linking sales, projects, timesheets and invoices.
The building blocks
- Service products define how work is sold and billed.
- Sales orders create projects or tasks automatically.
- Timesheets record hours against tasks.
- Invoices are created from the sales order based on the billing policy.
Billing models
Odoo service products support the main models:
| Model | How it bills |
|---|---|
| Fixed price | Ordered quantity, or milestones |
| Time and materials | Hours from timesheets |
| Prepaid hours | Ordered hours, consumed by timesheets |
| Milestones | Amount when a milestone is reached |
Set the invoicing policy on the product so users do not need to choose each time.
From sale to project
When a sales order with a service product is confirmed, Odoo can create a project, a task in an existing project, or both. Every hour logged on that task is linked to the sales order line.
Logging time
Staff log time from the task, the timesheet app, the mobile app or a timer. Daily logging gives the most accurate data. Managers can validate timesheets before invoicing, so mistakes are corrected first.
Invoicing
When you create the invoice from the sales order, Odoo adds delivered quantities, such as validated hours, for time and materials lines. For fixed-price lines it uses ordered quantities or milestones.
Budgets and profitability
Each project has an analytic account. Timesheet costs are based on employee hourly cost, and expenses and purchases can be linked too. Project updates show:
- Revenue invoiced and to invoice
- Costs from timesheets, expenses and purchases
- Margin
Review these monthly. Projects drifting into loss are much easier to fix early.
Tips
- Set employee costs properly; profit reports are only as good as cost data.
- Use non-billable task types for internal work.
- Limit who can edit validated timesheets.
Read our Odoo for professional services guide or see our project management solution.
Frequently asked questions
Can Odoo invoice clients based on timesheets?
Yes. Service products with the invoicing policy based on timesheets put approved hours on the next invoice automatically.
Can Odoo show project profitability?
Yes. Project updates and analytic reports show revenue, timesheet costs, expenses and purchase costs per project.
Written by
ERP Builders Team · ERP consultants and engineers
Articles written and reviewed by the ERP Builders delivery team — functional consultants, solution architects and developers who implement, integrate and support ERP systems.
Related articles
Odoo for Construction Companies: What Works
How construction firms use Odoo: job costing with projects and analytic accounts, purchasing per site, subcontractors, progress billing, retention and equipment.
Odoo for Professional Services Firms
How consultancies, agencies and IT service firms run on Odoo: CRM to project handoff, timesheets, resource planning, retainers, billing and utilisation reporting.
Odoo Reporting and Dashboards: A Practical Guide
How to get useful reports from Odoo: pivot and graph views, saved filters, dashboards, spreadsheet reports, custom PDF reports and when to add Power BI.
Next step
Turn the plan into a working system.
Book a consultation with an ERP consultant. No sales script — just an honest look at your situation.