Enable Dark Mode!
By: Divya M A

An Overview of Time Billing & Invoicing Policies in Odoo 16 Timesheet

Functional Odoo 16

Timesheets are data tables used by organizations to track employees' working hours, monitor performance, and assess project progress. They are essential for payroll, human resource management, accounting, and verification of work. Timesheets help businesses meet deadlines, maintain budgets, simplify payroll calculations, organize attendance, and support future analysis and forecasting. Timesheet software ensures project billing accuracy.

The Odoo 16 Timesheet Module is a convenient software tool for keeping track of working hours that enables users to track their activities at any time, anywhere, on the go, or after the job is over. It has a Chrome extension for quick job initiation, a grid view, and filters for faster invoice validation. Tasks may be carried out even without internet access using the offline tracking mode. Managers have the ability to assign access privileges, validate timesheets, and issue reminders. The program keeps track of how well each employee is performing on projects or tasks, analyzes timesheets for billable hours, billable sums, and uninvoiced sums, incorporates leave administration, and makes it simple to examine employee performance.

Time Billing with Odoo 16 Timesheet 

Time and material billing is a cost-effective method for charging projects in industries with differing actual and predicted work hours. It helps estimate billable time, materials, and client billing, benefiting consulting and service sectors. This approach is beneficial for long-term projects with variable requirements and encourages judicious charging. Odoo's 16 Timesheet Module allows tracking of ticket time and charging clients, allowing for real-time scenarios and connections with various systems.

Configuring Timesheets

You can check and enable various timesheet functionalities from the “Settings” window of the Timesheet “Configuration” menu.


You can check the “Time Billing” and “Invoicing” policy options from the “Settings” window illustrated in the above screenshot.

Allow Time Tracking and Billing for a Helpdesk Team

Helpdesk Teams can measure the number of hours spent working on a ticket and bill a client for that time using the Odoo Helpdesk Module. Customers can be charged either when the task is done or even before it starts. The integration properties with the Sales, Helpdesk, and Accounting systems make this easier.

To check out and activate the “Track & Bill” Time capabilities on a Helpdesk team, go to the Helpdesk’s “Configuration” menu and open the “Teams” section. then decide which team to join from the list or create a brand-new one. It will then display the settings page for that team.


In the Team configuration form, you can see the “Track & Bill Time” and “Time Billing” options, as illustrated in the screenshot below.


A new field with the title "Project" appears when you click the “Timesheets” checkbox. All timesheets for tickets handled by this team will be entered into the project that is specified in this section. To choose a Project, click the drop-down menu or write a name for the project, and then click Create to start a new project where the timesheets will be kept.

TimeBilling in Sales Order

Inside the Odoo 16 Sales Module, you can bill a sales order based on timesheets. To check this feature, go to the “Product” dashboard inside the Sales Module and choose a product with the service product type to change the invoicing guidelines and service tracking in a sales project. 


To create a task in a new project or to choose an existing project for task creation, alter the service tracking and select an invoicing policy that permits timesheets on tasks.


In this scenario, I have created a new product from the product page and chose Service on Timesheets. This makes the product detail form visible. The “Product Type” has been configured 

as “Service,” and the “Invoicing Policy” is set to “Based on Timesheets.” Setting the “Sales Price” and making sure the “Unit of Measurement” is set to “Hours” are the final steps.

Creating New Sales Order

In order to create a sales order for the support services product in order to bill a client based on timesheet hours, You have to create a new Quotation or Sales Order inside the Sales Module. So open the “Quotation” from the “Orders” menu.


Click the “New” button, Create a new Quotation, and fill up the displayed quotation form with client information.  To add a Sales Product, click the “Add a Product” line inside the “Order Lines” field and update the “Quantity” field with the desired number of hours after selecting the Service Product that we created earlier. 


To make the quotation into a Sales Order, confirm the quotation using the “CONFIRM” button. After confirming the Sales Order, you can create the customer invoice by selecting the “CREATE INVOICE” option.


Creating Helpdesk Tickets for Time-Based Billing

Head to the Helpdesk Module and choose the relevant team to enter a timesheet entry for time-tracking services. Pick the current ticket from the Kanban view if one already exists, or you can start a new ticket by clicking the “New” button.


On the configuration form for ticket details, enter the customer's information in the “Customer” field. The assigned employee name can be edited inside the “Assigned To” field. The “Type” and “Tags” fields can be edited with the relevant data. The drop-down menu inside the “Sales Order Line” field will allow you to select the appropriate Sales Order, so select the previously created sales order as illustrated in the above screenshot.

Logging Hours Spent On the Timesheet

Hours must be tracked and logged in order to generate an invoice for a product based on timesheets. The service is now in an Ordered stage. So, we need to update the completion and proceed with the invoicing of the task or service. This can be done within the “Timesheets” tab of the Helpdesk Ticket Configuration form.

To add a new entry, click the “Add a line” option inside the “Timesheets” tab. From the drop-down box, choose an Employee name and then enter the hours spent in the “Hours Spent” column. You can also provide any service-related notes in the “Description” column. If necessary,  The time spent on the issues can be split up until the total time for these processes has been recorded, as illustrated in the screenshot below.


Updating the Hours Spent on a ticket can also be done using the “START” timer button available on the Ticket configuration form.


Following the "START" button click, you can either stop or pause the timer using the corresponding buttons so as the service procedure progresses, the recorded time will automatically update on the "Timesheets" tab.

Invoicing the Timesheet Based Bill

When the client's issue has been completed and there are no more timesheet entries, You can generate the invoice and bill it from the customer.  You can do this process by returning to the “Sales Order” inside the Sales Module or by choosing the “Sales Order” smart button at the top of the ticket configuration form.


You can see the total hours spent from the “Hours Recorded” smart button, as shown in the above screenshot.

Invoicing the Timesheet based on Time

You can generate and submit an invoice for the completed services using the “CREATE INVOICE” button provided at the top of the form. 


Select between a “Regular Invoice,” “Down Payment (Percentage),” or a “Down Payment (Fixed Amount)” option found inside the displayed window. Then click the “CREATE INVOICE” button after entering the required information. 


The customer can then get the invoice for payment by confirming the invoice details using the “CONFIRM” button


Using the "SEND & PRINT" option, it is also possible to email an invoice to the customer. After that, you can use the "REGISTER PAYMENT" button to complete the payment process. Accounting-related activities like adding Debit Notes and Credit Notes can also be done using the respective buttons.

Invoicing Policies

You can determine which timesheets are taken into consideration when charging your time by selecting the “Invoicing Policy” option from the “Settings” menu of the Odoo 16 Timesheet Module. These policies include two options named “All recorded timesheets” and “Validated timesheets only,” as illustrated in the screenshot below.


Any timesheets that have been recorded and authorized are subject to the Invoicing Policy you choose. After enabling the Invoicing Policy, we can check its application from the Odoo Sales Module. This can be checked using the “Product” menu of the Sales Module. So you can open a new Product configuration form from the platform.


In the selected product configuration form, you can see the multiple Invoicing Policies displayed inside the “Invoicing Policy” field, as illustrated in the above screenshot. This enables the creation of invoices and their payment before service-related timesheet entries are kept. The types of invoicing policies available are;

1. Prepaid/Fixed Price

2. Based on Timesheets

3. Based on Milestones

4. Based on Delivered Quantity

Prepaid/Fixed Price

Using this invoicing policy, the invoice can be generated prior to doing any work on the issue when support services are billed at a particular rate. In this instance, a service product with an invoicing policy set to “Prepaid/Fixed Price” would be employed.

Based on Timesheets

An invoice cannot be produced before the hours necessary for resolving the issues have been entered on a timesheet when support services are invoiced based on the amount of time spent on an issue. A service product would be utilized with the invoicing policy set Based on Timesheets.

Based on Milestones

Using milestone invoicing, where each milestone denotes a specific sequence of tasks that lead to the contract's conclusion, is a cost-effective strategy for big projects. Through the use of installment payments and progress updates, this strategy guarantees a consistent cash flow for both the business and the client.

Based on Delivered Quantity

The last method of invoicing is the Invoicing “Based on Delivered Quantity.” All of the purchases made for the relevant project to be invoiced to the client can be enabled by reinvoicing purchase orders. 


Odoo Sales also uses the "Invoice what is ordered" rule to send invoices to the clients when the sales order has been confirmed and delivered. Although it is the default choice, businesses that sell a wide range of things choose this option. Since the ordered amount and the delivered quantity may vary somewhat in such cases, it is advised to invoice the actual quantity supplied.


Various Time Billing Strategies available in the Odoo 16 Timesheet Module are explained in this blog session. This feature makes it possible to keep track of the time spent on a ticket and bill the customer appropriately. 

To read more about configuring timesheet controls in the Odoo 16 timesheet app, refer to our blog How to Configure Timesheet Controls in the Odoo 16 Timesheet App

If you need any assistance in odoo, we are online, please chat with us.


Leave a comment




Cybrosys Technologies Pvt. Ltd.
Neospace, Kinfra Techno Park
Kakkancherry, Calicut
Kerala, India - 673635



Cybrosys Technologies Pvt. Ltd.
1st Floor, Thapasya Building,
Infopark, Kakkanad,
Kochi, India - 682030.



Cybrosys Techno Solutions
The Estate, 8th Floor,
Dickenson Road,
Bangalore, India - 560042

Send Us A Message