Enable Dark Mode!
By: Hasna VP

How to Invoice a Project in Odoo 15

Functional Odoo 15 Project

In the Odoo ERP system, you will get an efficient project management platform to manage and organize all your projects in a systematic manner. The Project module in Odoo is a great relief for the project management team in a company. They can configure their projects in this module and assign tasks and sub-task for each project to simplify the operations. It is easy to analyze the progression of projects and tasks using this module by arranging them into different stages. 

It is possible to assign employees for the project and track their working hours on the project in Odoo. The details about every single product and material used to complete a project can be easily reported in the corresponding project tab in this module. By recording time and material used for a project, Odoo will help you to generate bills for customers accurately. After completing a project, you can easily create invoices for the customer of the project within a few clicks.

In this blog, we will take a look at the invoicing methods of projects in the Odoo 15 Project Management module.

In the Project module, you can generate an invoice for a project mainly based on three factors.

1. Invoice based on prepaid/fixed price

2. Invoice based on timesheets

3. Invoice based on milestones

You will get these options to set as Invoicing Policy when you configure the project as a service product in the Sales module to create sales orders. Let’s discuss these three types of invoice creation for a project in detail.

1. Invoice Based on Prepaid/Fixed Price

If you want to generate invoices for a fixed price or on prepaid service, you can use the Invoice based on the prepaid/fixed price method. In this method, Odoo will create invoices for all ordered quantities by the customer. This service will be only available at prepaid or fixed prices. You can generate invoices before or after completing the project. For example, imagine that a customer has ordered 10 units of a product and only 6 units of the product are delivered. By setting the Invoicing Policy as Prepaid/ Fixed Price, Odoo will generate an invoice for all 10 units of the product ordered by the customer.

To create invoices, first, you need to configure the project as a service product in the Sales module and confirm the sales order for the project.


While saving the product, you can select the Product type as Service. The Invoicing Policy of the product can be set as based on Prepaid/Fixed Price. Now, you can create a sales order using this product for the concerned customer.


To confirm the sales order, click on the Confirm button. Now, you can create invoices for the project. In the Prepaid/Fixed Price method, the customer should pay for all quantities ordered.

In the project window, you will get the option to create an invoice as shown below.


Using this option, you can generate an invoice for the project.


Use the Confirm button to confirm the invoice. This is how we create invoices based on fixed prices/prepaid.

2. Invoices Based on Timesheets

Recording timesheets is a crucial task in project management. In the Odoo project module, you can record the time spent by employees on each task in a project. A single project may include various tasks and to complete these tasks, you can assign different employees to the project. The time spent by each employee will be different and Odoo will accurately record each second in the project description window. These recorded timesheets can be used to generate invoices.


You will get the details of hours spent by each employee for a task under the Timesheets tab of the respective task as shown in the image above. To invoice these recorded timesheets, you can set the Invoicing Policy of the service product as Based on Timesheets in the Sales module.


Now, using this service product, you can create a sales quotation and confirm the order.


The delivered quantity of hours can be seen in the Order Line of the sales order.


Now, you can use the Create Invoice button to generate an invoice for the timesheets recorded in the project.


The recorded time can be seen in the invoice using the smart button given on the top right corner of the invoice tab.

3. Invoice Based on Milestones

To reduce work pressure and organize work systematically, we can split a project into tasks and sub-tasks in the Project module. This feature is advantageous for you to divide large-scale projects into small milestones. By doing so, Odoo will help you to complete the project step by step. This will be also useful to examine the progress of the project. You can arrange each sequence of work into different milestones and complete them according to their order. You can create invoices for the completed milestones in a project in the Project module.


You can configure milestones for a project using the Milestones smart button given in a project description window as shown above.


For this project, we have reached the first milestone. So, you can generate an invoice based on this milestone. For this, add the project as a service product in the Sales module.


You can set the Invoicing Policy as Based on Milestone as shown in the image. Next, you need to create the sales order for this product. The sales order lines in the sale order define milestones of the project to invoice by setting the delivered quantity.


This method is similar to the generation of invoices for the delivered quantities in Odoo. When a project reaches the first milestone, you can invoice it by following this method. The Order Line of the sales order will show the delivered quantity of the product. You can also manually set the quantities when the mentioned milestone has been reached. Now, click the Create Invoice button.


These are the three types of invoices that you can generate in the Odoo Project module. After creating an invoice, you can use the Register Payment option to complete the payment procedures.

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