Retrieval of rental item price

Background

From a pricing perspective, the rental application includes two main processes: the sale of consumables and the rental of items. The goal is to separate the pricing of these processes, while ensuring a single, consistent setup for sales item prices (consumable products), regardless of whether you sell them through a sales order or a rental agreement.

For rental items, the goal is to determine the correct price list and price for the appropriate customer and rental agreement. This involves more than just retrieving the rental price—you need to identify the correct price list for the specific agreement. You must be able to control which price list is selected using rental-specific control objects, such as country, state, customer group, customer site, or reason for creation. The key concept is to define and configure a user-definable set of rules that allows the system to locate the appropriate price list.

Solution

This solution, with the introduction of ST functions, separates rental price handling from the Sales Order (SO) module. However, discounts are still managed using 'Discount Model. Open' (SOS800).

  • 'Customer. Open Local Exceptions' (MFS610)
  • 'Customer. Open' (CRS610)
  • 'Rental Depot. Open' (STS030)
  • 'Rental Price List Table. Open' (STS012)
  • 'Rental Price List. Open' (STS017)
  • 'Serv Price List. Enter Rental Rates' (STS120)
  • 'Rental Rates. Enter Package Price' (STS125)
  • 'Serv Price List. Enter Contract Items' (SAS018)
  • 'Rental Rates. Enter Stepped Price' (STS123)
  • 'Rental Rates. Enter Meter Price' (STS124)
  • 'Rental Rates. Enter Meters Price' (STS129)

For rental pricing, the solution introduces the use of a Price List Table and a new Field Group that defines the permitted fields used in the Rental Price List Selection Matrix. Price list retrieval using the selection table follows this process:

  • The system uses a price list based on the Price List Selection Table from STAGHE
  • The selection table defaults to STAGHE according to the following hierarchy:
  1. Price list selection table per customer local exception in (MFS610).

  2. Price list selection table per customer in (CRS610).

  3. Price list selection table per rental depot in (STS030).

The solution introduces two new functions: (STS012) and 'Rental Price List Selection Table. Open' (STS831).

A new Field Group, named STPSM, must be defined in 'Field Group. Display Permitted Fields' (CRS109). This field group specifies the permitted fields for use with (STS831) and the configuration function 'Generic Object Control Table. Open' (CMS017). When you use the F4 prompt on a control field on (CMS017/E), the list displayed is based on the available fields in the STPSM field group. If you prompt with F4 again, the field group STPSM is loaded from (CRS109).

Additionally, a new function (STS017) is introduced. It combines functionality from 'Serv Price List. Open' (SOS017) and 'Sales Price List. Open' (OIS017). Related options include:

  1. (STS120) – Rental rates

  2. (SAS018) – Contract Items

  3. 'Rental Rates. Enter Package Price' (STS125) (see Restructure Rental Package Pricing).

A new field, 'Campaign ID', has been added to the header panel of the Rental Price List Header. The corresponding records are stored in the new table STPRIH.

The 'Campaign ID' field is also introduced on the rental order line (STAGLI) to enable tracking of campaign-based pricing. This facilitates follow-up through the sales statistics program OSBSTD, which monitors delivered but not yet invoiced customer and service order lines.

Additionally, a new field, 'RPLT (Rental Price List Table)', has been added to these files:

  • Customer Local Exemptions (CCUDIV)
  • Customer Master (OCUSMA)
  • Rental Depot (STDPOT)

Limitations

Discount model is still a service order function – 'Discount Model. Open' (SOS800).

This functionality is only valid for ESM&R.

Workflow

  1. Create the rental price list table in (STS012). (STS012) has these options:

    • Price lists CTRL+11
    • Control table CTRL+12
    • Text CTRL+16

    Take option 12='Control table' in (STS012) to enter (CMS017) where you set up the control objects for rental pricing, based on the field group ST SELECTION Table-Price List.

    Take option 11='Price lists' in (STS012) to enter (STS831), where you define the price lists using the control fields and priorities previously set up in (CMS017).

  2. The price lists are set up in (STS017). (STS017) has these options:

    • Short-term rent CTRL+11
    • Rental Package Rates CTRL+12
    • Contract items CTRL+13
    • Names/Language CTRL+13

    Option 11='Short-term rent' from (STS017) takes you to (STS120), where you define what is included in the price list.

  3. On (STS120) panel E, you set up the rates you want to use. (STS120) has these options:

    • Stepped Pricing CTRL+11
    • Meter Pricing CTRL+12
    • Multiple meter pricing CTRL+13

    Option 11='Stepped Pricing' from (STS120) takes you to 'Rental Rates. Enter Stepped Price' (STS123). On (STS123) panel E, you define the steps.

    Take option 12='Meter Pricing' from (STS120) to enter 'Rental Rates. Enter Me-ter Price' (STS124). On the E panel in (STS124), you specify rates for meter pricing when using only on usage meter.

    Take option 13='Multiple meter pricing' from (STS120) to enter 'Rental Rates. Enter Meters Price' (STS129). On (STS129/E), you specify rates for meter pricing when using more than one usage meter.

    Take option 13='Contract items' from (STS017) to enter (SAS018). On panel E in (SAS018), you set up the quantity and price for contract items.

    Take option 12= 'Rental Package Rates' from (STS017) to enter 'Rental Rates. En-ter Package Price' (STS125). This function handles rental package pricing (see Restructure Rental Package Pricing).

  4. Go to (CRS610) panel M to set up the Rental Price List Table on the customer. If the customer has local exceptions, you set up the Rental Price List Table in (MFS610).

  5. When you now create a rental agreement in (STS100), the 'Rental Price List Table' field in (STS100) panel F is populated from (MFS610) or (CRS610) or (STS030), but is changeable.

Flowchart

Setup

  1. Define a rental price list. The rental price in a price list is maintained in (STS017). The rental prices are defined per currency and can be limited in time.

  2. Define a price list table. A price list table uses the criteria that you define to search for the most appropriate price list. The selection criteria for retrieving a valid price list are entered in the control fields in (STS012). The control fields are ranked by priority. When a price list does not match the validity criteria set for priority 1, the criteria for priority 2 are checked, and so on. Five different control objects in 10 priorities can be defined to determine the valid price list.

    A price list table has an unlimited validity period. You can set up several price lists tables to be used for different purposes. The price list table used during rental agreement line entry is defined per customer local exceptions in (MFS610/E), per customer in (CRS610) or per division in 'Settings - Rental Agreements' (STS699) and in the same order defaulted to (STS100/F). The order category can be used as a control object (&ORCA). An item being sold through rental agreements (order category 731) or customer orders (order category 311) can thereby be priced with different price lists.

  3. Migration Programs: Fix program F11100MM45 and F11100MM59 are required to convert SPRICH to STPRIH, and this program must be run before auxiliary program 'Price List. Convert to Selection Matrix' (STS910).

  4. After the fix programs are run, the auxiliary program (STS910) is required to convert the legacy price list priority to the Rental Price List Selection Matrix (STRMTX). The job is run in batch in (STS911). But before that the Price List Table is required to be set up in advance of the data migration, and in (STS910) is that Price List Table the input field.