Pricing management : Margin component price adjustments

Posted by

Defining the base price was the first thing to do after understanding the key concepts of this new Pricing module. Now, before applying different type of discount, it’s possible to adjust the base price (positively or negatively), per amount or percentage. Any combination with different Margin component price adjustments occurrence is possible.

Use case for the demo

Let me introducing my sample data for today. I’ve 2 items, 2 bikes.

I also have 2 customers.

The base price populated is 150 $ on any sales order before adjustment.


A new price component codes is required, with the Margin component value for Price component.

I haven’t put any specific filter but the bike filter for lines and “cust” customers for headers.

Then, from Pricing management > During-sales pricing > Margin component price adjustments, you will have to create a new record, and retrieve the previous price component code.

You will define here the adjustments. If you want to setup quantity thresholds, activate the Quantity tier checkbox.

From the Header price attribute group, I have taken into account only CUST_YRD_2 by using the exclude / include option.

Concerning lines, the bikes are included.

On each line, the adjustment has to be setup. In my example, by an amount of 10 $

The status has to be enabled, and it will be the same for each discount.

Last thing not to forget : check the margin price component code has been added in the Price component code list of each tree.

Tests on sales orders

Use case 1

Creating a new sales order for CUST_YRD_2 and adding the 2 bikes.

Prices have been 10 $ adjusted. The price details form is displaying the margin price adjustment.

Use case 2

I will now add a second adjustment only applying on the BIKE2 item to see how adjustments are combined, considering the concurrency model is not available here (it’s the setup which will indicate the policy for combining discounts).

For achieving this, I have to add another price component code. In this case I’ve setup Use all in header group as I’m focusing on lines.

Now I need to create a new Margin component price adjustment, and editing the line price attribute to filter for the BIKE2.

Adjustment of 10 $ is setup and the Margin component price adjustment is enabled.

Finally, the tree is updated consequently.

When creating a new sales order, the BIKE2 is now adjusted for 20 which is the result expected.

The 2 Margin component are retrieved on the line details form.

If you wish to setup the second adjustment in percentage (the first one was in amount), you will notice that adjustments are made from the base price and not applying from the last adjustment.

The engine calulate 175 $. 2 Adjustments are made from the Base price :

  • 150 $ * 10% = 15 $
  • 150 $ + 10 $ = 10 $
  • 15 $ + 10 $ = 25 $

If you want to apply them consequently (in cascade) you will have to use discount. But if you want to make some discount in cumul (10% + 20% discount making 30% instead of price * 0.9 * 0.8 it could work). Don’t forget to apply them in negative adjustement in that case.

That’s it from now. Next time we’ll see how discount are applying.


Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.