All articles
PharmacyOperationsInventory· 02 May 2026 · 7 min read

Pharmacy Expiry: The Silent Revenue Leak Every Hospital Pretends Isn't There

M
MyEMR Editorial
MyEMR · by Advayan

Expired stock isn't just waste — it's an audit risk and, in most hospitals, 3-6% of annual pharmacy revenue quietly going to the bin. Three things change that.

The numbers nobody publishes

In the 14 hospitals where we have visibility into pharmacy P&L, expiry-driven write-offs ranged from 3.1% to 6.4% of annual pharmacy purchase value. The hospitals at the high end had no expiry-aware reorder logic and were dispensing on a near-LIFO basis because the newer stock sat in front of the older stock on the shelf. The hospitals at the low end had three things in common — FEFO at the dispensing screen, a 60-30-7 expiry alert system, and a returnable-vs-non-returnable flag captured at GRN. None of these are exotic; all of them are absent from the average HMS.

Why it happens

  • Batch-tracking exists in the database but the pharmacist's dispensing screen shows only SKU, not the specific batch — so whichever box is in reach gets picked.
  • FEFO (first-expiry-first-out) isn't enforced; the system suggests rather than insists.
  • Reorder logic is volume-based, not expiry-aware — so slow movers get re-stocked because last month's units dispensed crossed a threshold.
  • Slow movers that are 60 days from expiry don't get flagged for return, transfer or discount until they're already expired.
  • Returnable-vs-non-returnable status from the GRN gets lost — by the time someone wants to return stock, nobody knows if the vendor takes it back.

FEFO at the till

Make first-expiry-first-out the default dispensing behaviour, not a polite suggestion. The pharmacist's dispense screen should default to the oldest non-expired batch, show the expiry date in red if it's within 90 days, and require a one-click reason to dispense a younger batch out of turn. This single change alone reduced our pilot hospitals' expiry write-offs by a third within four months.

The 60-30-7 alert

  • 60 days out — daily report to the pharmacy manager listing every SKU with expiring batches and their on-hand value. Triggers a 'should we return' decision.
  • 30 days out — flag on the procurement screen so reorder of the same SKU is blocked unless explicitly overridden.
  • 7 days out — quarantine the batch, block dispensing, and force a write-off or destruction record.

The returnable flag is gold

Most pharma vendors will accept returns up to 90-120 days before expiry, but only if the GRN logged that the stock is returnable and the vendor has not been changed. Capturing this at the moment of receipt — a single checkbox — means three months later when the system flags expiring stock, the pharmacist sees 'returnable to ABC Pharma until 12 May' on the same screen. Without that flag, the same stock just gets written off.

What dashboards owners actually need

  • Monthly expiry write-off in rupees, by branch, with year-on-year trend.
  • Top 10 expiring SKUs this month — visible to the pharmacy manager every Monday.
  • Slow movers report — items that haven't moved in 90 days and have on-hand value over a threshold.
  • Vendor return tracker — what was raised, what's pending pickup, what was rejected.

Quick wins for next month

If you only do three things: enforce FEFO at the dispense screen, turn on the 60-day expiring-stock report, and capture the returnable flag at GRN. We've never seen these three combined and the expiry rate not drop by at least 40% within a quarter. None of it is glamorous. All of it pays for the rest of the HMS.

Share this article

Keep reading

All articles →
© 2026 MyEMR. All rights reserved.
Powered by Advayan