A pharmacy POS looks like ordinary retail software until a product expires and nobody can tell which batch it came from. Then it becomes a compliance issue. Pharmacies in Kenya operate under rules where expiry and batch control are the point of the system, not a feature.
What a pharmacy needs beyond a normal POS
Batch tracking. Every pack carries a batch and an expiry date. The system must know which batch every sale came from, so a recall or a check names the affected units in minutes — not after a stockroom search.
Expiry awareness. Stock must surface before it expires: "expiring in 30 days" is a working list, not a surprise. Selling close-to-expiry stock becomes a deliberate decision with a trace.
Scheduled restocking. Medicine restocks on routines and supplier schedules, not intuition. The system should produce supplier order lists grouped by priority and expiry.
Rules that keep the shelf honest
- FIFO at the till. The oldest batch sells first — in the trolley and in the records.
- Batch entered at receiving. The loading clerk types the batch once; the system remembers it forever.
- Returns are traced. Returns land against a record that names the batch, moving it back into stock without losing the evidence trail.
- Near-expiry report monthly — reviewed by the owner the same week they review the register.
Offline and busy
The prescription window at 8 am is the pharmacy equivalent of a retail rush. The till must keep ringing through connectivity dips — record locally, sync later — because a busy chemist cannot ask its customers to wait for the internet.
A realistic build
Batch, expiry, and scheduled restock are not exotic; they are the standard set in a commerce engine that also runs grocery stores. RetailOS carries batch and expiry as part of the product model, so the pharmacy next to the supermarket runs on the same dependable record.
If you are scoping a pharmacy rollout, start a conversation — we usually walk the batch flow first, before any screen is drawn.