FEFO
First Expired, First Out
FEFO (first expired, first out) is a stock rotation rule that ships the units with the earliest expiry date first, regardless of when they arrived. It is used for food, cosmetics, supplements and any product with a shelf life, to reduce write-offs from stock that expires in the warehouse.
How FEFO allocation works
FEFO looks at the expiry date on each lot and allocates the earliest one first. Arrival date doesn't matter.
For example, you hold two lots of olive oil OIL-008. Lot LOT-0612 arrived in August and expires in December 2026. Lot LOT-0526 arrived in September, from a different production run, and expires in November 2026. Under FEFO, the next order is filled from LOT-0526, even though it arrived later. Under FIFO, the August lot would ship first and the November lot would be left on the shelf, closer to expiry.
FEFO only works if every lot's expiry date is captured at receiving and stays attached to the stock through every move. Without that data, the rule has nothing to sort by.
Minimum remaining shelf life
Many retail and wholesale customers refuse stock with too little life left, for example anything with less than 90 days to expiry. FEFO on its own would happily send them the oldest lot. In practice, FEFO is combined with a minimum shelf-life check per customer or channel: the earliest-expiring lot that still meets the customer's requirement is allocated, and lots that fall short are routed elsewhere or flagged for a decision.
FIFO vs FEFO: when each applies
FIFO ships the oldest receipt first and works well when every delivery has a similar shelf life. FEFO is the safer rule whenever shelf lives vary between deliveries, because the arrival order and the expiry order can differ. For goods with no expiry, FEFO has nothing to act on and FIFO is the usual choice. The FIFO vs FEFO vs LIFO guide compares all three in detail.
Common FEFO mistakes
Most FEFO failures happen on the floor, not in the rule.
- Expiry dates skipped or keyed wrongly at receiving.
- Pickers taking the nearest carton instead of the allocated lot, with no scan to catch it.
- Several lots mixed in one bin, so the picker can't see which one is which.
- Expired or held lots still counted as available and offered to orders.
How NextStock handles FEFO
NextStock captures lot and expiry at receiving, including from GS1 barcodes, and its automatic allocation can apply FEFO. Pickers scan to confirm what they pick, and alerts flag stock that is approaching expiry. Stock in quarantine, damaged or hold status is tracked separately from available stock. See lot and expiry tracking for the full flow.
Part of the NextStock warehouse glossary. Browse the full glossary