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.
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.
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.