Recently I am doing a project based on Hybris Commerce(On-Premises) related to order discount scenario. During the project we have explored several different approaches to achieve the discount aim, and I list them here in case any other friends need to do the same as well.
Approach1: leverage the Customer Coupon feature available in b2c_china recipe
According to SAP help, b2c_china recipe is needed to use Customer Coupon module.
Those related Addons mentioned in SAP help above could be found from b2c_acc recipe's build.gradle:
The idea of this approach is to use customer coupon which is directly visible to end user, which leverages powerful promotion rules under the hood.
In Hybris backoffice,create a new Customer Coupon "jerrycoupon" under menu Marketing->Coupon Management->Coupons:
Enable "Assignable in ASM" flag so that it could be found by service agent in ASM(Assisted Service Module).
So far this coupon isn't linked to any promotion rule, so I create one now.
The promotion rule "jerry_coupon_promotion" is created:
For promotion condition, I maintain two: the rule is only activated until products belonging to category 575(digital Camera) is bought and the very customer coupon jerrycoupon is redeemed:
When these two conditions are both fulfilled, 100 yuan discount is got.
Log on to ASM and assign this customer coupon to the target user, Jerry Wang:
Now log in storefront using Jerry's account, ensure the coupon is available in menu My Account->My Coupons:
Now Jerry adds a digital camera to the shopping cart, and jerrycoupon is automatically available in the Coupon code list:
Once applied, 100 yuan discount is achieved:
Approach2: discount group + user group
Create a new discount group under menu Price Settings->Discounts->Customer Discount Groups:
The discount group itself owns no discount settings, we have to link it to a discount record, with 20% discount set.
And create a discount row to establish the relationship between discount group and discount record:
Now we will define which kinds of users can benefit from this customer discount group.
And assign the customer discount group to this user group in Prices tab:
Last but not least, assign the user Jerry Wang to this user group:
Now test in storefront, although no coupon code is used, still 20% discount is achieved thanks to the customer discount group mentioned via this approach.
Approach3: manually set order discount in backoffice
Create a order with total price = 100 yuan.
This order is visible in storefront:
And maintain the discount setting in Positions and Prices tab:
Once recalculation is done, we get expected 10% discount.