Enable Dark Mode!
By: Shabna P

How to Set Up Milestones With Odoo 16 Project Management

Functional Odoo 16

Project milestones indicate various phases in the timeframe of a project. They serve as checkpoints to determine the end of individual tasks or groups of tasks as well as the beginning of a new phase or activity. Usually, in business, when it comes to large projects, to manage the entire project, the project team will set some milestones to close one phase of the project and start the next phase of the project. This will help manage and keep track of the project's progress. Also can evaluate the progress in such a way that it keeps the right track. If not, there is the possibility to correct the issues or clarify the final intended result, and can work on that. Also if the project is billable, billing can be done based on the completed work instead of doing it as a whole. This will reduce the burden of the large volume of cash payments.

In this blog, we are discussing how the milestones are set up in the project and adding project progress with project updates and billing.

Firstly, project management in the sense we are offering our customers some service, it can be any service depending on the project.


Suppose it is an Odoo implementation, we will usually allocate employees to assist odoo implementation. In case of any software development also, we allocate an employee to develop their software with the required functionality. Another example from real life is, considering a cleaning service. All the above mentioned are basically we are providing some services. To manage this odoo provides product type ‘Services’.

The invoicing policy for a project service includes:

1. Prepaid / Fixed-price

2. Based on Timesheet

3. Based on Milestones

4. Based on the Delivered Quantity (Manual)

Here, we are discussing Milestones. In the above screenshot, you can see the product type is service, which is for villa construction or building construction. It took a long time to complete the construction project. So this project can be divided into different phases or say milestones.


If the customer confirms a sales order for the villa construction the construction project will start. Here ‘create on order’ is ‘Project & Task’, which means when the order is confirmed a project and task are created for the construction building. Also, we are providing a project template for which the features of the project template will be inherited by the newly created project.

Let’s create a sales order and confirm it. This will create a project and task in the Odoo project module with one milestone. In the SO you can find the smart tabs for Projects, Milestones, and Tasks.


Now, go to the project and see the created project, task, and milestone. In the project dashboard itself the details including customer, no of tasks, planned hours, milestone count, etc can be depicted.


One can also create more milestones for each task or phase. Milestones can be created either from the ‘Milestones’ smart tab of sales orders or from project updates. The NEW button allows you to add more milestones and quantity percent can be provided.


This refers that if one milestone is completed then 10% of the project has been completed and so on. Once the task has been started, it can be moved to the ‘In Progress’ task stage.


Consider the project is in the initial stage, where the project updates can be added.


The NEW button in the project updates helps you to add project progress and its progress. Project status can be added and progress percent and the date of creation of project update.


In the description tab, the details of the project including sold units, profitability, and milestones will be auto-populated. Once an update has been added the details can be saved.

The employees may work on the task and have spent some hours completing the task, which can be added to the timesheet. The total allocated hours is 1000 hrs and spent hours is 20 hrs. The bottom shows the remaining hours. The timesheet hours can be manually added by clicking on the add a line or the START button to start to count the timer.


Now suppose the first phase is completed, then can mark the first milestone as completed. Thus the first 10% of the project has been completed. The sales order cost under the Profitability section is updated to -2000. This is because the 20 hours have been completed by Mitchel admin and the hourly timesheet cost of Mitchell Admin is 100.

Thus the total cost is 20 x 100 = 200


10 percent has been completed, which means 10 % of 1000 hrs (allocated hours) is done, ie. 100 hrs.


Here you can find the delivered quantity is 100 and the unit price is $30 and hence a subtotal of $30000. At the top you can see 20 hours are recorded as a timesheet. In the case of invoicing policy milestones, timesheet hours spent do not depend on creating invoices.

Now let's create an invoice for the achieved milestone and make payment.


Now let's move again to project updates, where we see the project profitability. It records the revenue generated from the sales order as $3000 and cost as $2000 and thus margin is the difference between revenue earned and cost, which is $1000.


Thus the first milestone has been completed and the responsible can add the project update hitting on NEW.

For the project update, you can add the status, which can be ‘On Track’, ‘At Risk’, ‘Off Track’, and ‘On Hold’, and the percent of progress. Under the description tab, you can find some details that will be auto-updated. The sold service hours, effective hours, and remaining hours are updated accordingly as we completed the milestone.

Below that project profitability is defined as “The cost of the project is now at $ 2,000.00, for a revenue of $ 3,000.00, leading to a $ 1,000.00 margin (50%).” Also, the first milestone is struck through, since it is completed.


Similarly, when the second milestone is completed, you can create a second invoice for that. The second milestone is 20% and the third milestone is 70%.

Here the second milestone marked as 20% and under the revenue section to invoice is $6000. 20% of 1000 hours is 200 hours and each hour is billed for $30. Thus the total invoice amount for the second milestone is 200hoursX$30 = $6000.


Now an invoice can be created for the second milestone as well and later can complete the third milestone and can create an invoice for it too.

Thus after the completion of each milestone or in between of its progress project updates can be added. This will give an entire tracking of the project at various states which depicts the information including the project summary like how the project is going, whether it is on-track or off-track and how much is billed, how much to bill, and the margin information.

To read more about the important features of the Odoo Project Module, refer to our industry page.

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