Inventory & Expiry

FEFO Explained: Why First-Expiry-First-Out Matters in Pharmacy Inventory

14/01/2026·6 min read

Every pharmacy eventually learns the same lesson: stock that goes out of date does not just disappear quietly. It shows up as wasted capital, as a customer who almost received an expired medicine, or as a line item your accountant has to explain at year end. FEFO — First-Expiry-First-Out — is the practice that prevents most of this, and it only works if it is built into how stock actually gets picked, not just written on a policy document.

What FEFO means in practice

FEFO means that when a product has multiple batches in stock, the batch with the earliest expiry date is sold first — regardless of which batch arrived most recently. This is different from the more familiar FIFO (First-In-First-Out) used in general retail, because in a pharmacy the relevant clock is the expiry date stamped on the batch, not the delivery date.

A pharmacy might receive a new delivery of amoxicillin with a 2027 expiry while still holding an older batch expiring in three months. Under FIFO, staff might reach for whichever box is at the front of the shelf. Under FEFO, the system should direct staff to the batch expiring soonest — even if it was delivered weeks earlier.

Why manual expiry tracking fails at scale

  • Sticky notes and shelf labels work for a handful of products, not hundreds of SKUs across multiple batches.
  • Staff turnover means tribal knowledge about "which batch to sell first" gets lost.
  • Multiple batches of the same product look identical at a glance unless someone checks the printed expiry date on every box.
  • By the time a manual stock count catches an expiring batch, there is often only days left to sell it.

The real cost is compounding, not one-off

A single expired batch is a one-time loss. A pharmacy without systematic FEFO tends to lose a little stock every month, indefinitely — which adds up to a much larger number over a year than most owners realise until they actually track it.

How automated FEFO and expiry alerts should work

PharmaPOS tracks every batch of every product by its expiry date and automatically directs FEFO batch and expiry tracking at the point of sale — when a cashier sells a product, the system deducts from the batch expiring soonest first, without anyone needing to check manually.

On top of that, automated alerts flag batches approaching expiry at 90, 60, and 30 days out — giving enough lead time to run a promotion, transfer stock to a branch that can sell it faster, or return it to a supplier, instead of discovering the problem when it is already too late to act.

See PharmaPOS handle this in your own pharmacy.

Building FEFO into daily operations

  1. Record every incoming delivery as a distinct batch with its own expiry date — never merge batches with different expiry dates into one stock line.
  2. Let the system, not the staff member, decide which batch to deduct from on each sale.
  3. Review the 90-day expiry alert list weekly, not just when stock is being counted.
  4. For slow-moving, near-expiry stock, consider a markdown or targeted promotion before the alert window closes.
  5. For multi-branch pharmacies, treat a near-expiry batch sitting unsold in one branch as a candidate for a stock transfer to a branch with higher demand.

FEFO and cold-chain products

Temperature-sensitive products — vaccines, insulin, and other biologics — make FEFO even more important, since spoilage from both expiry and temperature excursion can happen at the same time. A system that tracks batch expiry and cold-chain temperature logging together gives a much clearer picture of which stock is actually still safe to dispense.

The pharmacies that get the least value out of FEFO are the ones treating it as a one-time training topic instead of a system behaviour. Once batch-level expiry tracking and automated alerts are simply how the POS works, FEFO stops being something staff have to remember — it becomes something that happens by default, on every single sale.

Ready to see PharmaPOS in your pharmacy?

Explore the full system with sample data, free, or talk to us about your pharmacy's setup.