Enable Dark Mode!
By: Muhammed Mukthar

How to Invoice a Project in Odoo V12

Functional Odoo 12 Project

The Odoo project management module helps the end user to efficiently manage and track a project in his/her workplace. The module offers a seamless working experience to the end clients, triggering more efficiency and productivity. It helps to club every expense together and create an invoice for the project.

In this module, I will be explaining how to invoice a project in Odoo.

Under the Odoo Project Management module, the invoice is mainly based on three elements- timesheet, ordered quantity and milestones.

Invoice Based on Time Sheet

Invoice based on the timesheet is one kind of invoicing method practiced under Odoo Project. This function helps to invoice the exact working hours of the employees on a project.

Each project may contain more than one task and each particular task are assigned to different employees. Therefore, each employee’s timesheet cost is different. Timesheet cost is the service cost of an employee per hour on a project. The module efficiently binds together every time sheet cost and thereafter create the invoice.

In order to create an invoice based on the timesheet, firstly one needs to create a sales order. 

Configuration >Project 

On can see all projects, the respective project manager and the valid contacts under this page. 


Later, one can open the project for creating the sales order.


Under this field, one can view the complete details of the project and a button for creating the sales order. Upon clicking the button, a pop-up window will appear on this page.


Under the page, one can select the customer, the service, the unit price, and the billing type. By default, there are two types of billing in Odoo: at employee rate and at project rate. Under the Employee rate, the bills are calculated based on timesheet cost of the employee. However, under the project rate, the cost amounts to the fixed cost of the project.

The following action is setting the invoicing policy as ‘Timesheet on task’ (shown below).


After entering the details such as customer, service, unit price, the end user needs to click the Create Sales Order button in the Wizard.


It shows the delivered quantity i.e the worked hours of an employee on the project and the corresponding service rate. In case, if one needs to add more products in the invoice, there is an option in Odoo.

Invoice based on Ordered Quantity

The invoice based on ordered quantity is calculated on the basis of the quantity ordered by a customer, no matter whether the ordered quantity is received by the customer or not. 

i.e if a customer ordered for 10 quantities and is delivered with only 5, an invoice will be created for 10 quantity.


Before creating a sales order, one must set ‘ordered quantity’ as service invoicing policy in the product details. 

Product -> Sales -> Service Invoicing Policy


And creating the Sales Order, one needs to fill the number of ordered quantity and later create the invoice. 


Invoice Based on Milestones

The ‘invoice based on milestone’ is yet another invoicing method practiced under Odoo Project Module. Under the function, one can invoice the delivered quantity of the project or the different stages of the project, that are complete. Say project designing, development and so forth.

For Example: If a project runs in three stages and the supplier needs to invoice the client upon completion of each stage, it is advised that they go for service invoice policy as ‘milestones’.

In order to avail, firstly the supplier needs to create a sales order and fill in the field of delivered quantity.


While creating the sales order of the project for the invoice, one must also fill up the ordered quantity and the delivered quantity.

Here, one can invoice only the delivered quantity. Save the sales order and create the invoice. 



Here is the project invoice.


One can view the invoice amount of the delivered quantity in the project and a button for validating the invoice and registering the payment.


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