cancel
Showing results for 
Search instead for 
Did you mean: 

Sales Pricing Condition Discount applied only on a specific surcharge

DanailKamenov
Explorer
0 Kudos
199

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.

DanailKamenov_0-1744793803310.png

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.

DanailKamenov_1-1744794031765.png

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.

 

 

View Entire Topic
Kamboj
Discoverer
0 Kudos

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)
0100
20,0000


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)
00
20,000100 (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
00
20,000100

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

  • Order value = 19,901-19,999 → ZFRD not applied 
  • Order value = 20,000 → ZFRD = -ZFRC
  • Change freight amount → ZFRD dynamically matches ZFRC
DanailKamenov
Explorer
0 Kudos
Thanks, a version of approach 3 seems to be working fine for now.