Free AuditEnterprise AIShelfSense
Back to Blog
PharmacyOct 8, 20267 min read

Old MRP vs New MRP: Running Two Batches After a Revision

When NPPA revises a ceiling price, old-MRP and new-MRP strips share a shelf. Keep MRP per batch, bill the strip you pick, and check the bill against the pack.

SE

ShelfLifePro Editorial Team

Inventory management insights for retail and pharmacy

Two strips, one shelf, two prices

Picture a typical two-counter pharmacy the week after a price revision. The same tablet sits in one bin, and some strips carry the old MRP while others carry the new one. A customer brings a prescription, the counter boy grabs whichever strip is nearest, and the billing screen shows whatever price the item master was last set to.

Sometimes the bill matches the strip. Sometimes it doesn't. And the customer is holding the strip with the printed price on it, so they'll be the first to notice.

This post covers how to run both batches cleanly until the old one's gone: keep MRP per batch, bill the batch you actually picked, sell the older batch first by expiry, and check every bill against the strip.

Where price revisions come from

Under the Drugs (Prices Control) Order, 2013, the National Pharmaceutical Pricing Authority (NPPA) fixes and revises ceiling prices for scheduled formulations and publishes them as notifications. Manufacturers then revise their MRPs, and new batches leave the factory with the new price printed. NPPA's notifications are the reference for the exact molecule, strength and effective date, so read the notification for your product rather than relying on a WhatsApp forward.

The effect at the counter is the same whether the price went up or down. Stock already in your racks was printed before the change, and fresh stock from the distributor carries the revised figure. For a few weeks or months you're holding both.

What you're allowed to charge on the older stock is set by the DPCO and the specific NPPA notification, along with any direction from the manufacturer. Where a ceiling price has come down, check with your distributor how the old batch is being handled, because that's a legal question for the notification, not something you decide at the counter. Separately, the Legal Metrology Act, 2009 and the Legal Metrology (Packaged Commodities) Rules, 2011 bar selling a packaged commodity above its declared retail price. Whatever else you do, the bill should never be higher than what's printed on the strip in the customer's hand.

How the wrong MRP ends up on the bill

Say you run your billing off a product master with one price field per item. When the new stock arrives, someone edits that single field to the new MRP. From that moment, every old-batch strip sold gets billed at the new price, even though the strip says something else.

Now say nobody edits the field. The new batch gets billed at the old price until someone notices. Either way, one price field is trying to describe two physical realities, and it can't.

There's a second problem too. If the counter isn't recording which batch went out, your stock register drifts. The system thinks the old batch is finished when half of it's still in the drawer, or the other way round. That gap shows up at your next stock check or during an inspection, and it's hard to untangle once the batches have mixed.

MRP belongs to the batch, not the product

The fix is structural. MRP has to be stored against the batch, alongside the batch number and expiry date, and not against the product name.

For example, a batch-wise entry for one item after a revision might hold:

  • Batch number, as printed on the strip
  • Expiry date
  • MRP, as printed on that batch
  • Purchase rate from that batch's invoice
  • Quantity on hand for that batch

This is the same layout a batch-wise stock register already uses. If you haven't set one up, the batch-wise pharmacy stock register format walks through the columns, and the pharmacy stock register template gives you a ready sheet. The only discipline you're adding is that MRP gets entered at receiving, copied from the strip itself and not from memory or last month's invoice.

Billing the batch actually picked

At the counter, the rule is simple: the batch on the bill is the batch in the bag.

On paper billing, that means writing the batch number on the bill and pulling the MRP from that batch's line in the register. On software that supports batches, it means choosing or scanning the batch at the moment of sale instead of letting the screen pick a default. Under GST invoicing for pharmacies, batch and expiry details already belong on the bill, so you aren't adding a step. You're just making sure it's done honestly. The GST invoicing guide for pharmacies covers the invoice fields themselves.

If the counter staff can't tell the batches apart at a glance, help them. Keep the old-MRP and new-MRP strips in separate boxes inside the same bin, with a small handwritten slip on each showing the batch number and MRP.

Free template

Get the free Schedule H1 register template

The exact 8-column register format inspectors check, as a print-ready Excel file — with the filling and correction rules on a second sheet. See what's inside.

Instant download. No spam, unsubscribe in one click.

Which batch goes out first

Price doesn't decide which strip leaves first. Expiry does. When the old-MRP batch is also the older batch, first-expiry-first-out and "clear the old price first" end up pointing the same way.

Not always, though. Say a distributor sends a new-MRP batch that happens to carry a shorter expiry than some old-MRP stock you bought in bulk. Expiry still wins. Selling the longer-dated old stock first just to get rid of the old price is how you end up with a carton of expired new-MRP strips six months later. If your shop still rotates by arrival date, FEFO vs FIFO for Indian pharmacies explains why that matters more for medicine than for most goods.

The bill-against-strip check

This is the step that catches everything else. Before the bag is handed over, someone looks at three things:

  • The batch number on the bill matches the strip
  • The MRP on the bill matches the MRP printed on the strip
  • The expiry on the bill matches the strip

It takes a few seconds per item. During a revision window, make it compulsory for the affected items only, so the queue doesn't slow down for everything else. Keep a short list taped near the billing counter of molecules that currently have two prices on the shelf, and take each one off the list once the old batch is gone.

Worked example: one revision, two batches

Worked example: suppose you stock a blood-pressure tablet and NPPA notifies a revised ceiling price. You have 40 strips of batch A at the old MRP, expiring first, and the distributor delivers 60 strips of batch B at the new MRP.

At receiving, batch B gets its own register line with its printed MRP. Batch A's line stays exactly as it was. Nobody overwrites anything.

On the shelf, the two batches sit in separate boxes in the same bin, with batch A in front because it expires first. The tablet goes onto the two-price list at the counter.

At billing, every sale records A or B. The check confirms the strip and the bill match. After batch A's 40 strips are sold, the register shows A at zero, the physical box is empty, and the tablet comes off the list. If the register says zero but there are still strips in the box, you've found a billing error while it's still small enough to trace.

Doing this on paper

A paper register handles this fine for a handful of revised items. Separate lines per batch, MRP copied from the strip, batch number written on every bill, and a weekly look at which old batches are still open. The batch tracking guide for pharmacy expiry management covers the routine around it.

Where paper struggles is volume. When a single notification touches many molecules at once, the two-price list gets long, the counter gets busy, and the check is the first thing that gets skipped. It also can't warn you when an old-MRP batch is sitting close to expiry while the newer stock keeps moving.

Free pharmacy diagnostic

How much expired stock is on your shelves right now?

Upload your stock register or purchase CSV. ShelfSense reads the batch expiry dates and shows what is expiring soon, what has already expired, and what to return first. 60 seconds, no signup.

Run the free pharmacy audit

If you'd rather the system held it

ShelfLifePro serves pharmacies and keeps stock at batch level, so two MRPs on the same medicine stay as two separate records rather than one overwritten field. If you'd like to see how that works on your own stock, there's a 14-day free trial, no credit card required.

SE

ShelfLifePro Editorial Team

The ShelfLifePro editorial team covers inventory management, expiry tracking, and waste reduction for pharmacies, supermarkets, and retail businesses worldwide.

See what batch-level tracking actually looks like

ShelfLifePro tracks expiry by batch, automates FEFO rotation, and sends markdown alerts before stock expires. 14-day free trial, no credit card required.

Newsletter

Get the monthly expiry brief

One short email a month, only when there is something worth reading. FEFO tactics, markdown math, and stories from Indian retailers. No spam.

No spam. Unsubscribe in one click. Email only, no WhatsApp spam.

WhatsApp tips

Get expiry tips on WhatsApp

Leave your number and we say hello on WhatsApp, then share expiry-tracking tips for Indian retail now and then — FEFO, markdowns, monsoon stock. No broadcast lists; reply STOP any time.

Reply STOP anytime. We never share your number.