Add sale rental module
Renting assets or services is a common business practice.
It is different from subscription because the assets is actually moved out of the company stock (usually picked by the customer).
Also even if a period is planned for the rental, the invoiced period is usually the actual period computed between when the assets was picked and when it has been returned.
Another common requirements is to manage the renting period individually for each assets. It is common that a customer return only some assets at a time and later the remainder.
The idea is to have a document to enter first the planned period for each assets/service rented and compute an estimated price as quotation.
Then once confirmed, it is possible to start picking assets for a specified date/time which create a stock move from the warehouse to the customer location. This date/time becomes the actual start of the rental line.
It should be possible to return assets that were already been picked at a specified date/time. This creates a stock move from the customer location to the warehouse. This date/time becomes the actual end of the rental line.
Once every lines of the document has been returned. The rental ends and an invoice is created for the actual duration of each line and based on the unit price.
The product is extended to have a rental flag which allows to define a rental unit (from the time category) and a list of prices per duration.