Stopping Pharmacy Stockouts Before They Happen
Pharmacy & Compliance · 6 min read · Updated 2026-08-18
The moment a pharmacy discovers it's out of a fast-moving drug is almost always the worst possible moment, a patient standing at the counter with a prescription. Stockouts feel like a supply problem, but in most Kenyan pharmacies they're actually a visibility problem: nobody saw the shelf emptying until it was empty.
Why stockouts happen even in well-run pharmacies
- Manual counts lag reality. If stock levels are only checked periodically, a fast-moving item can sell out between counts with no warning.
- No reorder threshold. Without a system flagging "this item is low," reordering depends on someone noticing, which fails during busy periods, exactly when stock moves fastest.
- Expiry write-offs get missed until it's too late. Stock that should have been sold first (FEFO, first-expiry-first-out) sits behind newer stock, expires, and quietly becomes a stockout of usable inventory.
- Multi-branch blind spots. A branch can be out of an item while another branch a few kilometres away has excess, with no visibility to transfer it.
What real-time inventory actually means
Real-time inventory isn't a nice-to-do, it's what makes the rest of this solvable:
- Every dispense at the POS decrements stock immediately, not at end-of-day reconciliation
- Every receipt of new stock updates the count immediately
- The count you see on screen matches what's physically on the shelf, always
Without this, every other stock-control feature is built on stale data.
Reorder alerts, done properly
A reorder alert should trigger before the shelf is empty, not when it already is:
- Set a minimum threshold per item, based on how fast it actually sells
- The system flags the item automatically once stock crosses that threshold
- The alert reaches whoever places orders, not just sits in a report nobody opens
- Fast-moving items get reviewed more often than slow-moving ones
The goal is a reorder that happens with days of runway left, not a scramble when a patient is already waiting.
FEFO, and why it matters more than FIFO
Pharmaceuticals expire. First-Expiry-First-Out (FEFO) stock rotation means the batch closest to expiry is dispensed first, regardless of when it arrived. Done manually, this depends on staff checking expiry dates on every pack, error-prone under pressure. Done in software, the system should surface the correct batch automatically at the point of sale, and flag stock approaching expiry before it becomes a write-off.
Multi-branch stock, solved with visibility
If you run more than one branch, the fix for a lot of "stockouts" isn't more stock, it's visibility across branches. A branch running low should be able to see that a sister branch has excess and request an inter-branch transfer, rather than turning away a patient while stock sits idle a short drive away.
What to check before you trust a stock system
- Does stock update in real time at the point of sale, or only at end-of-day?
- Can you set a reorder threshold per item, and does the alert actually reach someone?
- Does the system enforce FEFO at dispensing, or rely on staff checking dates?
- If you have multiple branches, can you see stock across all of them and transfer between them?
- Does the same stock ledger feed your PPB controlled substances register for regulated items?
How AfyaConnect handles pharmacy inventory
AfyaConnect's pharmacy module tracks stock in real time at the point of sale, flags items automatically once they cross a reorder threshold, and enforces FEFO dispensing so the batch closest to expiry moves first. For multi-branch pharmacies, stock is visible and transferable across every branch from one dashboard, so a stockout at one location can be solved from another before a patient ever notices.
If your pharmacy is still discovering stockouts at the counter, register your pharmacy to see inventory that tells you before the shelf is empty, not after.