What Is FEFO? First Expired, First Out Explained 2026

Learn what FEFO (First Expired, First Out) means, how the method works, how it differs from FIFO and LIFO, and when to use it to cut spoilage and waste.

by OneCart Team
Jun 27, 2026 13 min read

If you sell anything that goes off, the order in which you ship your stock is not a detail, it is the difference between a sale and a write-off. A box of protein bars that sits behind newer stock for three months can quietly cross its best-before date while perfectly sellable units leave the shelf first. FEFO, or First Expired, First Out, is the inventory method that stops that from happening. It tells your team to pick and ship the units that expire soonest, regardless of when they arrived, so the stock closest to its date always moves first.

This guide explains what FEFO means, how the method works in practice, how it differs from FIFO and LIFO, and when you should use it. It is written for ecommerce sellers who handle perishable or date-sensitive products, from food and supplements to cosmetics and pharmacy lines, and who often sell the same stock across Shopee, Lazada, TikTok Shop, Amazon, and their own Shopify or WooCommerce store.

What Is FEFO (First Expired, First Out)?

FEFO stands for First Expired, First Out. It is a stock rotation method where the items with the earliest expiry date are sold or dispatched first, even if newer stock with a later date is physically easier to reach. The driving variable is the expiration date printed on each batch, not the date the stock was received.

The logic is simple. Every unit of perishable stock has a shelf life, a clock running on it. FEFO makes sure the unit with the least time left always leaves first, which gives every item the best possible chance of being sold before it expires. Done well, it keeps spoilage low, protects your customers from receiving short-dated or expired goods, and reduces the amount of stock you have to throw away.

FEFO is most associated with the food, beverage, pharmaceutical, cosmetics, and chemical industries, where shelf life is short and the cost of a missed date is high. A pharmacy cannot ship a medicine that has expired. A grocery seller cannot send a yoghurt that goes off tomorrow. For these sellers, FEFO is not an optimisation, it is a basic requirement of operating safely and legally.

Actionable Insight: FEFO only works if every batch of stock carries a known, accurate expiry date in your system. Before you can rotate by expiry, you have to capture expiry. If your goods-in process records quantity but not the best-before date on each batch, FEFO is impossible to enforce no matter how disciplined your pickers are.

The method sits inside the broader practice of stock rotation, the discipline of controlling which physical units move and in what order. Where general rotation might simply mean moving older stock to the front, FEFO is the precise rule that defines older as closest to expiry rather than longest in storage.

How FEFO Works

FEFO works by tracking stock at the batch or lot level and attaching an expiry date to each batch. When an order comes in, the system or the picker selects units from the batch with the soonest expiry date that still has stock available. Only when that batch is exhausted does picking move to the next-earliest date.

In a manual operation, this usually means physically arranging stock so that the earliest-dated batches sit at the pick face and newer batches are loaded behind or above them. Shelving designed for rotation, such as gravity-fed flow racks, lets you load fresh stock from the back while pickers draw from the front, which keeps the oldest dates moving without anyone having to check a label on every pick.

In a system-driven operation, the warehouse or inventory software holds the expiry date for each lot and directs the picker to the correct location and batch. This removes the guesswork and the risk of a tired picker grabbing the nearest box. The four building blocks of a working FEFO process are:

  • Batch and lot tracking. Each intake of stock is recorded as a distinct batch with its own expiry date, supplier, and quantity. Without this, every unit looks identical to your system and FEFO has nothing to sort on.
  • Expiry capture at goods-in. The best-before or use-by date is recorded the moment stock is received, not guessed later. This is the single most important step and the one most often skipped.
  • Location and rotation discipline. Stock is stored so the earliest dates are the easiest to pick, whether through physical layout or a system that points pickers to the right lot.
  • Pick logic that sorts by date. When fulfilling an order, the rule is always earliest expiry first, applied consistently across every channel you sell on.

When an item is genuinely identical apart from its expiry date, FEFO and FIFO often point to the same unit, because the oldest stock is usually also the soonest to expire. The two methods diverge the moment shelf life varies between deliveries, which is exactly when getting it wrong becomes expensive.

FEFO vs FIFO vs LIFO

FEFO is one of three common stock-handling rules, and the names get muddled often enough that it is worth being precise. The key thing to understand is that FEFO and FIFO are physical rotation methods that decide which unit ships, while FIFO and LIFO are also accounting methods that decide which cost you record. FEFO is purely operational and has no accounting meaning at all.

MethodFull nameWhat moves firstBest suited to
FEFOFirst Expired, First OutThe unit with the earliest expiry datePerishable and date-sensitive stock: food, supplements, cosmetics, pharma
FIFOFirst In, First OutThe unit received earliestNon-dated stock where age still matters, and most accounting
LIFOLast In, First OutThe unit received most recentlyNon-perishable, non-spoiling goods, and certain accounting regimes

FIFO assumes the oldest stock should go first because age is a fair proxy for quality. That holds up well until two deliveries of the same product have different shelf lives. Imagine you receive a batch in March with a December expiry, then a batch in May with a September expiry because it came from older supplier stock. FIFO would ship the March batch first because it arrived first. FEFO would correctly ship the May batch first because it expires sooner. Ship by FIFO here and the September stock could expire on your shelf while you happily dispatch the December units.

LIFO sends the newest arrivals out first. For anything with an expiry date this is the worst possible choice, because it leaves your oldest, soonest-to-expire stock sitting at the back ageing towards a write-off. LIFO has legitimate uses as an accounting method in some markets, but as a physical rotation rule for perishables it is a recipe for spoilage.

Actionable Insight: Do not confuse the accounting method with the picking rule. You can run FEFO on the warehouse floor for safety and freshness while your accountant values inventory using FIFO or weighted average cost. The physical rotation and the cost-flow assumption are separate decisions. Our FIFO vs LIFO guide covers the accounting side in detail.

When to Use FEFO (and When FIFO Is Enough)

FEFO is the right method whenever the expiry date, rather than the receipt date, is the thing that decides whether a unit is sellable. If a product can go off, degrade, or fall out of regulatory compliance on a fixed date, you should be rotating it by FEFO.

Use FEFO when you handle:

  • Food and beverages, where use-by and best-before dates are legally meaningful and freshness drives reviews and repeat orders.
  • Supplements and vitamins, where potency and compliance are tied to a printed expiry.
  • Cosmetics and skincare, where a period-after-opening or expiry date affects both safety and customer trust.
  • Pharmaceuticals and medical products, where shipping expired stock is not just bad practice but often illegal.
  • Chemicals, adhesives, and batteries, where performance degrades to a dated limit.

FIFO is usually enough when your stock does not expire but you still want to clear older units to avoid them becoming obsolete or dead stock. Apparel, electronics, homeware, and hardware rarely need FEFO, because there is no date that renders a unit unsellable. For these categories, rotating by age through FIFO controls the risk of stock going out of fashion or being superseded, without the overhead of tracking expiry on every batch.

A useful test: if two units of the same product could carry different expiry dates depending on which delivery they came from, you need FEFO. If every unit is effectively interchangeable forever, FIFO will serve you fine and cost less to run.

How to Implement FEFO Step by Step

Moving to FEFO is mostly a matter of process discipline and the right data, not expensive equipment. The following sequence works for a small ecommerce seller and scales up to a busy warehouse.

  1. Capture expiry at goods-in. When stock arrives, record the expiry date for each batch alongside quantity and supplier. Treat the date as a mandatory field, not an optional note. This is where most FEFO failures begin, so make it the step nobody is allowed to skip.
  2. Track stock by batch or lot. Hold each delivery as a separate batch in your inventory system so units with different dates are never merged into one anonymous pool. Batch tracking is what makes every later step possible.
  3. Store for rotation. Arrange your storage so the earliest-dated stock is the easiest to pick. Flow racks, clear date labelling, and a front-to-back loading habit all push the soonest expiry to the pick face automatically.
  4. Pick by earliest expiry. Make the rule explicit and consistent: always pick from the batch that expires first. A system that directs pickers to the correct lot removes the human guesswork and is worth the investment once volume grows.
  5. Monitor ageing stock. Run a regular report on units approaching their expiry date so you can act before they become a loss. Short-dated stock can be discounted, bundled, or promoted while it still has value, rather than written off later. This connects directly to keeping your stockout and waste risks in balance.
  6. Reconcile and review. Periodically check physical stock against your records and review how much you are still writing off. A falling write-off figure tells you FEFO is working; a stubborn one points to a step that is being skipped. The waste at stake is significant: the FDA notes that confusion over date labels alone accounts for a large share of avoidable food waste, so tighter rotation pays off directly.

Actionable Insight: Set an internal threshold for short-dated stock, for example any batch within 25% of its remaining shelf life, and trigger a clearance action automatically when a unit crosses it. Acting at a fixed percentage of shelf life remaining turns expiry management from a last-minute scramble into a routine.

Common FEFO Mistakes to Avoid

FEFO fails quietly. Nobody announces that the method has broken down; you just notice the write-off pile growing or a customer complains about a short-dated product. The failures almost always trace back to one of a handful of avoidable mistakes.

  • Not capturing expiry at intake. If the best-before date is not recorded when stock arrives, there is nothing for FEFO to sort on later. Reconstructing dates from cartons weeks afterwards is slow and error-prone. Capture the date at goods-in or accept that FEFO will not work.
  • Merging batches into one pool. Treating all units of a product as a single quantity hides the date differences that FEFO depends on. Once two deliveries with different expiry dates are combined into one number, you can no longer tell your system which units to ship first.
  • Trusting pickers to remember the rule. Under pressure, a picker grabs the nearest box. Relying on memory and goodwill instead of clear date labelling, sensible storage, or system-directed picking guarantees that the rule lapses on the busiest days, which are exactly the days it matters most.
  • Ignoring expiry on returns. A returned unit comes back with less shelf life than when it left. Putting it straight back into general stock without re-checking its date can send a near-expired item out on the very next order.
  • Selling the same stock on multiple channels without sync. This is the trap that catches growing ecommerce sellers. If your Shopee, Lazada, and Shopify stores each draw from the same physical stock but track it separately, you lose the single view of expiry you need to rotate correctly. One channel can keep selling a batch the others have already cleared.

Managing FEFO Across Multiple Sales Channels

For a single shop with one stockroom, FEFO is mostly a matter of labelling and discipline. The challenge multiplies the moment you sell the same perishable stock across several marketplaces. Each order from Shopee, Lazada, TikTok Shop, Amazon, or your own store pulls from the same physical batches, but if every channel tracks inventory in its own silo, no single system knows which batch should ship next or how much shelf life is left.

This is where real-time multichannel inventory management earns its place. OneCart syncs stock across all your connected channels from one source of truth, so a unit sold on Lazada is reflected everywhere instantly. With your inventory unified, you can apply one consistent rotation rule rather than fighting a different stock picture on every platform. The same unified view that prevents overselling also gives you the single, accurate read on stock and ageing that FEFO needs to function. You can connect this to your wider inventory management techniques and your warehouse management setup so that picking, rotation, and channel sync all work from the same data.

The payoff is concrete. Less spoilage means more of what you buy actually gets sold, which lifts margin without a single extra order. Cleaner rotation means fewer customer complaints about short-dated goods, which protects the reviews and account-health metrics that marketplaces watch. And a single stock view means your team stops guessing and starts shipping the right unit every time, across every channel, on every order. Pairing FEFO with disciplined stock rotation and accurate batch picking turns expiry from a recurring loss into a managed, predictable part of the operation.

Frequently Asked Questions

What is the difference between FEFO and FIFO?

FIFO (First In, First Out) ships the stock that arrived earliest, using receipt date as a proxy for which unit should go first. FEFO (First Expired, First Out) ships the stock that expires soonest, using the actual expiry date. They agree when older stock also expires first, but diverge whenever a newer delivery has a shorter shelf life than an older one. For perishable goods, FEFO is the safer rule because it tracks the date that actually decides whether a unit is sellable.

Which industries use FEFO?

FEFO is standard in any sector handling dated stock: food and beverage, pharmaceuticals, supplements and vitamins, cosmetics and skincare, and chemicals. Anywhere a product can expire, degrade, or fall out of compliance on a fixed date, FEFO is the appropriate rotation method. Non-perishable categories such as apparel, electronics, and hardware generally use FIFO instead.

Is FEFO an accounting method?

No. FEFO is purely a physical stock rotation and picking rule. It decides which unit leaves the warehouse, not which cost is recorded in your books. Accounting methods such as FIFO, LIFO, and weighted average cost handle the cost-flow side and are a separate decision. You can run FEFO on the floor while valuing inventory with a different method, which our FIFO vs LIFO guide explains.

How do I start using FEFO?

Begin by capturing the expiry date of every batch at goods-in and tracking stock at the batch or lot level so units with different dates stay distinct. Then store stock so the earliest dates are easiest to pick, make earliest-expiry-first the explicit picking rule, and run a regular report on stock approaching its date so you can clear it before it becomes a loss. If you sell across several channels, unify your inventory so one accurate stock view drives the rotation everywhere.


Ready to stop writing off expired stock? OneCart gives you one real-time view of inventory across Shopee, Lazada, TikTok Shop, Amazon, Shopify, and more, so you always know what you have and what is ageing, on every channel at once. Keep your stock rotating, your customers happy, and your write-offs low. Start your free trial of OneCart and take control of your multichannel inventory today.

Stop tracking inventory in spreadsheets

OneCart's Item Master keeps stock levels in sync across every marketplace you sell on, automatically.

Try OneCart free

Used by hundreds of merchants in Singapore & Southeast Asia