On this page
A customer hands you a prescription. You reach to the shelf, pick the box, ring it up. It’s a normal sale, one of two hundred you’ll make today. But somewhere in that box, or three boxes behind it, sits stock that expires next month. Maybe one that expired last week.
For a pharmacy, expiry dates aren’t paperwork. They sit on two sides of a knife. Sell an expired drug and you’ve put a patient at risk and yourself in front of a regulator. Bin an expired drug and you’ve thrown away money you already paid your supplier and will never get back. Both happen for the same reason: you can’t watch the expiry date of five hundred products with your eyes.
This is the one part of running a pharmacy that a notebook genuinely cannot do. Here’s how to actually stay on top of it.
The two ways expiry costs you
Selling it. This is the one that keeps pharmacists up at night. An expired drug going over the counter is a safety problem first and a regulatory problem right behind it. If NAFDAC walks in and asks to see your batch records, “I check the dates when I remember” is not an answer. The fear is real, and it should be, because the manual method genuinely can’t guarantee it won’t happen.
Binning it. The quieter cost. A batch of antibiotics worth NGN60,000 sits behind the newer stock because the newer stock is easier to reach. You keep selling from the front. Three months later you pull out the old batch and the date is gone. That’s NGN60,000 straight into the bin, money that was already paid to your distributor. Do that across a dozen products a year and you’ve lost more than most pharmacies make in a good month.
Both of these come from the same gap: you don’t know, at a glance, what’s expiring and when.
Why the manual method always fails
It’s not a discipline problem. It’s a maths problem.
A small pharmacy carries hundreds of products, and each one might have two or three batches on the shelf at once, each bought at a different time with a different expiry date. To track that by eye, you’d have to physically read the date on every box, every week, and remember which batch to sell first for every single product. Nobody can do that while also serving customers, receiving stock, and running the business.
So what happens instead is what always happens. You sell whatever your hand reaches first, which is usually the newest stock at the front, while the oldest quietly ages out at the back. The system isn’t failing. There just isn’t one.
What proper expiry tracking looks like
The fix isn’t more discipline. It’s letting the system carry the dates so you don’t have to. Four things make that work.
1. Record the expiry date per batch, at the point you receive it. When goods come in from your distributor, each batch gets logged with its own expiry date and what it cost. Now the shelf isn’t a guessing game. Every box of stock in your pharmacy has a known date attached to it, and you entered it once, when it arrived.
2. Sell the oldest batch first, automatically. This is FIFO, first in, first out. When the system always pulls from the oldest batch on a sale, you stop accidentally aging out the back of the shelf. The stock that’s closest to expiry is the stock that goes over the counter next. No more reaching for the easy box at the front while the old one dies behind it.
3. Get alerted before a batch expires, not after. A drug that’s 60 days from expiry still has full value. You can still sell it, discount it, or move it. A drug that expired yesterday is worth nothing. The difference between those two is an alert. When you’re warned at 90, 60, and 30 days out, you have time to act while the stock is still money. The same logic applies to cosmetics and any product with a shelf life, but for a pharmacy it’s not optional.
4. Keep the batch trail for when you’re asked for it. Every batch received, every batch sold, with dates and quantities, kept automatically. This is the record that turns a NAFDAC visit from a panic into a non-event. You’re not digging through a notebook. You open the trail and show it.
What this looks like in Naira
Say you receive three batches of a fast-moving antimalarial over four months. Without a system, you sell from whatever’s in front, and one batch ages out at the back. NGN45,000 gone to expiry.
With batch tracking and FIFO, the oldest batch sells first every time, so it never reaches its expiry date with stock still on the shelf. And three weeks before it would have expired, you get an alert telling you exactly how many units are left and which batch they’re in. You run a small promo, clear the last of it, and recover the full value. That’s NGN45,000 saved on one product. Now multiply it across every drug with a date on it.
This is the difference between expiry being a loss you absorb every quarter and expiry being a number you manage.
A pharmacy runs on records, not memory
Your pharmacy is a more demanding business than a general shop. The stock has dates, the regulator has rules, and the cost of getting it wrong is higher than money. That’s exactly why it can’t run out of your head.
Mayloo tracks every batch with its own expiry date and cost, sells oldest stock first with FIFO so nothing ages out at the back, and alerts you before a batch expires while it’s still worth something. Every batch you receive and every batch you sell is kept in a trail you can show on demand. It’s built for the way pharmacies actually work, so you spend your time serving patients instead of reading dates off boxes.