
FEFO inventory for pharmacies means selling the batch that expires first, not the batch that arrived first. It is the single most effective way to stop medicine expiring on the shelf, and it only works when stock is recorded batch by batch, each with its own expiry date. This guide explains how FEFO works at receiving, at the counter, online and at returns, with a worked example and a checklist you can use this week.
1What is FEFO?
FEFO stands for first-expired, first-out. The better-known FIFO, first-in, first-out, sells the oldest arrival first. For medicines the arrival date matters less than the expiry date, because a later delivery can expire sooner than an earlier one. Distributors do not always send the freshest stock, and a pack ordered last week may carry an earlier expiry than one already on your shelf.
| FIFO | FEFO | |
|---|---|---|
| Sells first | The batch that arrived first | The batch that expires first |
| Needs | Arrival date per batch | Expiry date per batch |
| Risk it leaves | A later delivery with a shorter expiry is sold last and expires on the shelf | None from order of sale; expiry is managed directly |
| Best for | Goods without an expiry date | Medicines, food, cosmetics, anything perishable |
2A worked example
Say you hold two batches of the same tablet:
- Batch A arrived in January, expires in November next year, 20 strips.
- Batch B arrived in March, expires in May next year, 20 strips.
Under FIFO, the counter sells batch A first because it arrived first. Batch B sits behind it and reaches May with strips still on the shelf. Under FEFO, the counter sells batch B first because it expires first, and batch A, with six more months of life, is sold afterwards. Same stock, same sales, no expired strips.
3Why is one stock number not enough?
If a system says you have 14 strips of paracetamol, it does not say that nine of them expire next month. Batch tracking records the quantity of each batch with its own expiry date, so the system can pick the right batch at the moment of sale. Without it, FEFO depends on someone checking the pack every time, and that stops happening on a busy evening.
4What should you record for each batch?
- Batch number and expiry date
- Supplier and purchase price
- Quantity received and quantity remaining
- The purchase order or delivery it came in on
The last two matter for returns: a supplier will usually only credit stock you can show came from them, against a delivery they can find.
5How do you receive new stock correctly?
Receiving is where batch data is either captured or lost. At delivery, check each line against the purchase order, then enter the batch number, expiry date and quantity from the pack itself, not from the invoice. Record a partial delivery as partial, so the purchase order stays open for what did not arrive. Refuse or quarantine stock with a short expiry that you cannot sell in time.
Scanning the barcode or batch label, where the pack carries one, removes typing errors and makes receiving faster than keying it by hand. Bringing an existing product list across from a spreadsheet, with batch numbers, expiry dates, prices and quantities, gets you started without re-entering everything.
6How does FEFO work at the counter?
When a sale is completed, stock is deducted from the earliest-expiring batch that still has quantity. Staff do not have to choose, and the receipt records which batch was sold, which helps with returns and recalls. The counter screen should still show every batch and its expiry, so staff can see what is going out and spot a problem on the shelf.
If a customer asks for a specific batch, allow an override for that sale, record who made it, and let FEFO resume on the next one.
7FEFO and your online store
If your pharmacy sells online, the online store must sell from the same stock as the counter, batch by batch. Otherwise two things go wrong: the store shows stock that the counter has already sold, and online orders are filled from whichever pack is nearest rather than the one that expires first.
When both read one stock record, an online order is deducted from the earliest-expiring batch just like a counter sale, and the count drops before anyone at the counter can sell the last strip twice. Prescription-only medicines should stay off the online store altogether.
8Near-expiry stock: the 60-day return window
FEFO reduces expiry; it does not eliminate it. Slow movers will still approach their date. The answer is to see them early and act while you still have options:
- Flag stock within 60 days of expiry. Sixty days gives you time to return stock to the supplier or move it at the counter. A 90-day view is useful for planning; the 60-day list is the one to act on.
- Group the list by supplier. Returns are made supplier by supplier, so a list grouped that way turns into a return note in minutes.
- Return against the delivery it came in on. Suppliers credit returns more readily when you can point to the original delivery and batch.
- Record the credit. A return is only finished when the supplier's credit is recorded against what you owe them.
- Quarantine what cannot be returned. Expired stock must be separated physically and in the system so it can never be sold, then written off with a reason.
Review write-offs monthly. A pattern of the same product expiring points to over-ordering, not bad luck, and the fix is a lower reorder level.
9Reorders that respect expiry
Reorder suggestions should look at sellable stock, meaning stock that has not expired and is not quarantined, rather than the raw total. Otherwise the system thinks you are well stocked while half the quantity is about to be returned. When comparing suppliers for a reorder, look at price alongside how reliably each one delivers in full and on time, because a cheap supplier who sends short-dated stock costs more in returns.
10A FEFO checklist for this week
- Every product with an expiry date is held batch by batch.
- Receiving captures batch number, expiry and quantity from the pack.
- The counter sells the earliest-expiring batch automatically, and the receipt shows it.
- The online store, if you have one, sells from the same stock.
- A 60-day near-expiry list exists, grouped by supplier, and someone owns it.
- Expired stock is quarantined and cannot be sold.
- Reorders are based on sellable stock.
- A few products are counted batch by batch every week.
11How do you check it is working?
Run a short stock count on a few products each week and compare the system quantity with the shelf for every batch, not just the total. Look at the list of batches expiring within 90 days, and confirm that nothing on it has been sold past its date. Small, regular counts catch problems far sooner than one large annual count.
12How PharmaFlow handles FEFO
PharmaFlow holds stock batch by batch. At the counter and online it picks the batch that expires first, and receipts carry the batch that was sold. Anything within 60 days of expiry appears in return suggestions, grouped by supplier, so it can go back for credit against the delivery it came in on. The counter, your own online store and the reorder list all read the same stock record: sell a strip at the counter and the online store and the reorder list already know. If you are weighing a ready product against building your own system, read custom software vs SaaS or see what custom software costs in Pakistan.
Sources
Rates, thresholds and rules change. Confirm current figures with the issuing body or your advisor before relying on them.