This question has been flagged
1 Reply
3519 Views

Hello

I'm trying to understand the possibilities with Odoo modules Sales, Rental and Subscriptions to see how it can work for leasing use cases without having to develop a custom module for this. 
But so far, it's been unclear and not so good documented how they can play together. 


Use case: leasing
You have a product with stock and serial numbers.
This product is available regular sales but also rental. 
In case of regular sales, nothing special, all features covered by Odoo. 
In case of rental sales, almost perfect. It can handle products with serial numbers leave and return the warehouse. 
The problem comes with the installment payments, eg monthly. 

You create a rental sales for a machine product at eg 36 months at 350$/month. 
You add the product, select the period for 36 months. 
Odoo will now charge 12600$ total upfront

Expected situation:
I was expecting an option to select pay monthly or yearly like a subscription/leasing. 
Exactly the same way as you would lease a car. You know the total value of the car upfront and also the balance value after the leasing period, and you pay monthly a rental fee to the bank or leasing company. 

At the closing day of the leasing/rental, you have 2 options:

  • A. you return the car and the rental/lease is closed
  • B. you decide the keep the car and you pay the balance value

If a client decides for A, easy done. Just register the return in rental module, everything good.
If a client decides for B, also easy done by simply creating a new regular sales order for the balance value (with a simple service product "Lease closing value" and type in the details about the deal in thedescription. Confirm the sale order, create the invoice, process payment, done.


Problems/limitations:

  • Using subscription module solves the monthly recurring invoices but Subscriptions only work for service products. We need stockable products with serial numbers. 
    Also it can not work with products delivery and returns.
  • Using rental module solves the problem with stock moves, serial numbers but can not handle recurring invoices for monthly payments. 


Ideally, I would expect that the Rental module could use some of the subscription module to have an option for a rental to handle the payment as a regular sales or a subscription contract. 
Has anybody already done something similar and how did you solve this? 

Thanks!

Avatar
Discard
Best Answer

This is possible with the Subscription app, without using the Rental app.

Workflow:

On a Sales Order, add the monthly charge on the first line and the leased machine on the second line (with no price charged to the Customer):

 

You can then generate the first Invoice showing both lines, and all subsequent Invoices are generated based on the Subscription app.


When the Sales Order is confirmed, the following related documents are created:

  • a Manufacturing Order for “Machine (Leased)”
  • a Purchase Order for “Machine (New)”
  • a Subscription for “Leasing Charge (Monthly)”
  • a Delivery Order for “Machine (Leased)”

Note: If you already have any new machines in stock, you won’t get the Purchase Order until you need to reorder.


Once you have received the new machine and recorded the Bill, your Balance Sheet will show the value of your Current Asset and the Liability you have to the Vendor:





Once you have completed the Manufacturing Order, your Balance Sheet will show that your Current Asset has been converted into a Fixed Asset:




Once you complete the Delivery Order to the Customer, your Balance Sheet will show that your Fixed Asset has been converted into a Rental Asset:



Once you generate the Customer Invoice, you will see the following Journal Items:


Note: the Rental Asset was already created during the Delivery of the leased machine, so you will notice the debit and credit to the Rental Assets account has no net effect. It is due to the way we are leveraging the stock interim logic built into Odoo.


Your Balance Sheet now shows the AR:


Your Income Statement shows the income from the monthly charge, with no income due to the delivery of the machine:


The last step is to create the Asset to start depreciating it. Because we are using the Rental Assets account as a clearing account on the Customer Invoice, we only want to do for debits made using the Assets Journal. You would then select the debit and click CREATE ASSET:


You then have the option to select an existing Asset Model to automate the creation of your depreciation schedule. The Asset will be linked to the Delivery Order, which is itself linked to the Sales Order, so you have traceability to each transaction. 

You can look at the Products in the Customers location to see how many leased machines have not been returned.

If you unhide the Unit Price field on the picking, when returning the leased machine, you can enter the remaining book value of the machine, so that it will be converted into a current asset at the correct residual value. 


The full list of GL Activity at the end of the process (apart from the depreciation entries) is:

Depreciation entries would regularly credit the Rental Assets account and debit the Depreciation Expense account at the time you decide to start depreciating (normally the same day the Delivery to the Customer ships) – depending on the schedule.



Configuration:

Create the following Product Categories:

NEW EQUIPMENT


LEASED EQUIPMENT:



LEASING SERVICES:



Create a product “Machine (New)” inside the New Equipment Category and a product “Machine (Leased)” in the Leased Equipment Category.

Create a recurring Service product “Leasing Charge (Monthly)” linked to a monthly subscription template to represent the lease payments. This would be inside the Leasing Services Category.

Create a Bill of Materials that builds the leased machine by consuming a new machine.

Setup replenishment rules that match the on hand stock levels for your new machine (Preferred Route is Buy with a Vendor set) and with 0 on hand quantity for your leased machine (Preferred Route is Manufacture). 

Create Asset Models, but do not link them to the Rental Assets account (so you don’t get any automatically created rental assets and can do this manually).

The accounts on the Leased Equipment services are very important as they dictate the logic that coverts current assets to fixed assets, then rental assets, then back again when the items are returned.




Avatar
Discard

I had the same question. The answer is very helpful, however, the only remaining issue is if the assets require maintenance or additional costs to be assigned to them. How would this impact the asset itself and where would it be registered?

Assets created with the CREATE ASSET button are found in "Accounting --> Management --> Assets" from inside the Accounting App. There is a MODIFY DEPRECIATION button for each Asset that allows you to re-value the asset if you have additional costs that can be capitalized and depreciated. The "Modification of an Asset" section of the documentation at https://www.odoo.com/documentation/16.0/applications/finance/accounting/payables/supplier_bills/assets.html covers this.

Excellent and detailed solution description.
But is this still the best solution for Odoo 17?
Now subscriptions support storable products again.
The only issue is that a new delivery will be made at every renewal date.

Ray, How would you do this in v17, to have future scheduled advances for a sales order?

anyone solved the question in v17?

In Odoo 17 create two Sales Orders, one for the machine (a regular Sales Order) and one for the leasing charge (a subscription Sales Order).