Pricing in SAP S/4HANA Cloud for Service

Introduction: Pricing procedures play a crucial role in any ERP system, allowing organizations to set and calculate the prices of their products and services accurately. In SAP S/4HANA Cloud, pricing is one of the most complex topics as it involves using various components such as condition tables, access sequences, pricing procedures, and condition types. These components are tightly interdependent and work together to constitute condition techniques. In this blog post, I want to first introduce these terminologies and explain their significance in price management. I’ll later demonstrate an example of a possible business requirement in the Service Line of Business, where you have to adapt the standard pricing procedures fulfill a specific pricing requirement that a customer may have. For a deep dive into the topic of pricing, please take a look at this blog post.

Terminologies in SAP S/4HANA Cloud Pricing:

  1. Condition Table: A condition table in SAP S/4HANA Cloud is a collection of fields that define the criteria for determining prices. It consists of specific attributes such as customer, material, and sales organization. Condition tables help establish relationships between condition types and access sequences, enabling the system to fetch relevant pricing data during pricing calculations.
  2. Access Sequence: An access sequence defines the order in which condition tables are accessed to determine the price for a particular condition type. The access sequences search for valid condition records in order from most specific to most general.
  3. Pricing Procedure: A pricing procedure (a.k.a calculation schema) is a collection of condition types arranged in a specific sequence. It determines how prices are calculated and displayed for a specific business transaction. By defining the sequence of condition types, the pricing procedure controls the order in which prices are calculated and displayed.
  4. Condition Types: Condition types represent different pricing elements such as discounts, surcharges, taxes, or any other factors affecting the final price. Each condition type is assigned to an access sequence and is responsible for fetching the relevant condition records from condition tables and applying the necessary calculations to derive the final price. SSCUI #101120
  5. Condition master record
    In the condition master record, you set the master data for the different condition types. This is done using the Fiori app “Set Material Prices – Sales”.

Now that we’ve covered the basic terminology, let’s look at an example of what a business requirement for pricing in Service Orders could look like. Generally speaking, there are 3 different types of items you can process in a Service Order – service products (eg. Service time provided by a service technician), service expenses (eg. Travel costs) and service materials (eg. Spare parts needed for a repair). For the second category of service expenses (SRV_02), the out-of-the-box pricing procedure in S/4HANA Cloud involves the service technician providing a manual expense amount (condition type PMP0), which overrides the standard price (PPR0) in the system for that particular expense item. For example, if the condition type PPR0 maintains a material price of 30€ for the expense item SRV_02, this will get overridden by the manual input (PMP0) of the actual expenses (costs) incurred during the Service confirmation. In simple terms, for SRV_02, the costs incurred for the expense item are at the same time the price that is billed to the customer for this expense item. This is how the standard pricing procedure is setup for SRV_02.

In reality, a business could have their own pricing requirements as to how they want to go about billing their customers for service expenses incurred. In this next part, I want to illustrate a specific scenario, wherein the service providing company would like their billing price for expense items to have a 10% margin compared to the costs of the service expense item.
So instead of Billing price = Costs (standard pricing procedure), the service provider would like to have Billing price = Costs * 1.1 (custom pricing procedure).

Let’s now explore the steps involved in creating a new custom pricing procedure for Service orders based on the pricing rule stated above.

Step 1: Create a new Condition table (SSCUI 103119)

Create a new condition table using the SSCUI 103119 and select the required fields from the field catalog. For my example, I have chosen Sales Org., distribution channel and customer number. The new condition table created is 901.

Step 2: Set access sequence Z901 (SSCUI 103121)

Create a new access sequence. It is recommended to use the number of the condition table created previously prefixed with a ‘Z’ (Z901).

After creating a new entry under access sequence, select the entry and click on Accesses. In the Accesses section, enter the condition table number 901 and hit Enter. The necessary fields will automatically get copied over from the condition table.

Step 3: Set condition types for pricing (SSCUI 101120)

The next step is to create a new custom condition type, which we can assign to the newly created access sequence Z901. Since the condition type should emulate a surcharge on the gross price amount, I can create a copy of the standard condition type DRG1 which represents a surcharge.

Step 4: Set pricing procedures (SSCUI 101117)

Create a new pricing procedure to be used in Service orders. For this, copy the existing standard pricing procedure A10018 and create a copy of this. Staying consistent with the naming, I will name this new custom condition type ZPR901. 

Now comes the crucial step in our process. Between the conditions DRG1 and DRN1, add a new step where our new condition type will be inserted. Copy the values for the other columns as shown below. We have now essentially appended the new service surcharge into the pricing procedure for service orders.

Step 5: Set pricing procedure determination (SSCUI 101118)

After having created the new pricing procedure in the previous step, we have to change the pricing procedure determination so that ZPR901 is used in service orders instead of the standard procedure A10018. This is configured in the SSCUI 101118.

Step 6: create condition master record for newly created condition type Z901 from Step 3

The final step is to create the condition master record for the newly created condition type Z901. In the app “Set Material Prices – Sales”, enter the condition type Z901 and fill in the Sales Org. and distribution channel for which the pricing should be valid. Click execute and in the detail screen, maintain the following values. With this, the newly created pricing procedure will come into effect for all service orders for the Customer 10100022.

The litmus test: We can now validate the new pricing procedure by creating a new Service order for the customer 10100022. Et voilà – our new pricing procedure with the 10% surcharge on top of the base price is active.

Conclusion: Pricing procedures are vital in SAP S/4HANA Cloud for determining accurate prices for products and services. By understanding the concepts of condition tables, access sequences, pricing procedures, and condition types, consultants can configure pricing procedures in accordance with the specific business requirements of the customer.

Original Article:

Related blogs


Please enter your comment!
Please enter your name here