FEFO vs FIFO: Which Stock Rotation Method and When
FIFO issues the oldest stock first; FEFO issues whatever expires soonest — they sound interchangeable and are not. Which rotation method fits which stock, and where FIFO quietly fails.
FIFO (First-In, First-Out) issues stock in the order it was received: the oldest delivery leaves the shelf first. FEFO (First-Expired, First-Out) issues stock by expiry date: whatever expires soonest leaves first, regardless of when it arrived. For stock without expiry dates the two behave identically — which is exactly why teams assume FIFO is enough, right up until a newer delivery with a shorter shelf life expires at the back of the store.
Where FIFO fails and FEFO doesn't
Deliveries do not arrive with uniform remaining shelf life. A supplier clearing their own warehouse can deliver today a batch that expires before the batch you received last month. Under FIFO, last month's batch (longer-dated) issues first and today's short-dated batch waits — and expires. Under FEFO, the short-dated batch jumps the queue. The difference is invisible in the ledger and very visible in the disposal drum.
| Dimension | FIFO | FEFO |
|---|---|---|
| Issue rule | Oldest receipt first | Earliest expiry first |
| Data required | Receipt date per batch | Expiry date per batch — captured at receiving |
| Right for | Non-perishables: hardware, spares, stationery, textiles | Anything dated: pharma, food, cosmetics, chemicals, reagents |
| Failure mode it prevents | Old stock aging into obsolescence | In-date stock expiring while newer stock sells |
| Cost of running it | Low — natural shelf order usually suffices | Batch-and-expiry capture at receiving, plus system-guided picking |
What FEFO requires in practice
- Batch and expiry captured at receiving — the non-negotiable foundation. Stock without an expiry recorded cannot be rotated by expiry; see why batch tracking is the entry ticket.
- System-recommended picking: under time pressure, humans grab the nearest box. The dispensing or picking screen must name the batch to take.
- Physical arrangement that agrees: short-dated stock front-and-visible. The system recommends; the shelf should not argue.
- A shelf-life floor at receiving: refuse or renegotiate deliveries below your minimum remaining shelf life — FEFO manages what you accepted, but receiving discipline decides what you accept.
Accounting note: rotation ≠ valuation
FIFO is also an inventory valuation method in accounting — a different concept sharing the name. You can physically rotate stock by FEFO while valuing inventory by FIFO or weighted average in the books. Rotation is about which physical unit leaves; valuation is about which cost the ledger recognizes. Conflating them confuses both conversations.
Choosing per item, not per warehouse
The method is an item-level property: the same store can run FEFO on dated stock and FIFO on everything else. A pharmacy runs FEFO on the dispensary and FIFO on gloves and syringes; a supermarket runs FEFO on dairy and FIFO on detergent. What matters is that the rule is explicit per item class and enforced by the system rather than remembered by the picker — the expiry horizon report then tells you whether rotation is actually working.
Rotate by the date that matters
Batch-and-expiry tracking with FEFO-guided issuing and 30/60/90 expiry horizon reports — per item, enforced at the pick.
See FEFO in AWRAFrequently asked questions
Is FEFO always better than FIFO?
No — FEFO is strictly better only for stock with expiry or use-by dates, and it costs more to run (batch capture, guided picking). For non-perishables, FIFO delivers the same rotation benefit with less overhead. Match the method to the item, not the fashion.
What about LIFO — last-in, first-out?
As a physical rotation method LIFO is almost always a mistake (it guarantees old stock ages at the back). It exists mainly as an accounting valuation convention, and even there it is disallowed under IFRS. If your store physically runs LIFO, it is running "whatever is nearest" with a name.
How do we start FEFO with existing unbatched stock?
A one-time exercise: count the store, capture expiry dates onto batches as you count (items without visible dates get a conservative estimate or a flag), and start enforcing at receiving from that day. The first expiry-horizon report will be alarming and useful in equal measure.
Does FEFO apply to raw materials in production?
Absolutely — issuing the shortest-dated raw material batches to production first is the manufacturing version, and it pairs with recipe-based issuing so the batch consumed is recorded for traceability. Dated inputs, from flour to reagents, rotate by expiry like anything else.