Pharmacy expiry management — avoiding write-offs at scale
Why expiry write-offs are the dominant inventory loss in retail pharmacy, what a system has to track to surface them early, and how Lebanese pharmacies recover the lost margin.
Definition
A pharmacy expiry write-off is stock that reaches its expiry date without being sold or returned and has to be removed from inventory at full cost. For a typical Lebanese retail pharmacy, expiry write-offs are the single largest source of unmanaged inventory loss — and most of them are preventable with batch-level expiry tracking and FEFO automation at the till.
Why expiry is the pharmacy's hidden tax
Stock that expires on the shelf was paid for in full at goods-receiving and returns nothing — no revenue, no margin, no salvage value. Even at modest expiry rates of one to two percent of inventory value per year, the loss compounds quietly. A pharmacy holding USD 80,000 of inventory at any given time and writing off 1.5% to expiry annually loses USD 1,200 — every year, indefinitely. The fix is operational, not vendor-side.
The four reasons stock expires
Expiry write-offs cluster around four root causes. Three are solvable with software discipline; the fourth requires the owner to look at purchasing decisions, which the software should surface but cannot decide for you.
- Front-of-shelf rotation: cashiers pick the easiest pack, not the earliest-expiring batch (solved by FEFO at the till)
- Hidden batches: a batch in the back of the shelf is never seen until it expires (solved by batch-level inventory tracking)
- Slow-movers: low-demand drugs ordered in pack sizes too large for actual demand (solved by demand-based reordering)
- Over-ordering: ordering to a target stock level that exceeds realistic sell-through (solved by reorder-point tuning)
What batch-level tracking actually requires
Reducing expiry write-offs starts with knowing what is on the shelf. That means tracking inventory at the batch level — each batch with its own quantity, expiry date, and lot number, recorded at goods receiving. Most pharmacy software tracks at the SKU level (one count per drug, no expiry attached), which makes FEFO impossible and turns the shelf into a black box. The hard part is data entry on goods-in; the rest follows.
The dashboard view that catches write-offs early
A useful pharmacy dashboard surfaces every batch within a configurable expiry window: 90 days, 60 days, 30 days. Each batch shows the drug, the quantity remaining, and the at-risk value in both LBP and USD. The owner can act before the expiry hits: run a clearance promotion, return slow-movers to the distributor, transfer between branches if multi-branch, or accept a partial write-off rather than a full one.
- 90-day expiry warning: time to act (return, transfer, promote)
- 60-day expiry warning: clearance pricing if no other option
- 30-day expiry warning: last chance — recall on shelf or accept partial loss
- Past expiry: removed from sellable inventory automatically
What this looks like operationally
A pharmacy that switches from SKU-level to batch-level tracking and turns on FEFO at the till typically sees expiry write-offs collapse over the first three months. The structural reason: every dispense from that pharmacy is now the right batch from the right shelf, not the cashier's nearest reach. Combined with the early-warning dashboard, the residual write-offs become a conscious decision (slow-mover purchasing) rather than a passive loss (forgotten back-of-shelf batch).
How PharmEasy handles expiry end-to-end
PharmEasy is batch-level by default. Every goods receipt captures batch and expiry from the GS1 2D barcode (no manual typing). Every dispense allocates the earliest-expiring batch (FEFO is the till's default, with one-keystroke override for clinical reasons). The dashboard surfaces batches in configurable expiry windows with at-risk USD and LBP value. Pro-plan pharmacies get email or push notifications when a batch crosses the threshold.
Frequently asked
- What expiry write-off rate is realistic?
- Most Lebanese pharmacies running batch-level FEFO inventory in software targets converge to well under one percent of inventory value per year, often as low as 0.3-0.5%. SKU-level systems with manual rotation typically run 1.5-3%, with the variance driven by how disciplined the cashier rotation is. The difference compounds — every dollar of write-off prevented is a dollar of pure margin recovered.
- When should I run an expiry clearance promotion?
- Practical rule of thumb: when a batch hits the 60-day window with no realistic sell-through at full price. Either reduce the price on the specific batch (PharmEasy allows batch-specific pricing), bundle with a complementary item, or return to distributor if the supplier agreement allows. Doing nothing and hitting 30 days means accepting the loss.
- Can I return expiring stock to my distributor?
- It depends on the supplier agreement. Many Lebanese distributors accept returns of unopened stock within a defined window before expiry (often 90 days), sometimes with a partial credit rather than full. The agreement is worth re-reading before the next expiry cycle. PharmEasy tracks supplier returns as a first-class workflow under the procurement module.
Keep reading
FEFO vs FIFO — which inventory method should a pharmacy use?
FEFO sells the earliest-to-expire batch first; FIFO sells the earliest-received batch first. Which is right for a pharmacy, why it matters, and how to apply it.
Read articleGTIN barcode setup for Lebanese pharmacy distributors and pharmacies
What a GTIN is, how it encodes batch and expiry in the GS1 2D barcode on every regulated Lebanese drug, and what pharmacies and distributors have to get right before MediTrack works.
Read articleHow to choose pharmacy software in Lebanon (2026 guide)
A practical buyer's guide to pharmacy management software for Lebanese pharmacies. Offline-first POS, MoPH MediTrack, dual-currency, FEFO, NSSF — the questions to ask before signing.
Read article
Run your pharmacy with PharmEasy.
Founders-run demos, 30 minutes, tailored to your pharmacy. We typically schedule within 24 hours.
