FEFO explained: managing shelf life and batch rotation

Ready for a 3PL? Compare 200+ fulfilment providers instantly, or let our experts find your perfect match.
Share
First Expired, First Out (FEFO) is a stock rotation method where the batch with the earliest expiry date gets picked and despatched first. For brands selling anything with a shelf life, it decides how much stock you write off, how many customers receive short-dated orders and, in some categories, whether you stay compliant.
Most brands assume their Third-Party Logistics (3PL) provider handles this. Plenty do. Some apply First In, First Out (FIFO) and treat it as close enough, and some say they run FEFO without the batch-level data needed to do it properly. This guide covers how FEFO works, how batch traceability supports it, what good shelf life management looks like inside a warehouse, and the questions that show whether a provider is doing it right.
What is FEFO?
FEFO means the warehouse picks stock by expiry date. When an order comes in for a product held across several batches, the Warehouse Management System (WMS) directs the picker to the batch that expires soonest, whichever batch arrived first.
Take a supplement brand holding two batches of the same Stock Keeping Unit (SKU). Batch A arrived in January and expires in March 2028. Batch B arrived in April and expires in November 2027, because the manufacturer produced it earlier and held it before shipping. Under FEFO, Batch B goes out first, even though it arrived three months later.
FEFO works at batch level. The SKU tells the system what the product is. The batch or lot number tells it when that specific stock was made and when it expires. Without batch data, a warehouse can't apply FEFO, whatever its process documents say.
FEFO vs FIFO: when they match and when they split
FIFO picks by receipt date: the stock that arrived first leaves first. It's the default in most warehouses and works well for products with no expiry date, or where every batch has the same shelf life and arrives in production order.
In a stable operation, the two methods often give the same result. If your manufacturer ships batches in sequence, each with a consistent 24-month shelf life, the oldest stock by arrival is also the stock closest to expiry.
They split when batches arrive out of expiry order. That happens more often than brands expect:
Supplier changes: a new manufacturer or a revised production schedule means batches arrive with different amounts of remaining shelf life.
Delayed inbounds: a shipment held at port or by the supplier turns up after a later production run.
Returns: returned units that pass inspection go back into stock, often with less shelf life than the batch already on the shelf.
Promotional or sample batches: short runs made for a launch or campaign can carry a shorter shelf life than standard production.
Transfers between warehouses: stock moved in from another facility keeps its original expiry dates but gets a new receipt date.
In each case, FIFO picks the wrong batch. The shorter-dated stock sits in the warehouse while earlier-received stock with plenty of life left goes out first. Nobody notices until a batch expires on the shelf or a customer opens a product with six weeks left on it.
Which products need FEFO?
Any product carrying a use by date, best before date or expiry date should be picked under FEFO. The main categories:
Food and drink: UK food law treats use by and best before dates differently. Food past its use by date can't legally be sold. Food past its best before date can be sold if it's still safe, but most ecommerce customers will treat it as a fault and complain or return it. Short-dated food costs you either way.
Supplements and vitamins: expiry dates reflect potency, because active ingredients degrade over time. Supplement brands often hold several batches of one SKU from different production runs, so confirm FEFO runs at batch level.
Beauty and skincare: under UK cosmetics regulations, products with a shelf life of 30 months or less must show a date of minimum durability. Longer-lasting products carry a Period After Opening (PAO) symbol instead. Anything with a date on pack should be managed under FEFO, particularly formulations with active ingredients, natural preservatives or a water base.
Pet food and treats: the same shelf life rules and customer expectations apply as with food for people. Pet owners check dates.
Pharmaceuticals and medical devices: Good Distribution Practice (GDP) guidelines, enforced in the UK by the Medicines and Healthcare products Regulatory Agency (MHRA), require stock rotation by expiry. FEFO is mandatory in this category.
If your product needs batch or lot tracking for recalls or regulatory reasons, FEFO and batch traceability come as a pair.
Batch traceability: the data FEFO depends on
Batch traceability means you can follow a specific batch from the moment it arrives at the warehouse to every customer who received it. It's the data layer underneath FEFO, and it's what protects you when something goes wrong with a product.
It starts at goods-in. When stock arrives, the warehouse team should record the batch number and expiry date for every carton or pallet, check them against your Advance Shipping Notice (ASN), and store each batch so the WMS knows exactly which location holds which dates.
If that step is rushed, nothing downstream works. Stock arrives mislabelled. A pallet holds two batches but gets booked in as one. A supplier prints the expiry in a date format the team misreads. Each of these breaks FEFO before a single order has been picked.
At despatch, the WMS should record which batch went into which order. That link is what makes a recall manageable. If a supplier tells you a batch is contaminated or mislabelled, you need three answers quickly:
How much of that batch is still in the warehouse?
Which orders contained it, and which customers received them?
Is any of it in transit right now?
A 3PL with full batch traceability can answer all three from a single report. One without it is working through order history and pick lists by hand while the affected product stays in customers' homes.
Shelf life management: the rules around the pick
FEFO decides which batch goes first. Shelf life management covers everything around that decision: what stock the warehouse accepts, what it's allowed to send, and what happens as dates get close. Agree these rules with your 3PL before stock arrives, and write them into your Service Level Agreement (SLA).
Minimum shelf life on receipt: the least remaining life a batch can have when it arrives. Stock below the threshold gets flagged before it's put away, so you can raise it with your supplier while you still have grounds to dispute it.
Minimum shelf life on despatch: the least remaining life a product can have when it leaves for a customer. Base it on how long customers take to use the product. A 60-day supply needs at least 60 days of life on arrival, plus a buffer for transit and the customer's own storage.
Channel-specific rules: marketplaces and retailers set their own minimums. Amazon's rules for Fulfilment by Amazon (FBA) require expiry-dated stock to arrive with enough shelf life for the customer to use the whole product, plus 90 days. A tub of 240 daily servings needs at least 330 days left at check-in. If your 3PL handles FBA replenishment or wholesale orders alongside direct-to-consumer orders, each channel needs its own rule in the WMS.
Short-dated alerts: a set point before expiry when the 3PL tells you stock is getting close. That gives you time to discount it, bundle it, run a promotion or move it to a clearance channel.
Quarantine and disposal: expired stock should move to a quarantine location automatically so it can't be picked, then be disposed of, returned to supplier or donated in line with your instructions. Agree who pays for disposal and how it's documented.
With these rules in place, write-offs become decisions you make in advance. Without them, you find out about short-dated stock at the next stock count or in a customer review.
Where FEFO goes wrong
Most FEFO failures start in the process around the picking rule. These are the gaps to look for:
Batches not captured at goods-in: on a busy inbound day, the team books stock in at SKU level to clear the dock. From that point the WMS has no expiry data for that stock.
Mixed batches in one location: two batches share a pick face, so the picker grabs the nearest unit. The system records Batch B as sent while the customer receives Batch A.
Manual overrides during peak: pickers skip to a closer or fuller location to hit pick rates. Unless the WMS blocks or logs the override, rotation slips without anyone seeing it.
Returns put back without a date check: a returned unit goes back into general stock under the wrong batch, or with no batch at all. Your returns process needs a batch and date check before anything is restocked.
Kits and bundles: a gift set or subscription box contains several components, each with its own expiry. The kit's usable life is set by its shortest-dated component, and the WMS needs to track that when kits are built in advance.
Each of these is fixable, and a well-run 3PL will already have controls in place. Ask about each one by name.
FEFO for subscription brands
Poor stock rotation hits subscription brands harder than most. You're sending to the same customers on a fixed schedule, so a subscriber who receives a product with eight weeks left on it has a reason to cancel before the next cycle. Across a subscriber base, that churn costs far more than the stock.
Three things to set up with your 3PL:
Batch-level FEFO for every component: each expiry-dated item in the box should be tracked and picked by batch, including inserts and samples.
A despatch minimum that covers the cycle: a monthly box of consumables needs enough life for the customer to finish the product before the next one arrives, plus a buffer.
A stock check before each despatch run: the 3PL should confirm there's enough in-date stock to fulfil the whole cycle. If there isn't, you want to know before the run starts, while you can still bring in fresh stock or adjust the box.
Questions to ask your 3PL about FEFO
Whether you're evaluating a new provider or reviewing your current one, these questions show whether FEFO and batch traceability work in practice. Add them to your discovery call, then ask to see the process running on your site visit:
Batch-level tracking: does your WMS record batch number and expiry date for every unit, from goods-in to despatch? SKU-level tracking can't support FEFO.
System-enforced picking: does the WMS direct pickers to the correct batch, and does it block or log picks from the wrong one? A process that relies on pickers choosing correctly will slip during peak.
Out-of-sequence batches: how do you handle an inbound batch that expires before stock already on the shelf? The answer shows whether the provider understands where FIFO and FEFO split.
Shelf life rules: can you set minimum shelf life on receipt and on despatch, by SKU and by channel?
Short-dated alerts: at what point do you flag stock approaching expiry, and how do you tell us?
Recall readiness: if we told you a batch had to be recalled today, how quickly could you tell us which customers received it?
Reporting: can you show me a recent batch-level inventory report? A provider running FEFO properly produces these as standard. If they can't send one quickly, the process may only exist on paper.
Find a 3PL that runs FEFO properly
We match brands with 3PLs that have the WMS capability and processes to run FEFO and batch traceability across food, supplements, beauty and pet products. Tell us what you sell and which channels you sell through, and compare 3PLs with batch-level FEFO.


