Project Timesheet Billable per Line
This module allows marking individual timesheet lines as billable and generating sales orders directly from them, grouping lines by analytic account and employee.
It is compatible with crm_timesheet
auto_awesome What this module does
AI-generated from the code · Odoo 17.0Mark individual timesheet lines as billable and turn them into sales orders in one click, grouped by analytic account, customer and employee.
This module adds a Billable checkbox to each timesheet line, so you can decide line by line which work should be invoiced instead of relying on project-level settings.
A new menu entry, Timesheets to Bill, opens a list showing only the lines that are marked billable and not yet linked to a sales order. From that list you can run the Create Sales orders action. Odoo then groups the selected lines by analytic account and customer, and creates one sales order per combination. Inside each order, lines are grouped by employee, using the Timesheet Billable Product configured on the employee record, with the quantity equal to the total hours and a description built from the task names and timesheet descriptions.
Business rules enforced by the code: - Every selected line must have a customer, otherwise an error is raised. - Every employee involved must have a Timesheet Billable Product set, otherwise an error is raised. - Lines already linked to a sales order line are skipped, so they are not billed twice.
After creation, the module opens the newly created sales orders. The Billable field is also visible on the timesheet lines shown inside a task form, and the employee form gains a Timesheet Billable Product field. A dedicated search view lets you filter by employee, project, task or date and group by employee or project.
Depends on
Menus it adds
Models and fields (2)
- hr.employee.base · extends an existing modeltimesheet_billable_product_id (Timesheet Billable Product)
- account.analytic.line · extends an existing modelis_billable (Billable), sale_order_line_id
Text generated by AI (DeepSeek) from reading the Odoo 17.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 1 confirmed, 8 with no information of 9 versions.
Sources · Odoo 17.0
Confirmed on 2026-11-03 in branch 17.0 of OCA/timesheet.
terminal Installation and usage
OCA documentation · Odoo 17.0Usage
Source · Odoo 17.0- Go to any timesheets.
- Mark the lines you want to invoice as Billable.
- Go to Timesheets > Timesheets > Timesheets to bill.
- Select the lines and use the action Create Sales Orders.
- A sales order is created per analytic account.
No verified information in OCA: Installation, Configuration.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.