Manage Rental Contracts with Help from Sales and Distribution Functionality

  • by Anton Karnaukhov, Senior IT Manager, Pacific Coast Companies, Inc.
  • December 7, 2009
Learn the necessary sales and distribution (SD) configuration to create and manage rental contracts in your SAP ERP solution.
Key Concept
A periodic billing plan type is meant to be used with contracts and customer agreements that require predefined periodic invoicing. For example, an agreement might call for the customer to be billed on the 10th of every month or once every two weeks. In contrast, milestone billing plan types are meant to be used with customer agreements that require billing to occur only after a particular portion of the contract or job has been completed. For example, you might need to bill the customer at 20%, 60%, and 100% completion. An SAP system is capable of handling both types of billing plan types. Rental agreements are typically best suited for periodic billing plan types.

Many companies have assets (including real estate and equipment) that they rent or lease to their customers for a set monthly payment. Usually these rentals are a small portion of the overall company's revenue and are not part of what is considered the core set of products and services. Instead, these rentals are in place so that those assets are not just sitting idle. There are other cases in which such rental agreements are purely internal. For example, a parent company could be the owner of all offices which in turn are rented to the various business units. Few companies that have such business scenarios are actually aware that standard sales and distribution (SD) functionality can make the management and processing of such rental agreements quite a bit easier.

The following is the process of configuring a new sales document type for a rental contract and a detailed configuration of the periodic billing plan. The periodic billing plan allows you to schedule a periodic background job that reviews all relevant rental contracts with upcoming payments and generates billing documents for the appropriate amounts. I also cover scenarios in which the payment for one of the periods or months has to be prorated and show how standard SAP functionality can easily deal with such scenarios. This article applies to anything in Release 4.0 and above.

Configuration Guide                 

Now I will introduce the steps necessary to configure the rental agreement business scenario in your SAP ERP environment. I will go through the necessary configuration in the SD module, including the creation of the billing plan type, sales document type, and item category as well as the maintenance of copy control and pricing.

Step 1. Create a contract profile. In this initial step you create a contract profile that governs the default header-level contract data on the rental agreement sales document. Follow IMG menu path Sales and Distribution > Sales > Sales Documents > Contracts > Define Contract Profiles or use transaction VOVR. Click the New Entries button in the top left corner of the screen to create a new contract profile. Provide the contract profile with a technical name, starting with character Z or Y, and a meaningful description. Follow the example in Figure 1 for the rest of the necessary configuration. Use a number of standard date rules to default some of the contract-related header data. Based on these rules, the default contract start date equals Today's Date while the default contract end date is based on the contract validity that is maintained on the sales document. Feel free to change these settings to fit your business needs. Click the save icon at the top of the screen to save your new contract profile.

Figure 1
Create a contract profile

Step 2. Create a billing plan type. Next you maintain the configuration of a custom billing plan type, which is responsible for determining the value and periodicity of the billing documents issued against the rental agreement sales document. Start by either going to menu path Sales and Distribution > Billing > Billing Plan > Define Billing Plan Types > Maintain Billing Plan Types for Periodic Billing or using transaction OVBI to access the periodic billing plan type configuration.

Click the New Entries button to create a new periodic billing plan type. Figure 2 provides an example of custom billing plan type Z2.

Figure 2
Create the billing plan type

Let me go through several key configuration settings. First, set the Start and End dates of the billing plan to equal the header start and end dates of the rental agreement sales document. By setting the Horizon option to 31, the system tells the billing plan type to bill each invoice through the end of the current month. See that the Next Bill. Date is set to equal the last date of the month (also 31). (You always enter 31 as the number is not tied to the actual number of days in a month.) This means that customers are billed monthly for any rental fees that are due through the end of the current month and that the billing date in the billing document is set as the last day of the month. This helps automate the billing process. You can leave the Next Bill. Date field blank, which requires you to manually specify the billing dates in the rental agreement. Save your configuration by clicking the save icon.

Step 3. Assign the date category. Make sure that your new periodic billing plan type is assigned to an appropriate date category, which controls how the billing documents are generated against the rental agreement sales document. Proceed to menu path Sales and Distribution > Billing > Billing Plan > Define and Assign Date Categories or use transaction OVBJ. Check to see if your custom billing plant type Z2 is assigned to the standard date category 01 (Rent). If it is not, click the New Entries button and maintain the configuration settings shown in Figure 3. Click the save icon to save your changes.

Figure 3
Assign the date category

Step 4. Create the sales document type for the rental agreement. Use transaction VOV8 or follow IMG menu path Sales and Distribution > Sales > Sales Documents > Sales Document Header > Define Sales Document Types to access sales document type configuration. Select the standard SAP sales document type MV and click the copy icon (next to the New Entries button) at the top of the screen to save a few steps. Refer to Figures 4 and 5 for an example of the new sales document type ZMV with all of the necessary configuration settings.

In Figure 4, set the Doc. pric. procedure indicator to Y, which is important in step 11. Make sure to set the Transaction group to 4 Contract, which makes this sales document type available in transaction VA41 (Create Contract). In Figure 5, note the assignment of the new billing plan type Z2 and contract profile ZMV. Enter X for the Contract data allwd. setting and save your configuration.

Figure 4
Create the sales document type

Figure 5
Create the sales document type (continued)

Step 5. Define the sales document item category. Once you’ve created the sales document type ZMV, create the necessary item category, which controls the behavior of the rental agreement at the item level. Follow menu path Sales and Distribution > Sales > Sales Documents > Sales Document Item > Define Item Categories or use transaction code VOV7. Select the standard item category MVN and click the copy icon. You are going to create a custom item category ZMVN, which is detailed in Figures 6 and 7. In this example, I assigned the custom billing plan type Z2 and entered I for the Billing Relevance option to ensure that I can invoice the rental agreement correctly. I also checked the Order qty = 1 option. Most line items on sales documents have quantity associated with them, so when it comes to rental agreement line items, the only quantity that typically makes sense is 1. Each line item usually represents a particular rented asset. Click the save icon to save the new item category.

Figure 6
Create the item category

Figure 7
Create the item category (continued)

Step 6. Define incompletion procedures (OVA2) and assign them to the sales document type and item category (VUA2/VUP2). Using incompletion procedures helps mark certain fields as mandatory at the header and item level of the rental agreement sales documents. Although the choice of fields that are marked as required on the rental agreement document can vary greatly depending on your business requirements there are a couple of common configuration steps that you need to go through. First, you need to define the incompletion procedures for sales document type ZMV and item category ZMNV by using the transaction code OVA2 or menu path Sales and Distribution > Basic Functions > Log of Incomplete Items > Define Incompleteness Procedures.


Find and Fill in Your Critical Blanks with Incompletion Procedures” by D. Rajen Iyer provides a great guide for configuring the incompletion procedure. Refer to this article for a more detailed explanation of the configuration that is explained in this step.
You might want to consider marking the contract start date (VEDA-VBEGDAT) and contract val. period (VEDA-VLAUFZ) as required at both header (sales document type ZMV) and item (item category ZMVN) levels. Once the two incompletion procedures have been defined, you assign them. Follow IMG menu path Sales and Distribution > Basic Functions > Assign Incompleteness Procedures or use transactions VUA2 (header) and VUP2 (item) to access this part of configuration.

You have a choice. You can either check the option that allows the users to save an incomplete document configuration screen of the incompletion procedure, meaning a document that doesn't have the fields that you've listed in the incompletion procedure populated, or leave it blank and force the users to populate those fields before they can save the document. I generally prefer to keep the list of fields in the incompletion procedure to a minimum but do require them to be populated before the document is saved.

Figure 8
Assign incompletion procedure to item category

Step 7. Assign an item category to the sales document type. Link to the new item category and sales document type by using transaction VOV4 or IMG menu path Sales and Distribution > Sales Documents > Sales Document Item > Assign Item Categories. Refer to Figure 9 for an example of such assignment. In this example, I have two assignments for sales document type ZMV. I need to create a separate assignment for each relevant item category group, which is a field that is assigned in the sales view of material master data. Maintain the assignments for item categories NORM (standard item) and LEIS (service item) and adjust these assignments to fit your business requirements. Save your changes.

Figure 9
Assign the item category to sales document type

Step 8. Define the copy control. Defining the configuration of copy control helps manage the flow of information between the rental agreement sales document and customer billing documents. Follow menu path Sales and Distribution > Billing > Billing Documents > Maintain Copying Control for Billing Documents > Copying control: Sales document to billing document or use transaction VTFA. 


Refer to Mitresh Kundalia’s article “Copy Control Gives You Flexibility to Manage Your SD Document Flow”  for a detailed explanation of the required copy control configuration that is necessary in this step.
Make sure that the desired copy control configuration has been maintained at both the header level between the source sales document type ZMV and the target billing document type F2, as well as at the item level for the item category ZMVN. Unless you have special business requirements in place, it is a good idea to use the standard-delivered requirements routines 001 (header/order related) at the header level configuration and 002 (item/order related) at the item level. Enter A for the Billing quantity option field at the item level of the copy control configuration, which ensures that the billing quantity is copied from the rental agreement. Also, you should enter G for the Pricing option field at the item level to ensure that the pricing is copied exactly when you redetermine taxes.

Step 9. Define the pricing procedure. The use of rental agreement and periodic billing plan functionality requires the presence of standard condition type PPSV (service price item) within the pricing procedure used in the rental agreement sales documents. For the purposes of this article, I assume that you already have a pricing procedure in place that meets your business needs for regular sales order and invoice processing. Add this condition type PPSV to your existing pricing procedure. In my example this pricing procedure is called ZPCBP1.

Use transaction V/08 or IMG menu path Sales and Distribution > Basic Functions > Pricing > Pricing Control > Define and Assign Pricing Procedures > Maintain Pricing Procedures to access the pricing procedure configuration. Simply select the pricing procedure that you would like to change and double-click the Control data node in the Dialog Structure on the left of the screen (Figure 10).

Figure 10
Pricing procedure configuration

Next, click the New Entries button and add condition type PPSV using the settings shown in Figure 11. Add this condition type in the upper section of your pricing procedure and save your changes.

Figure 11
Add condition type PPSV

Step 10. Assign the pricing procedure. Now that you've made the necessary changes to your existing pricing procedure, you need to ensure that the system will determine the proper pricing procedure in the rental agreement. By now, the pricing procedure should already be assigned to the standard billing type F2. To configure the assignment of the pricing procedure to your new sales document type ZMV follow menu path Sales and Distribution > Basic Functions > Pricing > Pricing Control > Define and Assign Pricing Procedures > Assign document pricing procedures to order types. You can also use transaction OVKK. The configuration here can vary greatly depending on your existing setup of sales organizations and customer master data, but you can refer to Figure 12 for an example of what needs to be configured.

I have assigned pricing procedure ZPCBP1 to sales organization 2600 and document pricing procedure indicator Y (remember that you used this indicator in step 4 when you created sales document type ZMV). Also set condition type PPSV to be the default pricing condition type to use when a price is entered on the rental agreement ZMV via Amount column in the item overview screen, which is handy for your end users. Click the save icon to save your changes.

Figure 12
Assign the pricing procedure

Step 11. Test your configuration. You are now ready to see it in action and run through the creation of the rental agreement and corresponding billing document to your customer (the tenant of the rental property in question). Begin by going to transaction VA41 (Create Contract). You can use Figure 13 for an example of the fields that you should use on the initial screen. Use your custom sales document type ZMV and use a sales organization to which you assigned the pricing procedure in the previous step.

Figure 13
Create contract

Users typically add the line item by either inputting the material number (900002801 in my example) manually into the Material column or searching for it by clicking into the Material column and hitting F4 on the keyboard.  The description, in this case "STORAGE RENTAL," is then automatically pulled into the sales document from the material master data (Figure 14). Doing this links the material number to the unique material master data record. This is a generic material created in advance via transaction MM01 with standard material type NLAG, which means that it does not track inventory or cost. Assign the monthly rental fee of $1,500.00 via the Amount column, which automatically creates a pricing entry with condition type PPSV for this line item.

Figure 14
Add the contract item

Take a look at the billing plan detail behind this line item. Select the line item using the square on the left side of the item and click the Bill. plan button at the bottom of the screen. Figure 15 shows what you should see. Due to the billing plan type configuration in step 2, the billing plan start and end dates have a default from contract start and end dates, the horizon of your billing cycle has been set to the end of the current month, and the default billing date has been assigned as the 30th of June. You can also see the pro-rated amount of $1,350.00 that is due for payment. It is less than the total $1,500.00 per month rental fee because I created the contract on the 4th of June, so the due amount for the current month is pro-rated accordingly. You can now save your contract.

Figure 15
Billing plan line item detail

Once the contract is created, you can generate your first custom billing document. Use transaction VF01 to create a single billing document or transaction VF04 for mass creation via the Billing Due List. You can use the Billing Due List to create a periodic background job that picks up any rental contracts that are due for billing and generates the customer invoices. Figure 16 shows some of the input values that you can use in transaction VF04 to generate the invoice. Once you execute the transaction, you should see the rental contract that you just created, similar to the one in Figure 17. Save your invoice.

Figure 16
Generate the billing documents

Figure 17
Save the billing document

Once you've billed your rental contract, the Net Value or the current due amount of that contract will be set to $0. So what do you do when another month passes by and you want to generate your next set of billing documents to customers for their rental dues?  You run transaction V.07 (periodic billing) which executes program RVFPLA01. The purpose of this program is to go through any open contracts and update them with new due amounts based on their billing plan details. You will more than likely want to set up this transaction as a periodic background job on the first of every month, or some other meaningful interval, and let the system automatically update the contracts for you.

Anton Karnaukhov

Anton Karnaukhov is a senior IT manager at Pacific Coast Companies, Inc., in Sacramento, California. He earned an MBA degree at Heriot-Watt University and a BS/BA degree with a specialization in computer information systems at Western Carolina University. Anton has more than eight years of SAP implementation and development experience focusing on business intelligence and logistics modules in the manufacturing and resale industries.

See more by this author

You may contact the author at

If you have comments about this article or publication, or would like to submit an article idea, please contact the editor.


No comments have been submitted on this article. 

Please log in to post a comment.

To learn more about subscription access to premium content, click here.