← Running the shop
Operations Updated 4 July 2026 · 6 min read

Managing Medicine Batch Numbers & Expiry Dates: A Chemist's Guide

Why FEFO beats FIFO, a simple monthly expiry routine, and how to stop paying the distributor for stock you'll only bin.

Every expired strip on your shelf is money you already paid the distributor and can no longer sell. For most pharmacies, expiry write-offs are a bigger leak than theft or discounts — and unlike those, they're almost entirely preventable with a bit of discipline and the right tool.

Why batch tracking is different for medicine

In a grocery shop, one product is one thing. In a pharmacy, a single product — say Amoxicillin 250mg — arrives in many batches over time, and each batch has its own:

  • Batch number — printed by the manufacturer, needed for recalls and returns.
  • Expiry date — different for every batch on the shelf.
  • MRP — which can change between batches.
  • Purchase cost — which affects your margin.

If your records track only "quantity in stock" and not the batch behind it, you can't tell which units expire first, can't handle a recall cleanly, and can't return near-expiry stock to the distributor with the right details.

Sell FEFO, not FIFO

Retail runs on FIFO — first in, first out. Pharmacies should run on FEFO — first expiry, first out. The batch that expires soonest should leave the shelf first, even if it arrived later than another batch. Do this consistently and near-expiry stock clears while it's still sellable, instead of aging into a write-off.

The catch: at a busy counter, no one is reading expiry dates off strips. This is where software earns its keep — it can surface the earliest-expiring batch automatically when you add the item to a bill.

A simple expiry routine

You don't need a complex system. You need a repeatable one:

  1. Record the batch and expiry at purchase. Capture it when you receive stock, not later — it's almost impossible to reconstruct afterwards.
  2. Run a near-expiry report monthly. Pull everything expiring in the next 90–120 days.
  3. Act on that list. Push it in sales, move it to a faster-selling branch, or return it to the distributor while returns are still accepted.
  4. Write off cleanly. When something does expire, remove it from sellable stock with a dated record — you'll want the audit trail and the number for your accounts.

What good software gives you

Once batches are tracked properly, the useful things become automatic:

  • The earliest-expiring batch is picked for you at billing (FEFO by default).
  • A near-expiry report is one click, not an afternoon of counting.
  • Recalls become a lookup — find every sale of a batch number instantly.
  • Write-offs are logged with a date and reason for a clean audit trail.
  • Stock value reflects real batches and real costs, not a rough average.

How DravyaOS handles it

DravyaOS tracks stock at the batch level as standard. Every receipt records batch, expiry, MRP, and cost; billing surfaces the right batch; and near-expiry and stock-value reports are built in — all offline. You stop guessing, and you stop paying the distributor for stock you'll only end up binning.

Track every batch and expiry — offline, built for the counter.

Download DravyaOS for Windows

Related reading: the best free pharmacy billing software in India and how to build a GST-compliant medical bill.

More from Running the shop

All articles →

Give it one evening.

Install it, bring your stock across, put tonight's billing through it — free for 3 days, no card and no account needed.