Skip to content
← All posts
InventoryJuly 2, 2026· 6 min read

FEFO vs FIFO: why food brands pick by expiry

FIFO and FEFO sound similar and are often confused, but for a food or beverage brand the difference is money. FIFO ships the oldest stock first. FEFO ships whatever expires first. When shelf life drives your margin, picking by received date instead of expiry date is how good product quietly ages into a write-off.

FIFO: first in, first out

FIFO assumes the first unit you received is the first you should ship. It is the default in most inventory systems and it works well when every unit of an item has the same usable life. For hardware, apparel, or dry goods with no meaningful expiry, FIFO is fine and keeps the accounting clean.

FEFO: first expiry, first out

FEFO assumes the unit that expires soonest should ship soonest, regardless of when it arrived. That distinction matters the moment two lots of the same item have different best-by dates, which is nearly always true in food and beverage. A lot received later can easily expire sooner (shorter remaining shelf life from the supplier, a warmer production run, a different formulation). Under FIFO you would ship the older lot and leave the sooner-expiring one to age out. Under FEFO you ship the sooner-expiring lot first and protect the margin.

Why food brands pick by expiry

Three reasons. First, write-offs: expiry-driven spoilage is one of the largest silent losses in a food P&L, and FEFO directly reduces it. Second, retailer requirements: many retailers enforce a minimum remaining shelf life on receipt, so shipping a lot that is technically fine but close to its best-by date triggers rejections and chargebacks. Third, recall readiness: picking by lot and expiry keeps clean lot genealogy, so a recall trace is a query instead of a paper hunt.

What FEFO needs from your system

FEFO only works if inventory is tracked at the lot level with an expiry date on every lot, and if allocation actually picks the first-expiring lot across every warehouse automatically rather than leaving it to a picker's judgment. In Cairn, lot and expiry live on real-time inventory, allocation runs FEFO by default, and alerts fire before a lot reaches its best-by date, so aging stock surfaces while it can still be sold or moved. It maps directly to the food & beverage workflow.

See FEFO picking on your own SKUs.

Get a demo

Replace your legacy ERP. In weeks.

Twelve months and six figures used to be the price of admission. Not anymore.

Get a demo

White-glove implementation No per-transaction fees No surprise invoices