Invoice project milestones

Estimated reading: 3 minutes 10 views

Introduction

Managing and invoicing long-term or large-scale projects can be a complex process. Odoo 18 introduces a powerful solution by allowing invoicing based on project milestones. This approach enables businesses to receive payments incrementally throughout a project’s lifecycle, offering better cash flow and transparent client communication.

What Are Project Milestones?

 

Milestones represent key points or deliverables in a project’s progression. Instead of invoicing the full amount at once, milestones allow you to break down the project into phases — each invoiced upon completion. This ensures steady cash flow and provides clients with insight into each phase of development.

Step-by-Step: How to Invoice Project Milestones in Odoo

 

1. Create Milestone Products

Each milestone is treated as a separate product in Odoo. Follow these steps:

  • Navigate to Sales app → Products → Products
  • Click New to create a product or edit an existing one

Configure the product:

  • Under General Information tab:
    • Set Product Type to: Service, Event Ticket, Event Booth, or Course
    • Set Invoicing Policy to Based on Milestones
    • In Create on Order, choose one of the following:
      • Task
      • Project
      • Project & Task

Tip: Use the “Sales Description” field under the Sales tab to clearly label the milestone for easier identification in sales orders.

 

2. Create a Sales Order with Milestone Products

To initiate milestone billing:

  • Go to Sales app → New Quotation
  • Add a customer and milestone product(s) in the Order Lines tab
  • Click Confirm to convert it into a sales order

After confirmation, smart buttons such as Milestones and Tasks will appear at the top.

 

3. Add and Assign Milestones

  • Click the Milestones smart button
  • Click New to add milestones
    • Set a Name
    • Assign it to the relevant Sales Order Item
    • Set a Deadline (optional)

Now, assign these milestones to tasks:

  • Click the Tasks smart button on the sales order
  • Open each task and link it to the appropriate Milestone in the task form

 

4. Track Progress and Invoice

When a milestone is complete:

  • Return to the Sales Order
  • Click the Milestones smart button
  • Check the box under the Reached column for the completed milestone

 

Then:

  • Back on the sales order, the Delivered column updates
  • Click Create Invoice
  • In the pop-up window, leave as Regular Invoice and click Create Draft Invoice

This generates an invoice only for the completed milestone.

 

5. Confirm Invoice and Register Payment

  • Confirm the draft invoice by clicking Confirm
  • Once payment is received, click Register Payment
  • Review the payment details, then click Create Payment

The invoice will now show an In Payment banner, and the Invoiced column in the sales order will reflect the payment.

6. Repeat for All Milestones

Repeat the milestone completion and invoicing process until:

  • All milestones are marked as delivered
  • All tasks are completed
  • All invoices are sent and payments registered

The Invoices smart button on the sales order will show a list of all generated invoices.

 

Why Use Milestone Invoicing?

  • Improved cash flow through installment payments
  • Clear visibility for clients on project stages
  • Automated task and project creation for milestone tracking
  • Efficient invoicing as work progresses

Reference

Leave a Reply

Your email address will not be published. Required fields are marked *

Learn how we helped 100 top brands gain success