Pricing
SD / O2Cadvanced

SD Pricing Part 6: Condition Exclusion, Group Conditions and Scales in Depth

Key takeaway

Control which discounts apply when several are found (condition exclusion groups and procedures such as best price), cumulate quantities across items with group conditions and group keys, and use scales correctly with group conditions for mixed-material orders.

Explanation

📌 KEY POINTS
✅ Condition exclusion decides between competing conditions: e.g. the customer gets the best of several discounts, not all of them.

✅ Exclusion groups contain condition types; the pricing procedure assigns groups with an exclusion procedure (e.g. best condition within/between groups).

✅ Group conditions cumulate the scale base across items (e.g. total quantity of all items with the same material pricing group).

✅ The group key routine defines which items belong together (e.g. same material pricing group).

⚠️ Without group conditions, each item reaches its scale level alone — customers ordering many small lines miss volume discounts.

━━━━━━━━━━━━━━━━━━━━
▶ WHERE WE ARE

Part 5 covered header and statistical conditions. Now interactions between conditions and items.

━━━━━━━━━━━━━━━━━━━━
▶ 1. CONDITION EXCLUSION

  • Define exclusion groups and assign condition types to them.
  • Assign groups to the pricing procedure with a procedure:

– best condition within a group,
– best condition between two groups,

– exclusive (first found wins), etc.

  • Losing conditions stay visible as inactive.

━━━━━━━━━━━━━━━━━━━━
▶ 2. EXCLUSIVE ACCESS VS EXCLUSION

  • Exclusive in access sequence: stops search within one condition type.
  • Exclusion groups: choose among different condition types.

━━━━━━━━━━━━━━━━━━━━
▶ 3. GROUP CONDITIONS

  • Flag in condition type; optional group condition routine.
  • Scale base cumulated across items of the group.
  • Header conditions HB00 use group logic for distribution.

━━━━━━━━━━━━━━━━━━━━
▶ 4. SCALES WITH GROUPS

  • Example: discount scale by quantity for material pricing group 01 — items A (40 PC) and B (70 PC) together reach 110 PC.
  • Rounding differences distributed with group conditions.

━━━━━━━━━━━━━━━━━━━━
▶ 5. TESTING

  • Test combinations: several discounts found, mixed items, partial deliveries (repricing effects on billing).

━━━━━━━━━━━━━━━━━━━━
▶ STEP BY STEP

  1. Define an exclusion group with two discount types and best-condition procedure.
  2. Create records for both and check which wins.
  3. Set a discount as group condition with material pricing group.
  4. Test mixed-item orders against scales.

✅ CHECKPOINT: the customer receives only the better discount, and volume discounts apply across items of the same group.

Code example

ABAP Code
===== STEP 1: condition exclusion (SPRO > Sales and Distribution > Basic Functions > Pricing >             Condition Exclusion) =====Define condition exclusion groups           (OV31)   Z001 "Customer discounts"Assign condition types to exclusion groups  (OV32)   Z001: K007, K005, ZD01Assign groups to pricing procedure          (OV33)   ZVAA01 | procedure A (best condition within group) | Z001 ===== STEP 2: group condition =====V/06 K029 (material pricing group discount): Group condition X, scale basis quantityItems: M-1 (group 01) 40 PC + M-2 (group 01) 70 PC → scale level 110 PC applies to both ===== STEP 3: check =====VA03 > item > Conditions > Analysis: inactive conditions (lost exclusion) visible with reason

Real project scenario

A wholesaler granted a customer discount, a promotion discount and a price-list discount, all found and added together for some customers, giving margins below cost. The intended rule was "best of customer or promotion, plus list discount". The team created an exclusion group for customer and promotion discounts with "best condition within group", left the list discount outside the group, and added VPRS-based margin monitoring. Negative-margin orders disappeared.

Common mistakes

  • Assuming discounts exclude each other automatically.
  • Confusing exclusive access with condition exclusion.
  • Forgetting group condition flag for scale-based discounts across items.
  • Not testing mixed-item orders.
  • Ignoring inactive conditions in analysis.

Best practices

  • Write the discount rules in business terms first, then model exclusion.
  • Use group conditions for volume-based discounts.
  • Test combinations and mixed orders systematically.
  • Monitor margins with statistical cost.
  • Document exclusion groups and procedures.

Interview angle

Questions: "How do you give a customer only the best of several discounts?", "What is a group condition?", "Difference between exclusive access and condition exclusion?"
Strong answer: exclusion groups with best-condition procedures in the pricing procedure; group conditions cumulate scale base across items with a group key; exclusive stops the access search within one condition type, exclusion chooses between condition types.

Practice this lesson

Quick check

1. A customer should receive only the better of a customer discount and a promotion discount. How is this configured?

2. Three items of the same material pricing group together exceed a discount scale, but each item alone gets only the lowest level. What setting is missing?

3. What is the difference between the exclusive indicator in an access sequence and condition exclusion groups?

Interview questions

1. What is the purpose of condition exclusion groups in SD pricing, and how do they differ from simply using requirement routines on individual condition types?

Answer it in your own words first, then compare.

2. A client wants a special freight surcharge condition to never combine with a promotional discount condition on the same order line. How would you configure this, and what shipping-related impact should you check?

Answer it in your own words first, then compare.

Practice more with Interview AI →

Reference-verified: the steps are checked against official SAP documentation and tutorials, and object and field names in the sample code are checked for consistency. The code has not been compiled or run on an SAP system by ERPClimb. Syntax marked release-dependent varies by SAP release, so check it in your own system.

More lessons in this topic

Interview questions on this topic

Related SAP topics