How to control expiry dates in a pharmacy
A practical method to receive, arrange, sell and write off products with an expiry date: minimum shelf life, FEFO, a near-expiry report and the indicators to track.
It’s the end of the month and, during the stock count, a box of antibiotics that expired three weeks ago turns up at the back of a drawer. At the branch next door, that same product ran out ten days ago and was reordered. Nobody did anything wrong on purpose: nobody was simply looking at the dates in an orderly way.
In a pharmacy, expiry is not a warehouse detail. It is margin you lose, a risk for the customer and extra paperwork every time something has to be pulled from sale. The good news is that it can be controlled with a simple, consistent process, even if you run it on a spreadsheet.
1. Set a minimum shelf life on receipt
Control starts at the door. If you accept a product that expires in two months and that line sells slowly, you have already bought a write-off.
- For each product family, define how many months of minimum shelf life it must have when it arrives. Base it on turnover: fast sellers can tolerate shorter dates.
- Agree on that rule with each supplier in writing, along with what happens if something arrives below it (rejection, exchange or credit note).
- At receiving, always record the lot and expiry date of every line. Without that data, nothing that follows is possible.
- If the date doesn’t meet the rule, the person receiving doesn’t decide alone: they set it aside and notify purchasing.
An easy way to express it is as a percentage of remaining shelf life:
Remaining shelf life (%) = days until expiry ÷ total shelf life of the product × 100
Suppose a syrup has a total shelf life of 24 months and arrives with 9 months ahead: it has 37.5% left. If your internal rule for that family is “at least 50%”, that lot is set aside.
2. Sell with FEFO, not FIFO
FIFO (first in, first out) fails when a supplier delivers a lot that expires before the one you already had. That’s why pharmacies work with FEFO: first expired, first out. If you want the method in detail, we explain it in FEFO vs FIFO.
In practice, FEFO requires three things:
- Shelves ordered by date: the lot that expires first goes in front, within reach.
- Restocking from the back: the incoming lot goes behind, never in front.
- Separate lots: don’t mix two lots in the same open box; if you do, you lose the date.
In a chain there is one more step: if a branch holds a lot that expires soon and sells slowly, it is sometimes better to move it to the branch that turns that product fastest, before it becomes a write-off.
3. Build a near-expiry report
Once a week, pull the list of everything expiring in the coming months, grouped into bands. Each band has a different action:
| Band | Suggested action |
|---|---|
| More than 6 months | Nothing; normal FEFO sales |
| 3 to 6 months | Check turnover; if it won’t sell in time, move it to another branch |
| 1 to 3 months | Preferred display, promotion or exchange request to the supplier |
| Less than 1 month | Pull from sale per your procedure and prepare the write-off or return |
| Expired | Off the shelf immediately, separated and labeled |
The key is that every row has an owner and a review date. A report nobody reads prevents no write-off.
4. A worked example
Suppose a branch holds 300 units of a painkiller in three lots, sells about 4 units a day and the cost is Bs 10 per unit.
| Lot | Units | Days to expiry |
|---|---|---|
| A | 60 | 25 |
| B | 120 | 70 |
| C | 120 | 210 |
With FEFO, lot A sells out in 15 days (60 ÷ 4) and reaches the end without trouble. Lot B starts on day 16 and needs 30 more days to sell (120 ÷ 4): it finishes on day 45, before it expires on day 70.
Now suppose the shelf sells “whatever is in front” and lot C ended up in front. The 120 units of C sell in 30 days. By the time the team reaches lot A, 30 days have passed and A expired on day 25: 60 units lost, Bs 600 in write-offs for a single product at a single branch. Repeat that across hundreds of products and you can see where the loss comes from.
To know whether a lot will make it in time, use this quick test:
Days to sell the lot = units in the lot ÷ average daily sales
If that result (adding the lots that go out before it) is greater than the days it has left, that lot needs action today: transfer, promotion or a talk with the supplier.
5. Supplier returns and write-offs
When a product can no longer be sold, there are two possible exits, and both must be documented:
- Return or exchange with the supplier, if the commercial agreement allows it. Check the contract for deadlines and conditions; the right is often lost by notifying too late.
- Expiry write-off, when there is no return. Record product, lot, quantity, cost, reason and who authorized it.
How the write-off is supported, how the product is destroyed and how it is reflected in taxes and accounting are matters you should validate with your accountant and against the requirements that apply to your business. What does depend on you is that every write-off has its record, its authorization and its inventory movement, so stock and accounting match.
Weekly checklist
- Every receipt this week has lot and expiry date.
- No lot was received below the minimum shelf life without authorization.
- You reviewed the near-expiry report and every band has an owner.
- Lots at risk have a defined action (transfer, promotion, return).
- Expired items are off sale, separated and labeled.
- This week’s write-offs have a record, an authorization and a registered movement.
Common mistakes
- Recording the lot but not the date: without a date, the lot is useless for FEFO.
- Mixing lots in the same drawer: the shelf looks “tidy” but the dates are lost.
- Checking expiry only at the annual count: by then it is too late.
- Buying on price without looking at the date: one write-off eats a volume discount.
- Writing off without a document: stock goes down, but nobody can explain why.
Indicators to measure it
| Indicator | How to calculate it | How to read it |
|---|---|---|
| Expiry write-offs | Cost of expiry write-offs ÷ cost of goods sold × 100 | If it rises, check receiving and FEFO first |
| Value at risk | Cost of stock expiring in the next 90 days | This is the loss you can still avoid |
| Short-dated receipts | Receipts below minimum shelf life ÷ total receipts × 100 | If one supplier keeps showing up, talk to them |
| FEFO compliance | Exits from the lot closest to expiry ÷ total exits × 100 | Should be close to 100% |
Measure them once a month, by branch. Comparing branches usually shows quickly where the process is failing.
Taking it to a system
All of this works on a spreadsheet while you have few products and a single branch. When both grow, an ERP like MKA can record lot and expiry date at receiving, suggest the lot that expires first at the till and in dispatch, and show you on one screen what is about to expire in each warehouse (see pharmacies).