Skip to content

25 August 2026 · TechSlideITS

Expiry, batches and the money sitting on your pharmacy shelves

Expired stock is not a stock problem. It is a visibility problem that only becomes a stock problem on the day you count it.

Every pharmacy owner knows roughly what expiry costs them. Very few can say which items, from which supplier, in which month — and that gap is the whole problem.

Expiry is not really an inventory failure. It is a visibility failure that turns into an inventory failure on a specific date.

Why batch-blind stock is the root of it

Most small pharmacies track stock by item: so many strips of a given medicine. That is enough to bill and enough to reorder, and it is why the practice persists.

What it cannot tell you is which strips. Two batches of the same item, bought three months apart, expiring seven months apart, are one number on the shelf and in the system. There is no way to know that a portion of that number is about to become worthless.

Batch-wise stock changes what is knowable. Each batch carries its own expiry, so the system can answer the question that matters: what is going to expire, and when.

The dispensing habit that quietly costs money

Where stock is batch-blind, dispensing is whatever is nearest to hand. Older stock migrates to the back of the shelf and stays there.

Dispensing oldest-expiry-first — first expired, first out — is obvious once stated and almost impossible to do consistently without the system telling you which batch to pick. It is not a discipline problem. Nobody can remember expiry dates across a thousand line items.

The returns window most pharmacies miss

This is where the real recoverable money sits.

Most suppliers accept returns of near-expiry stock, but only within a window before the expiry date, and that window varies by supplier and by agreement. Miss it and stock that could have been returned for credit becomes a write-off.

Catching it requires knowing, months ahead, what is approaching expiry — which requires batch-wise stock. This is the single clearest return on tracking batches: not less expiry, but more of it recovered as credit instead of loss.

What to watch, and how often

  • Near-expiry by month — what expires in the next 30, 60 and 90 days, reviewed weekly rather than discovered
  • Value at risk — the same list by rupee value, because ten expensive items matter more than a hundred cheap ones
  • Expiry by supplier — chronic offenders usually indicate over-ordering or short-dated supply, and both are negotiable
  • Non-moving stock — items with no sale in a defined period, which are tomorrow's expiry

Ordering is where expiry is actually created

Worth being direct: expiry is caused at purchase, not at expiry. Stock expires because more was bought than could be sold before the date.

That is usually one of three things — a scheme that made bulk buying attractive, a reorder quantity set once and never revisited, or ordering by memory rather than by consumption. Only the first is a genuine judgement call. The other two are fixable with a reorder level based on actual movement.

The compliance side, briefly

Alongside the commercial case, batch-wise records are what let a pharmacy answer a regulatory question — which batch was dispensed, to whom, when — and maintain the registers required for scheduled drugs.

Requirements vary by state and by category, and should be confirmed against your own licensing conditions rather than assumed. But the underlying data is the same data expiry control needs: batch, quantity, date, patient. Getting it for one purpose gets it for both.

Where to start

  1. Move to batch-wise stock with expiry dates captured at receipt — nothing else works without it
  2. Let the system suggest the batch to dispense, so first-expired-first-out happens by default
  3. Run a weekly near-expiry review and act inside supplier return windows
  4. Set reorder levels from actual movement, and revisit them

Steps one and three recover money almost immediately. Step four stops creating the problem.

If you want to see this against your own stock, see how our pharmacy and lab system handles batches or book a demo.

FAQ

Frequently asked questions

Because item-level stock cannot tell you which units are about to expire. Two batches of the same medicine bought months apart are one number on the shelf, so there is no way to see that part of it is about to become worthless. Batch-wise stock carries an expiry per batch, which makes near-expiry visible in advance.

First expired, first out — dispensing the batch with the nearest expiry first. It is obvious in principle and nearly impossible in practice across a thousand line items, because nobody can remember expiry dates. The system has to suggest the batch at the point of dispensing, otherwise staff pick whatever is nearest to hand.

Most suppliers accept returns of near-expiry stock within a window before the expiry date, varying by supplier and agreement. Knowing months ahead what is approaching expiry lets you return it for credit instead of writing it off. This is usually the largest single recovery from tracking batches.

Buying more than can be sold before the date — usually a bulk scheme, a reorder quantity set once and never revisited, or ordering from memory rather than from consumption. Expiry is created at purchase, so reorder levels based on actual movement address the cause rather than the symptom.

Yes. Batch-wise records let a pharmacy answer which batch was dispensed, to whom and when, and support the registers required for scheduled drugs. Requirements vary by state and category and should be confirmed against your own licensing conditions, but the underlying data is the same data expiry control needs.

Want ERP that fits your business?

Book a free demo and see how TechSlideITS ERP works for your industry.

Chat on WhatsApp
Pharmacy Batch Expiry and Stock Control | TechSlideITS