This is about picking order, not accounting
FIFO, LIFO, and FEFO are also used as accounting terms for how you assign cost to inventory sold (cost-flow assumptions that affect COGS and taxes)—that side is covered in Inventory Valuation Methods. This page covers the other, more literal meaning: the physical order stock actually gets picked and shipped off the warehouse shelf.
The two do not have to match. A business can pick stock physically in FEFO order (nearest expiry first) while using weighted-average cost for accounting, and many do—the rotation decision is about product quality and shrinkage; the valuation decision is about financial reporting.
FIFO, LIFO, and FEFO as rotation rules
FIFO (First In, First Out): pick the oldest received stock first. This is the default rotation rule for most non-perishable goods, since it prevents units from sitting at the back of a shelf indefinitely while newer stock gets pulled from the front.
LIFO (Last In, First Out): pick the newest received stock first. As a physical rotation rule this is unusual and mostly happens by accident (stacking new deliveries on top of old ones and picking from the top) rather than by design—it tends to leave older units stranded.
FEFO (First Expired, First Out): pick the unit nearest to its expiry or best-by date first, regardless of when it was received. This overrides FIFO whenever a more recently received batch happens to have a shorter remaining shelf life than an older one.
- FIFO: oldest received, picked first—default for most non-perishable stock
- LIFO: newest received, picked first—usually an accident of storage layout, not a deliberate choice
- FEFO: nearest expiry, picked first—the standard for anything with a shelf life
When FEFO and FIFO disagree
FEFO and FIFO usually produce the same pick order, since stock received earlier is often also closer to expiring. They diverge when a newer batch has a shorter shelf life than an older one still in stock—a common scenario when suppliers rotate manufacturing dates or when a promotional batch was produced closer to shipping.
In that case, following FIFO (picking the older batch) instead of FEFO risks the newer, shorter-dated batch expiring on the shelf while the older batch sells through fine. Anything perishable should use FEFO as the rule, not FIFO by default.
Enforcing rotation rules in practice
Rotation rules only work if staff can actually see which unit to pick—a printed or scanned expiry date at the point of picking, not a rule staff are expected to remember and eyeball. Batch or lot tracking with expiry dates captured at receiving is what makes FEFO enforceable in the first place; without that data, "pick the nearest expiry" is not something a picker can act on.