FIFO, LIFO & FEFO: Stock Rotation Order

FIFO, LIFO, and FEFO decide which physical unit of stock to pick or ship first on the warehouse floor—oldest, newest, or nearest to expiry. Not the same question as accounting valuation.

Loading StockFlow

STOCKFLOW

Inventory management

FIFO, LIFO & FEFO: Stock Rotation Order

FIFO, LIFO, and FEFO are rules for which physical unit of stock gets picked or sold first—oldest received, newest received, or nearest to expiry. This is the warehouse rotation question, separate from which method you use for accounting valuation.

By Tibeau De Grauwe, FounderUpdated August 2026

  • No credit card required
  • Setup in 10 minutes
3 min read

Key takeaways

  • FIFO, LIFO, and FEFO answer the same question in three different ways: which physical unit of stock do you pick or ship first?
  • FEFO (nearest expiry first) is the standard for anything with a shelf life; it often lines up with FIFO but overrides it when a newer batch happens to expire sooner.
  • This is a warehouse rotation decision, not the same thing as your accounting valuation method—you can pick stock in one order and value it in your books using a different method. See Inventory Valuation Methods for the accounting/COGS side.

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.

Related resources

Frequently asked questions

What is the difference between FIFO, LIFO, and FEFO in a warehouse?
FIFO picks the oldest received stock first, LIFO picks the newest received stock first, and FEFO picks the unit nearest its expiry date first regardless of when it arrived. FEFO is the standard for perishable goods.
Do FIFO and FEFO always give the same pick order?
Usually, since older stock is often also closer to expiring, but not always. When a newer batch has a shorter shelf life than an older one, FEFO overrides FIFO and the newer, shorter-dated batch gets picked first.
Is FIFO for warehouse picking the same as FIFO for accounting?
No. They share a name but answer different questions—physical FIFO decides which unit gets picked off the shelf first; accounting FIFO decides which cost gets assigned to that sale for financial reporting. A business can use one method for picking and a different one for accounting.
What does StockFlow need to enforce FEFO picking?
Batch or lot tracking with expiry dates captured at receiving. Once that data exists, staff can see which specific batch is nearest to expiry at the point of picking, rather than relying on memory or a visual check.