Configuring Condition Types for Pricing Elements

Objective

After completing this lesson, you will be able to configure various condition types to accurately represent different pricing elements such as base prices, discounts, and surcharges in SAP S/4HANA Cloud

Introductory Video

Understanding and Configuring Condition Types

Duration: 30 minutes

The Role of Condition Types in Pricing

In SAP S/4HANA Cloud, a Condition Type is a fundamental building block of the Condition Technique. It represents a specific kind of pricing element that can occur in your daily business transactions. Essentially, each price, discount, surcharge, tax, or freight charge you want the system to consider during price calculation needs to be defined as a distinct condition type.

Well-defined condition types are essential for accurately reflecting your company’s pricing strategy. They provide the flexibility to differentiate between various charges and allowances, apply them under specific circumstances, and control how they are calculated and behave within the overall pricing procedure. This lesson focuses on how to configure these vital elements.

Key Control Data for a Condition Type

When you configure a condition type in SAP S/4HANA Cloud (typically via SAP Central Business Configuration - CBC for project implementations), numerous control parameters determine its behavior. Key settings include:

  • Condition Class: This classifies the condition type. Common classes are 'B' for Prices, 'A' for Discounts or Surcharges, 'D' for Taxes, and 'F' for Freight. This classification influences how the condition is processed.

  • Calculation Type: This dictates how the system calculates the amount or value for the condition. Examples include 'A' (Percentage, e.g., a 5% discount), 'B' (Fixed Amount, e.g., a $10 surcharge), 'C' (Quantity-dependent, e.g., $2 per piece), or 'G' (Formula, for complex calculations).

  • Condition Category: This provides further classification for specific purposes. For instance, 'E' (Cash Discount), 'L' (Generally new price that re-determines subsequent conditions), 'Q' (Costing, e.g., VPRS for internal cost).

  • Plus/Minus Indicator: Determines if the condition amount is positive (surcharge), negative (discount), or can be either. For example, discounts usually have a negative indicator.

  • Access Sequence (Optional): This links the condition type to a search strategy for finding condition records. If an access sequence is assigned, the system will try to determine the condition value automatically. If left blank, the condition type is typically intended for manual entry.

  • Item Condition vs. Header Condition:

    • Item conditions apply to individual line items in a document. Most pricing elements are item conditions.
    • Header conditions apply to the entire document and are typically distributed among the items.
  • Group Condition: If set, the condition value is calculated based on a cumulative value from multiple items (e.g., a discount based on the total quantity of all items in a group).

  • Manual Entries: Controls the extent to which the condition type can be processed manually in a sales document (e.g., cannot be changed, manual entry has priority).

  • Scales: Defines if scales (e.g., quantity scales, value scales) can be used with the condition type to determine different rates based on different base values.

Standard vs. Custom Condition Types

SAP S/4HANA Cloud delivers a wide range of pre-configured standard condition types to cover common pricing scenarios (e.g., PPR0 for price, DM01 for material discount, standard tax conditions). Before creating a new condition type, it is crucial to check if a standard one can meet your business requirement, perhaps with minor adjustments to its settings.

If a standard condition type is not suitable, you can create custom condition types. The best practice for creating custom condition types is to copy an existing standard condition type that closely matches your needs and then modify its parameters. Custom condition types should be named within the customer namespace (starting with 'Z').

The Process of Defining Condition Types

Defining new custom condition types or modifying existing ones is a core configuration task. In a project setting for SAP S/4HANA Cloud (3-tier landscape), this is primarily managed through SAP Central Business Configuration (CBC).

The general (high-level) process involves:

  1. Clearly defining the business need for the pricing element (e.g., a new type of customer loyalty discount).
  2. Checking if any standard condition type can be used or adapted.
  3. If a new type is needed, accessing the relevant configuration activity (SSCUI) for condition types within your CBC project (e.g., General Business DataPrice ManagementSales PricingSettings for Pricing in SalesSet Condition Types for Pricing in Sales).
  4. Deciding whether to create a new entry or copy an existing, similar standard condition type (copying is recommended).
  5. Assigning a unique ID (e.g., YL01) and a descriptive name for your custom condition type.
  6. Maintaining all the necessary control parameters as discussed earlier (Condition Class, Calculation Type, Access Sequence, Plus/Minus, Item/Header flags, etc.) according to the requirement.
  7. Saving the new condition type definition.
  8. This new or modified condition type, once defined and confirmed in CBC, will be part of a deployment to your S/4HANA Cloud development system and subsequently transported through your landscape.
  9. After deployment, the condition type needs to be included in the relevant Pricing Procedures to become active in sales transactions.
A conceptual mockup of a configuration screen for defining a Condition Type. It shows fields for Condition Type (e.g., YL01), Description. Key control data sections are highlighted: Condition Class (e.g., dropdown: A - Discount/Surcharge), Calculation Type (e.g., dropdown: A - Percentage), Plus/Minus (e.g., X - Negative), Access Sequence (e.g., field for ZCUST), and checkboxes for Item condition, Header condition, Group condition.

Summarizing Condition Type Configuration

Key Takeaways for Condition Types

  • Condition Types are the building blocks representing specific pricing elements (prices, discounts, surcharges, taxes, freight).
  • Key control parameters like Condition Class, Calculation Type, and Access Sequence assignment dictate how each condition type behaves.
  • SAP provides standard condition types; custom types (Z namespace) are created by copying and adapting standard ones when necessary.
  • Definition of new condition types for projects is primarily managed via SAP Central Business Configuration (CBC) in a 3-tier S/4HANA Cloud landscape.
  • Once defined, condition types must be included in Pricing Procedures to be active.

Best Practices for Condition Type Management

  • Always analyze if a standard condition type can meet the requirement before creating a custom one.
  • When creating custom types, copy from a similar standard type and adjust, rather than creating from scratch. This ensures many underlying settings are pre-filled correctly.
  • Use clear and meaningful IDs and descriptions for custom condition types.
  • Thoroughly test any new or modified condition type in various scenarios within the relevant pricing procedures.
  • Document the purpose and configuration of all custom condition types.

Designing a Custom Surcharge Condition Type (Conceptual Exercise)

Your company, "Global Logistics Inc.", needs to implement a new surcharge for special handling of fragile goods. This surcharge should be a fixed amount added per unit of the fragile item.

Specifically, the requirements are:

  • The surcharge is $5.00 per piece for items marked as fragile.
  • It should always increase the net value (i.e., it's a positive charge).
  • It should be applied at the item level in the sales order.
  • Initially, this surcharge might be entered manually, but the company wants the option to automate its determination later based on material characteristics (e.g., a material flag indicating 'fragile').

Prerequisites

You have completed Concept "Understanding and Configuring Condition Types" and are familiar with key control parameters like Condition Class, Calculation Type, Plus/Minus indicator, and the role of an Access Sequence.

You understand the difference between standard and custom condition types and the best practice of copying from a standard type.

Steps

  1. Propose a 4-character ID (from the customer namespace Z*) and a descriptive name for this new special handling surcharge condition type.

    The ID should be unique and the name should clearly indicate its purpose.

    1. For the ID, propose a value like ZFRG or ZSHS.

      (Example: ZFRG could stand for Z-Fragile Handling Surcharge).

    2. For the description, propose a text like "Fragile Item Handling Surcharge".

  2. Based on the requirement that this is a surcharge, what Condition Class would be most appropriate for this new condition type?

    Refer to the common condition classes discussed: Prices, Discounts/Surcharges, Taxes, Freight.

    1. The most appropriate Condition Class would be 'A' - Discount or surcharge.

      Even though it's specifically a surcharge, this class covers both positive and negative adjustments that are not base prices, taxes, or freight.

  3. The surcharge is $5.00 per piece. What Calculation Type should be selected for this condition type to reflect this?

    Consider how the value is determined: as a percentage, a fixed amount, or based on quantity, weight, etc.

    1. The most appropriate Calculation Type would be 'C' - Quantity.

      This allows a fixed amount to be applied per unit of quantity (e.g., per piece).

  4. Since this is a surcharge that should always increase the net value, what should be the setting for the Plus/Minus indicator?

    1. The Plus/Minus indicator should be set to 'A' (Positive).

      This ensures the condition amount calculated is added to the value of the sales order item.

  5. The requirement states this surcharge applies at the item level. Which setting in the condition type configuration controls this?

    1. The "Item condition" checkbox (or equivalent setting) should be selected/activated in the condition type definition.

    2. The "Header condition" checkbox should be deselected.

  6. Initially, the surcharge might be entered manually, but future automation is desired based on material characteristics. What would you typically assign in the 'Access sequence' field of the condition type definition to support this future automation, even if manual entry is used at first?

    Think about how the system finds records automatically. If no access sequence is assigned, automatic determination is not possible.

    1. To support future automation, you should assign an Access Sequence that includes (or will include) condition table(s) with key fields like 'Material' or a 'Fragile Indicator' on the material.

    2. Even if condition records for automatic determination are not created immediately, having an access sequence assigned allows for their future creation and use. If no record is found by the access sequence, and the condition type allows manual entry, it can still be entered manually.

    3. If it were to be *purely* manual with no prospect of automation, the Access Sequence field might be left blank, but planning for automation usually means assigning an appropriate (even if initially empty of relevant records) access sequence.

Result

By completing this exercise, you have designed the key parameters for a new custom surcharge condition type (ZFRG - Fragile Item Handling Surcharge). You have determined its Condition Class, Calculation Type, Plus/Minus indicator, item/header relevance, and considered the Access Sequence for potential automation.

This design would be ready for actual configuration in SAP Central Business Configuration (CBC), followed by inclusion in relevant pricing procedures and the creation of condition records to implement the $5.00 per piece surcharge for fragile items.