Skip to Content
Menu
This question has been flagged
2 Replies
7329 Views

Hi

I am looking for a solution to create monthly invoices in rental app for long term rental. For example we rent out heavy machinery on a longer term i.e. 1 year but need to invoice the customer on a monthly basis. 

I am thinking to create multiple line items (1 line item / month) on the rental order and invoice cusotmer at end of each month. Not sure if it is possible or if there is a better way to handle this scenario.


Anurag    

Avatar
Discard

Hi Anurag,

we are currently evaluating Odoo, and I am also looking for a way to model long-term rentals. I would need a combination of the subscription and rental apps. We rent hardware on a long-term base (until cancellation) that are invoiced periodically (monthly, yearly). Have you found a solution?


Please see the answer below. If you ANSWER a question, you will not see other answers, so I have converted your post to a comment instead.

Author

Thanks Ray, looks like a long solution (we don't use Odoo Accounting yet). All I wanted was to create monthly invoices for a given period of rental agreement.

The solution will work with either the Invoicing or Accounting app.

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

Hi Ray,

It seems the suggestion to use subscription is primarily to have a trigger for period invoicing. Not having the rental app also takes away the time based pricing and other functionalities offered by Rental app.

Would you know what might be the effect if a down payment product is put on subscription (or auto-post invoice in V16) along with a rental product on an SO? Would it create periodical down payments and at the end of rental term, the invoice would net off down-payment.

As not being a qualified accountant unable to validate, also if other considerations (like accruals) might have to be made as the long term rentals are likely run multiple accounting years

Thanks in advance!
BR

Odoo 16 supports recurring Customer Invoices - see https://www.odoo.com/web/image/36199369-ad786076/RECURRING.png - I would test this after creating a standard downpayment Invoice for your Sales Order, then recurring the invoice you create just for your recurring line item.

Thanks Ray,

Did set-up a test, created a rental order and a down payment invoice. On the down payment invoice set auto-post with an end date. On posting the invoice the next invoice was created in draft with due date in future (a month is minimum period that can be selected, so waiting for a month as I couldn't find a creative way to run down the clock). On due date the 2nd invoice was auto posted with down payment product and 3rd invoice created in draft.

1. The subsequent invoices (2nd & 3rd) did not link to the sale order.

2. On ending the rental and creating a regular invoice, only the 1st down payment was adjusted for and not the subsequent ones. Expected as the subsequent invoices weren't linked to this sale order.

3. Though the rental was returned earlier than the period set in the sale order, the invoice did not re-calculate price based on the time based pricing of the rental product.

To address the linkage of down payment to sale order, it seems the invoice would need to be created / triggered from sale order. Think this can be achieved by adding the down payment as a subscription product to the sale order. I will be testing this.

However, would you know how the time based pricing works? Does it kick-in only if the rental period exceeds the time set on the order, apart from of course setting the price at the time of order creation.

Thanks and BR

Best Answer

HI, also looking at this. I need to do a monthly rental on a product over a period of lets say 10 years, with annual escalations. I also need to asset on my books and run normal depreciation on the asset. I then need the ability to split the rental amount (monthly between 3 income accounts). Does anyone maybe have a solution for this? I thought of using the subscription module for this, but cant seem to get the splits into the 3 income accounts and also cant see where to do annual increases

Avatar
Discard
Related Posts Replies Views Activity
1
May 25
1512
0
Jun 23
1656
1
Mar 23
2851
0
Nov 22
1793
1
Aug 22
3872