on 2025 Apr 16 10:05 AM
Hello, I am trying to set up a complicated discount condition in my pricing procedure and I am having issues. The request is: when the gross value of the order reaches XXX EUR, then there should be a 100% discount applied on specifically condition ZFRC.
For this discount I have set up discount ZFRD and created a scale for it, in which it is indicated that after XXX EUR is reached, 100% discount is applied with ZFRD. I have assigned alt condition base 5 to ZFRD, which holds the gross value or the order.
The problem is that this 100% discount gets applied to the whole order, not just to ZFRC.
In this example the order value pre-freight is 20,000, while the freight is 100. The result I am looking for is that the condition value for ZFRD is -100 and the end result in Net Value 2 is 20,000.
I have also tried assigning alt condition base 19 to ZFRD, so that it looks at the freight cost stored in KZWI4, but in that case the condition stops taking into account the gross value of the order, so it doesn't work.
Please assist.
Request clarification before answering.
HI @DanailKamenov
I understand that you have requirement that if the gross order value (excluding freight) reaches a defined threshold (e.g. 20,000 EUR), then apply a 100% discount only to the freight condition (ZFRC).
There can be multiple solutions to achieve this requirement and three of then are detailed below:-
Approach 1: Using Freight Scales (No New Condition is needed)
If the freight charge is fixed or can be scaled simply, you can maintain a scale directly on ZFRC with pricing scales.
Maintain Scales in ZFRC:
From Value (EUR) | Amount (EUR) |
0 | 100 |
20,000 | 0 |
Approach 2: Using a Separate Amount Freight Discount Condition (ZFRD)
Use a new condition type ZFRD that only applies when the gross order value threshold is reached. ZFRD will apply a fixed amount discount equal to the freight cost (ZFRC). Here you will need to maintain ZFRD in scales with same amount as of ZFRC like once 20,000 EUR amount is reached then discount of 100 EUR is applied.
Maintain Scales in ZFRD:
Example:
From Value (EUR) | Amount (EUR) |
0 | 0 |
20,000 | 100 (same as ZFRC) |
Approach 3: Using a Separate Freight percentage Discount Condition (ZFRD) with custom routine
Use a new condition type ZFRD that only applies when the gross order value threshold is reached(using scale).
Maintain Scales in ZFRD:
Example
From Value (EUR) | Percentage |
0 | 0 |
20,000 | 100 |
Create Custom Routine in Alternative Calculation of Condition Amount to:
Check if the scale % is 100
Retrieve the value of ZFRC from the condition lines
Apply 100% of ZFRC as the condition value for ZFRD
For implementing the custom logic below link can be referred
https://help.sap.com/docs/SAP_S4HANA_CLOUD/a376cd9ea00d476b96f18dea1247e6a5/f90a91ef60d345b0aa49e919...
Important scenarios to be checked during testing
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
102 | |
15 | |
9 | |
7 | |
4 | |
4 | |
3 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.