Two identical boxes sit on a shelf. One arrived in March, the other last week. An order comes in for one unit. Which box goes out the door?
It sounds trivial, but that decision, repeated thousands of times, determines whether a warehouse throws away expired stock, whether its accounting reflects reality, and whether products reach customers in good condition. Three acronyms govern the answer: FIFO, LIFO and FEFO.
FIFO — First In, First Out
Under FIFO, the oldest stock leaves first. The unit that has been sitting longest is the one that ships.
This is the default in most operations, for a simple reason: goods do not improve with age. Even products that never technically expire lose value on a shelf. Packaging fades and gets scuffed. Electronics become last year’s model. Clothing falls out of season. FIFO keeps stock moving and keeps average age low.
Where it works best: food and beverages, pharmaceuticals, cosmetics, fashion, technology — essentially anything perishable, seasonal or prone to obsolescence.
What it demands physically: the old stock has to be reachable. That usually means flow racks loaded from the back and picked from the front, drive-through racking, or clear labelling and a disciplined team that does not simply grab whatever is nearest.
LIFO — Last In, First Out
Under LIFO, the most recently received stock leaves first. The newest arrival is picked before older units.
As a physical practice, LIFO is rarely a deliberate strategy — it is usually a consequence of how the goods are stored. Think of sand, gravel, coal or scrap metal in a pile: you take from the top, and the material at the bottom may sit there for years. The same happens with deep block stacking where pallets are loaded and retrieved from a single face.
Where it is acceptable: homogeneous, non-perishable bulk materials where age genuinely does not matter, and where reorganising the pile would cost more than it saves.
The risk: stock at the bottom can become effectively invisible. It stays on the books as an asset while quietly aging, and when someone finally digs it out, it may be unusable.
FEFO — First Expired, First Out
FEFO ships whatever expires soonest, regardless of when it arrived. This is the rule that catches what FIFO misses.
The two usually agree, because older stock usually expires sooner. But not always. Suppliers deliver batches with different shelf lives. A shipment received in June might carry an expiry date earlier than one received in April, if the April batch was produced more recently or has a longer stated life. Under pure FIFO, the April stock ships first and the June batch quietly expires on the shelf.
Where it is essential: medicines, vaccines, fresh and chilled food, chemical reagents, cosmetics — anywhere a printed expiry date carries legal or safety weight.
What it demands: batch-level tracking. You cannot run FEFO if your system only knows “we have 400 units”; it has to know which batch, with which expiry date, sits in which location.
Side by side
| Method | What ships first | Typical use | Main risk |
|---|---|---|---|
| FIFO | Oldest received | General retail, food, fashion, electronics | Misses uneven expiry dates |
| LIFO | Newest received | Bulk materials, block stacking | Buried stock ages unnoticed |
| FEFO | Earliest expiry | Pharma, fresh food, chemicals | Needs batch-level data |
The accounting layer: same letters, different meaning
Here is a distinction that trips up almost everyone new to the field. FIFO and LIFO also exist as inventory costing methods, and the accounting choice does not have to match what physically happens on the floor.
When the same item is bought at different prices over time, the business has to decide which cost to assign to each unit sold. Consider a shop that buys three identical units:
| Purchase | Units | Unit cost |
|---|---|---|
| January | 1 | 10 |
| March | 1 | 12 |
| June | 1 | 15 |
One unit sells in July. Under FIFO costing, the cost of goods sold is 10, and the remaining inventory is valued at 27. Under LIFO costing, the cost of goods sold is 15, and inventory is valued at 22. The physical box that left the building may well be the same one in both cases — only the number in the ledger changes.
The consequence is that in a period of rising prices, LIFO costing reports higher costs and lower profit, while FIFO reports lower costs and higher profit with inventory valued closer to current prices. This is why accounting standards treat the choice seriously, and why it is not permitted everywhere — LIFO costing is disallowed under IFRS, the standards used across much of the world, though it remains permitted in the United States. Anyone working across borders should check the rules that apply to their jurisdiction.
Making the rule actually happen
Choosing a method is the easy part. Enforcing it is where operations succeed or fail.
- Label on receipt. Every pallet gets its arrival date and batch number before it is put away, not afterwards.
- Let the layout do the work. If older stock is physically easier to reach than new stock, rotation happens on its own. If it is not, no amount of training will hold.
- Let the system direct picking. A warehouse management system that tells the picker which location to go to removes the judgment call entirely.
- Audit with cycle counts. Regular partial counts catch aging stock long before an annual inventory does.
- Watch slow movers. Products with low turnover are where rotation failures hide, because there is always time for them to go stale.
Conclusion
FIFO keeps stock fresh, LIFO suits bulk piles where age is irrelevant, and FEFO protects against the expiry dates that FIFO alone cannot see. Most warehouses end up running FEFO for dated goods and FIFO for everything else — and keeping the accounting question firmly separate from the picking question.
Stock rotation is one of those topics where a small rule, applied consistently, saves a large amount of money. Cursa’s free courses in Logistics and Supply Chain cover it alongside receiving, storage layout, picking strategies and inventory control, if you want the full picture.
















