Price lists, Item Standard Rates, Selling Rates and Batches

Hello community,
We operate a pharmaceuticals business where the products price change regularly due to multiple factors such as transportation, storage, expiry date, trends, etc…
We usually purchase products at a rate then assign a selling price for that product for our sales team. The issue is that the same product is purchased at a different rate everytime.

I know that this is already a feature in ERPNext but I want your suggestion on the best approach to handle this so we won’t have any errors.

Any help is appreciated

Some questions I have on mind.

  • What should be the standard selling rate for a newly created product? Pharmaceuticals rates are very changeable we don’t have any standard rate.
  • How to assign a new price to a product without affecting old invoices
  • How to assign a different overbilling or discount rate based on the purchase rate
  • While creating some sales orders, for example the standard selling rate is set to 10 but at the time of invoice creation product price was 12, when I modify the rate it shows as a negative discount on print

Anyone can assist in this

It is not compulsory to define standard selling rate at the time of Product creation. You can define the selling rates before you decide to start selling that item. At that time you can consider your landed cost for that product and after adding margins you can set the selling price.

Assigning new price to product will not affect your old invoices.

You can accomplish this via Pricing Rule - Pricing Rule


So can you further explain this because I am totally lost.
I have already imported my items to erpnext and have populated the field “Standard Selling Rate” which apparently created a new “Item Price”.

Also I have already set my items to create a new batch on every item receipt generated against a purchase order.

My confusion is how can I set a profit margin %, discount margin % and overbilling margin % which automatically applies on the purchase price of the specific batch …

I hope this makes sense…
Please assist me in this