Pricing Rule (Add Margin) Not Working

Hi Community, I am attempting to create a Pricing Rule that automatically adds 20% margin from my purchasing price to sell to my customers in Customer Group, ‘Malaysia Tier 1’.

As you can see the screenshots below, it is not working. The Sales Order doesn’t generate the selling price. Please help

Pricing Rule screenshots:

Doesn’t mark up 20% margin from buying price list


Thanks for reporting this Pricing Rule of Adding Margin isn't working · Issue #20791 · frappe/erpnext · GitHub

Note this lists several bugs that relate to discount not margin Pricing rule alot of bugs

It adds a margin on the rate set in the Sales Order. Kindly set a rate for the item first over which 20% margin will be applied.

Hi @michelle, I don’t really get what you meant by:

From what I understand after going through the user manual, this ‘Margin’ feature allows us to increase X% margin from our buying price to sell to our customers for X% profit. This feature is critical for businesses that trade in volatile pricing items.

Hence, I don’t think, as per your advice, setting a rate (which is a fixed rate) for the item can solve my problem here. Perhaps, I misunderstood your advice here or I have misunderstood the whole user manual:
I picked this in the [user manual](Pricing Rule)

and also in the [‘Adding Margin’ user manual](

Have you set up the Item Price for this item? Seems the item price isn’t set for this item for the set price list. Could you please check and confirm the same?

Yes, I have; I have set the buying price for this item. The price I set is the current price I get from supplier which will be changed from time to time. Hence, this ‘Margin’ feature is critically important because I wanted the system to automatically put ‘X’ profit margin to sell for every item I bought.

Can you check the price list in the Sales Order? It is in the Currency and Price List section. Check the item price for the price list set in the Sales Order. The system will add margin on that item price.

This is the price list in the Sales Order:

Perhaps I should give you more context on what I want to achieve:
My company is buying an item, ‘Parts-01’ at $5.00 from suppliers (set in Standard Buying price list).

We wanted to sell this item, let’s say, for 20% profit margin (from our buying price) to our customers in ‘Tier A Customer Group’ (hence, we will use Tier A Selling price list).

  • $5 + 20% = $6 selling price
  • If our buying price increased to $6.00, then the selling price for Tier A customers should automatically increase to $7.20 (still 20% margin)

The same thing to apply for customers in ‘Tier B Customer Group’, we would sell for 40% profit margin (hence, we will use Tier B Selling price list)

1 Like

per my experience, same price list which activated for both buying and selling to be used, you can differentiate customer by customer group to apply different margin %. let us know the result.


When I am using Promotional Scheme Price Discount it is going applying the price discount. Instead it throws an error i.e., Row 1: user has not applied the rule [Rs 2 Discount per nos/0003] on the item FCM001

Can someone help here?

Hi there, can you show us some screenshots?

It’s resolved after changing the priority in pricing rules.

@michelle As I understand,
The margin feature mentioned in docs does not implement as it should.
as @Raymond_Liew mentioned above, this is a very basic use case in every retail business.

Item buying price getting updated from time to time. so we should have a proper automatic solution to add selling price based on buying price automatically, without adding it manually for all items.

If the “margin feature” work as we expect it should be,

  • Add selling price based on relevant items buying price. (but currently, it adds selling price based on selling price
    Ex: Rate = Price List Rate( this should be buying price but it works only for selling price) + Margin rate )

@-szufisher if you have a proper solution for this please let us know.

I am still facing this issue.