How to reduce expired medicine losses in your pharmacy
Why pharmacies lose money to expired stock, and a practical routine using batch tracking, FEFO, tiered expiry alerts and smarter reordering to stop it.
By the RunMyPharmacy team · Updated · 7 min read
Where expiry losses come from
Expired medicine is money you paid for and can never sell. In most pharmacies the losses do not come from one big mistake but from small, repeated ones:
- Newer stock is placed in front of older stock, so the older batch sits until it expires.
- Slow-moving medicines are reordered in the same quantities as fast movers.
- Nobody notices short-dated stock until it has already expired.
- Expiry is tracked per product instead of per batch, so the oldest batch is hidden by a newer one.
Step 1: Track expiry by batch, not by product
A product is a medicine, such as a particular brand and strength. A batch is one lot of that product with its own batch number and expiry date. If you only record one expiry date per product, you cannot know that one batch expires next month while another lasts two years.
Record the batch number and expiry date for every batch you hold. This is the foundation for everything else in this guide.
Step 2: Sell first-expiry-first-out (FEFO)
FIFO (first in, first out) sells the oldest delivery first. FEFO (first expiry, first out) sells the batch that expires soonest, even if it arrived later. For medicines, FEFO is what protects you, because delivery order and expiry order are not always the same.
Apply FEFO in two places:
- In your system: stock deductions should come from the earliest-expiring batch, so your records match what should be leaving the shelf.
- On the shelf: earliest-expiring stock goes to the front, and new deliveries go behind it.
Step 3: Use tiered expiry alerts
A single alert on the day of expiry is too late. Tiered alerts give you time to act:
- 90 days before expiry: watch. Check whether the stock will sell in time at normal demand.
- 60 days before expiry: warning. Move it to the front, recommend it where appropriate, or contact the distributor about a return.
- 30 days before expiry: critical. Make a final decision: return, transfer or plan for write-off.
- Expired: remove from saleable stock immediately and record it.
Step 4: Reorder from data, not habit
Over-ordering slow movers is the main cause of expiry. Before each distributor order, look at how much of each medicine you actually sold over the last few weeks, and set a minimum stock level that reflects real demand. Order fast movers more often in smaller quantities rather than in large, infrequent orders.
Step 5: Talk to your distributors early
Many distributors accept returns or exchanges of short-dated stock, but only if you ask in time. Agree the terms when you place orders, and use your 60-day and 30-day alerts as the trigger to contact them.
Step 6: Review expiry every month
Put a short monthly review in the calendar:
- What expired this month, and why?
- Which products appear on the expiry list again and again?
- Should their minimum stock levels or order quantities change?
Over a few months this routine turns expiry from a surprise into something you manage.
How RunMyPharmacy helps
RunMyPharmacy tracks every batch with its own batch number and expiry date, deducts stock from the earliest-expiring batch at every sale, and raises shelf alerts at 90, 60 and 30 days before expiry and again once a batch has expired. The reports page lists products expiring within 30 days, and low-stock alerts are based on minimum levels you set for each product.
Try RunMyPharmacy free
Pharmacy software for Pakistan, free during early access. No credit card required.
Create your free accountRelated
Expiry & Batch Tracking
Track every medicine batch by expiry date, get alerts before stock is written off, and sell the earliest-expiring batch first.
Shelf Management
Assign shelf locations to every product, manage FEFO stock rotation, get expiry alerts and run shelf audits to keep your pharmacy organised.
Inventory Management
Medical store inventory software with batch and expiry tracking, FEFO stock deduction, low-stock alerts and supplier purchase orders, updated in real time.
Purchase Orders
Create pharmacy purchase orders from low-stock alerts, track them to delivery, and receive stock with automatic inventory updates.