Stock rotation is one of those topics that sounds trivial until you watch it go wrong. A distributor throws away a pallet of yoghurt that expired three days before it was picked. A pharmacy fails a regulatory inspection because a short-dated batch was still on the shelf behind a longer-dated one. A spare-parts store issues a five-year-old seal that has hardened in storage while a fresh one sat untouched. Every one of those failures is a rotation-rule failure, and every one is preventable with a decision most warehouses never make consciously: FEFO, FIFO or LIFO. This guide walks through all three, shows exactly which unit each one picks, and helps you match the rule to what you actually store. It is a companion to the broader warehouse automation complete guide, which sets out how the wider system fits together.
The message up front: there is no single correct rotation rule. FEFO protects freshness and compliance where products expire. FIFO keeps stock moving in date order where age matters but expiry does not. LIFO, as a physical rotation practice, is the exception you reach for deliberately in a few specific situations, and it is a different thing entirely from LIFO as an accounting method. Pick the rule that matches your product, then make the warehouse system enforce it so a busy picker cannot quietly undo it.
1. What stock rotation is
Stock rotation is the rule that decides, when you hold more than one unit of the same item, which unit leaves first. That sounds almost too simple to need a rule, but the moment you hold the same product across several receipts, batches or expiry dates, the choice becomes real and the consequences compound. Rotate badly and your oldest or shortest-dated stock sinks to the back of a bin and quietly ages out. Rotate well and product flows through the warehouse in a controlled order that matches how it degrades, expires or loses value.
The reason rotation exists is that most physical goods are not identical across time even when they carry the same part number. A carton received in January is older than one received in June. A vaccine batch with a March expiry is more urgent than one expiring in December. A rubber gasket that has sat in a drawer for four years may be past its usable shelf life even though the fresh one next to it looks the same. Rotation is the discipline of making the warehouse pick in the order that respects those differences, rather than picking whatever is nearest to hand.
Three rules dominate practice. FIFO picks the earliest received unit. FEFO picks the earliest expiring unit. LIFO picks the most recently received unit. They sound close, and in some situations they even produce the same pick, but they answer different questions and they protect against different risks. The rest of this guide takes each in turn, then puts them head to head, then helps you choose. If you are new to how any of this gets tracked in software, the what is a WMS primer is a good grounding before you go deeper.
2. FIFO: first in, first out
FIFO means first in, first out. The unit that was received earliest is the unit you pick first. It is the default rotation rule for the majority of warehouses because it matches the most common intuition about inventory: sell the old stock before the new stock, and never let anything sit at the back forever. If you received a carton in January and another in June, FIFO ships the January carton first, regardless of which one is physically easier to reach.
FIFO works on receipt date, and that is its defining feature and its main limitation. It assumes that older stock should go first because it has been in the building longer, which is a sound proxy for many products but not a direct measure of urgency. A product with no expiry date but a slow, gradual quality decline over time is a perfect FIFO candidate: textiles, packaged hardware, electronics, general consumer goods, most industrial spares. Age is a reasonable stand-in for condition, and FIFO keeps the average age of your on-hand stock low without needing anyone to track expiry dates.
Physically, FIFO is usually enforced through the way you store and flow product. Flow racks and gravity lanes load from the back and pick from the front, so the first pallet in is naturally the first pallet out. Drive-through racking, conveyor lanes and simple aisle discipline all support FIFO. In a system-directed operation, the warehouse management system stamps every receipt with a date and directs the picker to the oldest date first, so FIFO holds even when the physical layout would not enforce it on its own.
Where FIFO falls short is precisely where expiry matters. FIFO assumes the oldest received unit is the most urgent, but that is not always true. Suppliers ship stock with different remaining shelf lives. A carton received in June might carry an earlier expiry date than one received in January, because the January delivery was fresher product with a longer window. Follow FIFO blindly there and you ship the January stock first while the June stock, which actually expires sooner, waits and eventually spoils. That single gap is the entire reason FEFO exists.
3. FEFO: first expired, first out
FEFO means first expired, first out. The unit with the earliest expiry date is the unit you pick first, regardless of when it was received. It is the rule for anything that expires: food and beverage, pharmaceuticals, medical supplies, cosmetics, chemicals, certain adhesives and sealants, and any product carrying a use-by, best-before or shelf-life date that the customer or the regulator cares about.
FEFO sorts on expiry date rather than receipt date, and that one difference is what makes it correct where FIFO is merely close. Return to the earlier example: a carton received in January with a December expiry, and a carton received in June with a September expiry. FIFO would ship the January carton first because it arrived first. FEFO ships the June carton first because it expires first, which is the outcome that actually prevents waste. When received order and expiry order agree, FEFO and FIFO pick the same unit. When they disagree, only FEFO protects you.
FEFO cannot function without batch or lot tracking, because the system has to know the expiry date of the specific units in each location. That means every receipt must capture the expiry or manufacture date, and every unit must remain associated with its batch through storage and picking. This is why FEFO and lot control are effectively inseparable in practice. If you want to understand the tracking layer that makes FEFO possible, the lot and batch tracking guide covers it directly, and the expiry date management guide covers the shelf-life and near-expiry handling that sits on top of it.
The honest caution on FEFO: FEFO is only as reliable as the expiry data you capture at receiving. If a receiving clerk keys the wrong date, or skips it, or a supplier prints an unclear label, FEFO will confidently pick the wrong unit and you will not notice until something short-dated ships to a customer. FEFO does not remove the risk of spoilage; it moves the risk to the accuracy of your date capture. Get receiving discipline wrong and a FEFO system gives you false confidence, which is worse than no system at all.
4. LIFO: last in, first out
LIFO means last in, first out. The unit received most recently is the unit you pick first. As a physical rotation practice it is the opposite of FIFO, and for most products it is exactly what you do not want, because it leaves the oldest stock sitting untouched at the back while the newest stock cycles out. Apply LIFO by accident to perishable or age-sensitive goods and you will systematically spoil your oldest inventory. That is why LIFO has a poor reputation and why it is rarely the deliberate choice.
There are, however, legitimate physical reasons LIFO happens. The most common is layout: in block-stacked storage or single-entry drive-in racking, you load and unload from the same side, so the last pallet placed is physically the first one you can reach. Unless you restack, the operation is LIFO whether you intended it or not. For non-perishable, non-dated bulk materials where age genuinely does not matter, that is an acceptable trade-off that buys you dense, cheap storage. Aggregates, sand, gravel, bricks, coal and similar homogeneous bulk commodities are stored and issued LIFO all the time without harm, because one unit is as good as another regardless of when it arrived.
The critical thing to hold onto is that this section is talking about LIFO as a physical rotation rule: which actual unit a picker removes from a location. That is a completely separate concept from LIFO as an inventory costing method, which is an accounting choice about which cost you assign to goods sold, and has nothing to do with which physical carton leaves the building. The two share a name and confuse people constantly. I will come back to the costing distinction in its own section, because conflating the two is one of the most common mistakes I see when people first meet these terms.
5. Head to head
The clearest way to see the difference is to line up the same three shelves and ask each rule which unit it picks. Imagine one shelf holding three units of the same product. Each unit has a received date and an expiry date, and the two orders do not agree, which is exactly the situation where the choice of rule changes the outcome.
Notice that all three rules face the identical shelf and each removes a different unit. FEFO picks unit B because it expires soonest, which is the outcome that prevents spoilage. FIFO picks unit A because it arrived first, which keeps average age low but ignores that B expires sooner. LIFO picks unit B here too, but for the wrong reason, simply because it arrived most recently, and on a different set of dates LIFO would happily leave the shortest-dated unit rotting at the back. The point of the illustration is that the rule is not cosmetic; on real dated stock it changes what leaves the warehouse.
| Aspect | FEFO | FIFO | LIFO |
|---|---|---|---|
| What is picked first | Earliest expiry date | Earliest received date | Most recently received |
| Best for | Anything with an expiry or use-by date | Age-sensitive goods with no fixed expiry | Non-dated bulk where age is irrelevant |
| Typical industries | Food, pharma, medical, cosmetics, chemicals | Retail, apparel, electronics, spare parts | Aggregates, sand, gravel, bulk raw materials |
| Needs batch / lot data | Yes, expiry per batch is required | Receipt date only | Often layout-driven, minimal data |
| Accounting note | Physical rule only; not a costing method | Name shared with FIFO costing method | Name shared with LIFO costing method |
The accounting-note row is the one that trips people up most, and it deserves the standalone treatment it gets further down. For now the key reading of the table is the top three rows: what gets picked, what it suits, and where you find it in the wild. Those three lines are enough to place most of your inventory on the right rule.
6. Which to use when
The decision is easier than the three-way comparison suggests, because it collapses to two questions. First: does the product expire, or otherwise carry a date the customer or a regulator cares about? If yes, use FEFO. There is essentially no situation where a dated product should be rotated by anything other than earliest expiry, because any other rule risks shipping something short-dated or spoiled. Food, drink, drugs, reagents, cosmetics, dated adhesives: FEFO, always, and build the lot tracking to support it.
Second, if the product does not expire but still degrades or dates with age, use FIFO. Most of the general economy lives here: clothing that goes out of season, electronics that get superseded, packaged consumer goods, and the large majority of industrial spare parts. Age is a fair proxy for condition and desirability, so shipping oldest-first keeps your inventory current without the overhead of expiry tracking. FIFO is the sensible default whenever there is no expiry date but you still would rather not have anything sit forever.
LIFO as a physical rule is the narrow exception, reserved for homogeneous, non-dated bulk materials where one unit genuinely equals another and the storage economics of block stacking or single-entry racking outweigh the cost of not rotating. If your product is sand, gravel, bricks or a stable bulk commodity, LIFO is an acceptable and often practical consequence of dense storage. For anything with a shelf life or a fashion cycle, LIFO is a mistake, and the value of naming it explicitly is so that it never happens by accident to stock that cannot tolerate it.
The practical test: ask whether the customer would be worse off receiving the newest unit instead of the oldest. If the answer is yes because it might be expired, you need FEFO. If yes because it is stale, dated or superseded, you need FIFO. If the answer is genuinely no because the units are interchangeable, LIFO is tolerable and you can take the storage-density win. That single question sorts almost every SKU correctly.
7. A note on FIFO and LIFO as costing methods (not accounting advice)
Here is the distinction that causes the most confusion, and I want to draw it cleanly. Everything above has been about physical stock rotation: which actual carton a picker removes from a shelf. But FIFO and LIFO are also the names of inventory costing methods, which are an entirely separate accounting concept about which cost figure you attach to goods when they are sold, for the purpose of valuing inventory and calculating cost of goods sold. The two uses share the same names and are constantly mixed up, but they are not the same thing.
As a costing method, FIFO assumes the cost of the earliest purchased units is recognised first, and LIFO assumes the cost of the most recently purchased units is recognised first. Crucially, this is a bookkeeping assumption about cost flow, not a statement about which physical unit left the building. A warehouse can rotate stock physically by FEFO for freshness while its finance team values inventory using a FIFO cost assumption, and there is no contradiction, because one describes the movement of goods and the other describes the movement of costs. The physical picker and the accountant are answering different questions with coincidentally similar vocabulary.
I am deliberately not going to tell you which costing method to use, because that is a decision for your accountants and is governed by the accounting standards and tax rules of your jurisdiction, some of which permit LIFO costing and some of which do not. This is not accounting advice, and you should treat inventory valuation as a finance and compliance matter, not a warehouse-operations one. The only operational point worth carrying away is this: do not let a conversation about costing methods dictate how you physically rotate stock, and do not assume your physical rotation rule has to match your costing assumption. Keep the two conversations separate. If your enterprise system is where these worlds meet, the Business Central inventory management guide shows how costing and physical handling are configured side by side without being forced to agree.
8. Enforcing rotation in the WMS
A rotation rule is worthless if it lives only in a policy document. On a busy shift, a picker under time pressure will grab whatever is nearest unless the system stops them, and that is how carefully chosen FEFO quietly degrades into last-in-first-out reality behind everyone's back. The value of a warehouse management system here is that it turns rotation from an aspiration into a directed instruction that the picker follows and the system verifies.
Enforcement rests on a few mechanisms working together. First, capture the right data at receiving: for FEFO that means recording the expiry or manufacture date of every batch, and for FIFO the receipt date, both stamped automatically rather than left to memory. Second, hold that data at the right granularity, meaning the system tracks stock by batch or lot within each location so it knows which units carry which dates. Third, let the system direct the pick: when an order line is allocated, the WMS chooses the correct unit under the active rule and tells the picker exactly which location and batch to take, rather than leaving the choice open. Fourth, verify at the point of pick with a scan, so an attempt to take the wrong batch is caught and corrected rather than silently allowed.
Layered on top of directed picking, a good system also manages the edges of rotation. It can quarantine or block expired stock so it cannot be allocated at all, flag near-expiry stock for prioritised movement or markdown, and report on stock approaching its shelf life before it becomes waste. That near-expiry handling is where FEFO earns its keep beyond the basic pick order, and it is covered in more depth in the expiry date management guide. The underlying batch identity that all of this depends on comes from the lot and batch tracking layer, and the whole picture of how these pieces assemble into an automated operation is laid out in the warehouse automation complete guide.
The operational lesson from every rollout I have been near is the same: rotation succeeds or fails at receiving and at the pick face, not in the policy. If receiving captures clean dates and the system directs and verifies every pick, the rule holds under pressure. If either of those is weak, the cleverest rotation strategy on paper will drift back to whatever is convenient, and you will be back to throwing away short-dated stock and wondering why. Make the system do the enforcing so that doing the right thing is also the easiest thing for the picker.
9. References
The concepts in this guide are standard warehousing and inventory practice rather than the invention of any single source. The following are useful, authoritative starting points for readers who want the formal definitions and the accounting-standards context. Verify current details against the primary bodies, since standards and jurisdictional rules change.
- APICS / ASCM, Supply Chain Operations Reference and Dictionary, for standard definitions of FIFO, LIFO and stock-rotation terminology.
- Good Distribution Practice (GDP) and Good Manufacturing Practice (GMP) guidelines for pharmaceuticals, which mandate FEFO handling of dated medicinal products.
- World Health Organization guidance on vaccine and medicine stock management, which specifies earliest-expiry-first issuing.
- Codex Alimentarius and national food-safety authorities on shelf-life and date-marking practice for food and beverage stock.
- IFRS (IAS 2 Inventories) and relevant national accounting standards and tax authorities for the treatment of FIFO and LIFO as inventory costing methods. Confirm what your jurisdiction permits.
Final thoughts
FEFO, FIFO and LIFO are three answers to one small question, and the whole skill is matching the answer to the product. If it expires, rotate by earliest expiry and build the lot tracking to make that reliable. If it merely ages, rotate by earliest received and keep your stock current without the overhead of dates. If it is interchangeable bulk where age truly does not matter, LIFO is a tolerable consequence of dense storage rather than a sin. Choose deliberately rather than letting the layout choose for you, and keep the physical-rotation conversation firmly separate from the accounting-costing conversation that borrows the same names.
Most rotation failures are not failures of knowledge; the rules are simple. They are failures of enforcement, where a sound rule is quietly undone by a busy pick face and weak receiving discipline. Capture the dates cleanly, hold stock at batch granularity, let the system direct and verify every pick, and manage the near-expiry edges before they become waste. Do that and rotation stops being a source of shrinkage and audit findings and becomes what it should be: an invisible discipline that puts the right unit in every order without anyone having to think about it.
Setting up rotation rules in your warehouse?
Independent advisory on FEFO and FIFO strategy, batch and expiry tracking, WMS-directed picking, and the integration between warehouse operations and your ERP. 22+ years across ERP, EAM, CAFM and enterprise integration. No software vendor margins, no reseller arrangements.
Book a conversationRelated reading: Warehouse automation: the complete guide, Expiry date management, Lot and batch tracking, Business Central inventory management, What is a WMS.
Muhammad Abbas
CMMS / CAFM Manager & Enterprise Integration Specialist · 22+ years across ERP, EAM, CAFM and enterprise integration.
Work with me