We don’t only sell, we rent and loan too!

NetSuite doesn’t have a specific module for rental and loans (or trials) but it doesn’t mean that the process can’t be supported. In this post, I will show you how to simply implement these processes using existing NetSuite functionality.


Figure 1 General Rental Process 

Before we start, there are a few features that are going to be needed to setup the rental process correctly:
  • Inventory - Multi-location inventory
  • Advanced Shipping (fulfillment)
  • SO, Accounting, AR
  • Optional Features:
  • Serialized inventory ( to track the item)
  • Advanced Billing ( to billing schedule for invoicing)
  • Bins ( another way to handle inventory available for rental)
Inventory Locations 

The first thing to do is to create two inventory locations: 

 1- Available To Rent: a location where all the items available for rental are stored and separated from the inventory available for sales. 
 2- Inventory at Customer: a location that designates items that are rented out to a customer. It is important to set ‘Make Inventory Available’ to false to make sure that the item is not rented twice or sold while it’s in the possession of a customer. 


 Figure 2 At Customer Location Setup 

 The use of inventory transfers will move items from one location to another. 

Sales Order 

Next, the Sales Order form requires certain modifications to include fields specific to the rental process. I recommend creating a new form used only for the rental process. 

 New Sales Order Fields: 

1- Return Date, a date field to specify when the return of the rental is needed. 
2- Rental Inventory Transfer, a list field used to connect the Inventory Transfer to the Sales Order. 
3- Failure to Return Price, a currency field that will have the cost to the client if he doesn’t return the rented item. 
4- Is Rental, a checkbox field used to differentiate regular Sales Order and rental Sales Orders. 


Figure 3 Sales Order Rental Fields 

To create the Sales Order, it is important to setup a non-inventory item for the actual inventory item available for rental. It is the non-inventory item that is going to be used in on the Sales Order to invoice the monthly fees. 

Billing can be setup in two different ways. You can use memorized transactions or a billing schedule if you have the Advance Billing setup in your NetSuite instance. The main difference is based on the quantity and price that is going to be setup on your non-inventory item. In the case of a memorized transaction, the price will be the cost of one period and the quantity will be the number of periods covering the length of the rental. In the case of a billing schedule, the price will be the cost of the entire length of rental and the quantity will be the percentage of each period compared to the total length of the contract. 

It is important to note that Advance Shipping is needed to have the ability to bill before fulfilment because the rental Sales Order is not actually fulfilled before the last payment is made.

Return Process 
The return process, in any case, will require an inventory transfer from the At Customer location back to the Rental location. An additional location can also be created to inspect the item before making it available for rental again. 

In the case of a return at the end of the contract, the Sales Order will be fully invoiced and closed. 

If there is no return, a new Sales order need to be created to bill the actual inventory item with the failure to return price. 


Figure 4 Rental Process in NetSuite 

And there you have it; your NetSuite instance is now able to handle a rental workflow. Simple isn’t it? Happy Renting!

Author: Nader Hanna

1 comment:

  1. Great write-up Nader and a nagging issue our NetSuite SyncApps clients face when needing a rental workflow.

    I am sending them here to take a look for sure.