Manage fixed amount projects

Continuing the discussion from Invoicing fixed amount projects:

I think the project_invoice module should support invoicing projects based on a fixed amount. In order to do so we should be able to differentiate if the project/task is based on amounts or on efforts. Furthermore it should be possible to combine both of them. For example the following structure should be possible:

  • Project
    • Fixed Amount Task
    • Effort Based Task

Proposal

The project product can be used to differentiate if the works is based on time or not::

  • If the product is from a Time category, the project should be based on time (current tryton behaviour)
  • If the product is from Unit Category, the project should be based on the amount (new behaviour)

If the project is based on the amount it will be invoiced with the following invoice methods:

  • On Effort: The list_price of the work will be invoiced when it’s closed
  • On Progress: The list_price multilipied for the work process will be invoiced when clicking the invoice button.
  • On Timesheet: I don’t think it make sense to invoice on Timesheet a fixed amount project, so I think that we should not allow to select Unit products from Timesheet based projects.

Implementation

It should be rounded with the uom.

Agreed.

For me, the most important thing is that the internal calculation should be less tided to duration and more with just amount.