Odoo: Invoice Milestone

Why we need to use it?

Business case: in project management, invoices are issued usually according to project event - called milestone - which creates an invoice on a predefined % or amount. Such as Payment I : 30%, Payment II : 50%, Payment III : 20%. How to make it? How can we know how much % we already invoiced?

Odoo behavior: for service product, the invoice control can be done only on ordered quantity for 100%. It's not possible to plan the invoice based on a milestone validation and not east to simply invoice an order line in %.

Falinwa behavior: by adding the notion of invoice term, each sales order line can have the list of milestone and the milestone validation will automatically generate the related invoice.

  • So the answer is Invoice milestone by Falinwa. We can split the invoice, schedule it, and control the % invoiced

Complementary info on HTML:

Required access right to use the module: Analytic accounting and analytic accounting for sales.Before creating the invoice term, create the milestone products you will invoice.

Tips: if you test the module, you need to go in debug mode in Settings > Technical > Schedule Action >  Automatic generation of invoice from Milestone date and run it manually.



      1. Go to Sales app > Configuration > Invoice Terms > create an invoice term

      2. Add an item product > input the percentage > and set the invoice date term

      3. The term line will be displayed on Invoice Term Line

      4. To see how it works, let’s create a quotation, you must select customer before, add an item, and add analytic account

      5. On analytic account, we must select the invoice term that we created before

      6. Click confirm sale

      7. After confirming the sale order, the invoice will be created with the same date as the invoice term date

      8. And the first invoice will be created automatically, click Invoices on top right corner

      9. Click Validate

      10. Click Register Payment, select payment journal and validate the payment

      11. The invoice’s status now is paid

      12. The second invoice will be created automatically

      13. Click validate the invoice

      14. Click register payment, select payment journal and validate the payment

      15. The invoice’s status is paid

      If you have any questions at all , please feel free to ask us !