If you run a medical store, a supermarket or a bakery counter, the order in which stock leaves your shelves decides how much of it you end up throwing away. FEFO vs FIFO is the choice between selling the oldest stock first and selling the stock that expires first. The two sound alike, and most of the time they give the same answer, but on the days they differ, the wrong method quietly turns into expired medicines, returned milk packets and written-off stock. This guide explains both methods in plain terms, shows where they part ways with medicine and grocery examples, and walks through how to set up your shelves and billing so the right batch goes out every time.

What FIFO and FEFO mean
FIFO: First In, First Out
FIFO means the stock you received first is the stock you sell first. If a carton of detergent arrived on 2 March and another on 20 March, the 2 March carton goes to the shelf front and gets sold before the newer one. FIFO is easy to follow because it only needs the date of receipt, which you already have on the purchase bill or GRN.
FIFO works well for goods that do not expire, or that have such long shelf lives that the arrival order is a good enough guide: steel utensils, hardware, stationery, textiles, plastic household items and most packaged items with a long best-before period.
FEFO: First Expired, First Out
FEFO means the stock with the earliest expiry date is sold first, no matter when it arrived. It looks at the date printed on the pack, not the date it entered your shop. FEFO needs one more piece of information than FIFO: the expiry (or use-by) date of every batch you hold.
FEFO is the standard for anything perishable or date-sensitive: medicines, vaccines and surgical items, dairy, bread and bakery products, packaged foods with short shelf lives, baby food, cosmetics and some beverages.
FEFO vs FIFO: where the two methods give different answers
When every new batch you receive has a later expiry date than the one already on your shelf, FIFO and FEFO pick the same pack. They split when a newer delivery carries an earlier expiry date. That happens more often than shop owners expect:
- A distributor clears older stock to you in a later delivery.
- You buy the same medicine from two suppliers, and one sends a batch made months earlier.
- A customer return or a branch transfer brings back an older batch.
- Different pack sizes of the same product come from different manufacturing runs.
Medicine example (illustrative): A pharmacy in Kottayam receives 50 strips of a common antacid on 5 January with expiry in December 2027. On 15 January, a second supplier delivers 50 strips of the same product with expiry in June 2027. Under FIFO, staff sell the 5 January stock first because it arrived first. Under FEFO, they sell the 15 January stock first because it expires six months earlier. If sales are slow, FIFO could leave the June 2027 strips sitting on the shelf until they near expiry, which is exactly the stock most distributors are reluctant to take back.
Grocery example (illustrative): A supermarket in Thrissur gets bread from a bakery every morning. One morning the delivery is short, so the bakery sends a second van at noon with a few trays that were baked the evening before. FIFO would push the morning trays first. FEFO would push the noon trays first because they have the earlier use-by date.
| Point | FIFO | FEFO |
|---|---|---|
| Decides by | Date the stock was received | Expiry or use-by date on the pack |
| Data you need | Purchase or receipt date | Batch number and expiry date for each lot |
| Best for | Hardware, textiles, stationery, long-life goods | Medicines, dairy, bakery, baby food, cosmetics |
| Main risk | Newer stock with an earlier expiry gets left behind | Needs disciplined batch entry at purchase |
| Effort at the shelf | Low: rotate new stock to the back | Medium: check dates when stacking |
A third term, LIFO (Last In, First Out), shows up in textbooks, but it is rarely a sensible physical selling method for a shop that holds perishable stock, so this guide leaves it aside.
When FEFO beats FIFO

Choose FEFO whenever expiry is the main reason stock loses value. In practice that means:
- Pharmacies and medical stores: medicines carry batch and expiry details on the label, and selling a medicine past its expiry is not an option. FEFO is the natural default here.
- Dairy, bakery and chilled foods: shelf lives run in days, so even a one-day difference between batches matters.
- Baby food, nutrition products and cosmetics: these sell slower than milk but still expire, and customers check dates carefully.
- Mixed-supplier products: when you buy the same SKU from more than one source, arrival order stops being a reliable guide to expiry.
FIFO is still fine, and simpler, for non-perishable goods. Many shops run both: FEFO for date-sensitive categories and FIFO for the rest. The point is to decide category by category instead of leaving it to whoever stacks the shelf that day.
How to arrange shelves for FEFO and FIFO

The method only works if the shelf layout matches it. A few habits make the difference:
- Stack from the back. When new stock arrives, pull the existing packs forward and place the new ones behind them. For FEFO, compare dates first: if the new batch expires earlier, it goes in front.
- Keep one batch per row where you can. Mixing two batches in one row makes it hard to see which to sell first.
- Mark the expiry month on the shelf edge or carton. A small sticker with the month helps staff spot near-expiry stock without turning every pack.
- Apply the same rule in the storeroom. Back-stock should follow the same order, or the wrong cartons will come out to refill the shelf.
- Do a weekly near-expiry walk. Pick a quiet hour each week to check what expires in the next 30 to 90 days, depending on the category, and move those packs to the front, offer them on a promotion where permitted, or arrange a return with the supplier.
- Separate expired stock immediately. Keep a clearly marked box or shelf for expired or damaged items so they never get mixed back into saleable stock.
For food products, the Food Safety and Standards Authority of India sets the rules for date marking such as “use by” and “best before” on packaged food. If you are unsure how a date on a pack should be read, check the guidance on the FSSAI website.
Why batch-wise billing makes FEFO work

Shelf discipline gets you most of the way, but in a busy shop the counter is where FEFO usually breaks. If your billing software only knows that you have “100 strips of Product X”, it cannot tell you which batch to sell, and your stock report cannot tell you which batch is about to expire. Batch-wise billing fixes that.
What to record at purchase
FEFO starts at the purchase entry, not at the counter. For every date-sensitive item, enter the batch number, the expiry date and the quantity of each batch when you record the supplier bill. Skipping this step on busy days is the most common reason FEFO fails, because the software then has nothing to sort by.
What to check at the counter
With batches recorded, the billing screen can show the available batches with their expiry dates when an item is scanned, so the cashier picks the earliest one. Staff should check that the batch on the screen matches the pack in hand. If it does not, the pack on the shelf is out of order, which is worth fixing right away.
Reports that keep you ahead
- Near-expiry report: lists batches expiring in the next 30, 60 or 90 days so you can act before they become a loss.
- Batch-wise stock: shows exactly how many units of each batch are left, which helps with supplier returns.
- Expired stock report: shows what has already crossed its date so it can be removed and written off properly.
Pharmacies in particular should read our guide to pharmacy inventory software with batch stock and counter visibility, and supermarkets can see how expiry fits into wider stock control in inventory management software that syncs with POS.
A simple FEFO routine for a small medical store
Here is an illustrative weekly routine a two-person medical store could follow:
- Every delivery: enter each batch number and expiry in the purchase bill before the stock goes to the shelf.
- Every restock: compare the new batch’s expiry with what is on the shelf and place the earlier one in front.
- Every bill: sell the batch with the earliest expiry shown on the billing screen.
- Every Monday: run the near-expiry report for the next 90 days and list items to return to suppliers or push at the counter.
- Every month end: remove expired stock, record it, and check whether the same products keep appearing. Repeated near-expiry on one product usually means you are ordering too much of it.
That last step links FEFO to buying. FEFO reduces waste from stock you already have, but it cannot rescue over-ordering. Our article on medical store billing software for counter sales and stock covers how to keep purchase quantities closer to real demand.
Common mistakes with stock rotation
- Treating FIFO as FEFO. Assuming newer deliveries always expire later is the root of most surprise expiries.
- Entering one batch for everything. Clubbing all batches under a single entry to save time makes expiry reports meaningless.
- Rotating the shelf but not the storeroom. The wrong carton comes out at refill time and undoes the work.
- Waiting until the expiry month. Many suppliers have their own windows for accepting near-expiry returns, so check their terms and act well before the date.
- No owner for the task. Rotation works when one named person does the weekly check, not when everyone assumes someone else did.
How Caddayn Biller helps
Caddayn Biller supports batch and expiry tracking for pharmacies, along with barcode billing, GST billing and inventory with low-stock and reorder alerts. It runs as a Windows app and a web app, and there are dedicated ERPs for verticals such as pharmacy, supermarket, hospital and chained clinics. If you want your counter to show the right batch and your reports to flag stock before it expires, see how it fits your shop in our pharmacy ERP software guide, or download Caddayn Biller and try it with your own items.
FAQ
Is FEFO better than FIFO?
For perishable and date-sensitive stock, yes, because it follows the date that actually matters. For goods that do not expire, FIFO is simpler and works just as well.
What is the meaning of FEFO in a pharmacy?
It means the medicine batch with the earliest expiry date is sold or dispensed first, even if a different batch arrived earlier.
Can a shop use both FIFO and FEFO?
Yes. Many shops use FEFO for medicines, dairy and bakery items and FIFO for non-perishable goods. Decide the method for each category and train staff on it.
Do I need software for FEFO?
A very small shop can manage with careful shelf stacking, but once you hold many batches, batch-wise billing and near-expiry reports make FEFO far more reliable than memory and manual checks.
What is the difference between FEFO and FIFO vs LIFO?
FIFO sells the oldest arrival first, FEFO sells the earliest expiry first, and LIFO sells the newest arrival first. LIFO is rarely used to move physical stock in shops that hold perishable goods.
