A 500g pack and a 1kg pack carry different printed prices and different margins. Systems holding one price per product push the difference onto your counter staff.
Walk into any grocery, pharmacy or pet store and pick up two sizes of the same product. Different printed price, different price per unit, and — almost always — a different margin for you.
Now look at how most retail software models that. One product, one price field, and a note in someone's memory that the big pack is billed differently.
The override is where margin leaks
When the system holds one price, staff override it at the counter. Every override is a chance to type the wrong number, and there is no record distinguishing a deliberate discount from a mistake.
Worse, the reporting is now fiction. If the system thinks every unit sold at the base price, your margin report is measuring something that did not happen.
MRP belongs to the pack, not the product
The correct model records MRP per unit of measure and currency, captured at the pack you actually received. A strip, a bottle and a box each carry their own printed price. A 1kg, 3kg and 10kg bag each carry their own.
Because it is captured at goods receipt, it reflects what the supplier actually shipped — including the case where the same pack size arrives with a revised MRP printed on it.
It compounds with unit conversion
The related problem is buying in one unit and selling in another. Receive cartons, stock pieces, sell either. If conversions do not carry cost correctly, cost per unit drifts and the margin report drifts with it.
Get both right — MRP per pack and cost through conversion — and margin per line becomes a fact you can read rather than a figure you reconstruct at month end.