FIFO (first in, first out) is the stock rotation method in which the batch that arrived first is shipped first. FEFO (first expired, first out) ignores arrival order and ships the batch with the nearest expiry date first. For goods without a use-by date, FIFO is enough; for anything with a shelf life, FEFO is the right rule.
Food, pharmaceuticals, cosmetics and chemicals need FEFO because a batch that arrives later can still expire sooner. Either way, the rule only works when your warehouse software enforces it — not when it lives in a procedures manual.
What actually happens on the shelves
On paper, everyone runs FIFO. In practice, pickers take stock from wherever it is easiest to reach. The newest pallet was put at the front; the older one is behind it. The same item sits in two locations and the nearer one gets picked. On a busy day nobody has time to ask which batch is older.
The problem surfaces months later: expired cartons are found at the back of a rack, a customer rejects a delivery because the remaining shelf life is too short, or a retail chain refuses goods below its minimum-life threshold. In most businesses these losses are lumped together as "waste" and the root cause is never separated out.
FIFO vs FEFO vs LIFO: what is the difference?
| Method | Rule | Suited to | Watch out for |
|---|---|---|---|
| FIFO | Oldest receipt ships first | Undated goods that still age: packaging, textiles, spare parts, electronics | Receipt date must be recorded per batch |
| FEFO | Nearest expiry ships first | Food, beverages, pharmaceuticals, cosmetics, chemicals, agrochemicals | Expiry date must be captured for every batch at receiving |
| LIFO | Newest receipt ships first | Non-perishable bulk material (sand, aggregate, coal piles) | Increases waste for anything with a shelf life |
Two practical notes. First, FEFO often produces the same result as FIFO; the difference appears when a supplier later sends a batch with a shorter date, or when returns with older production dates go back into stock. Second, the physical picking rule discussed here is separate from the inventory valuation method used in your accounts. IFRS (IAS 2) does not permit LIFO for valuation, but your warehouse can run FEFO regardless of which valuation method finance uses. Discuss the valuation choice with your accountant.
The cost of getting rotation wrong
Poor rotation comes back as write-offs, returns and lost customers. Global data shows storage is far from a minor link in the chain:
FAO estimates that 13.3% of food was lost globally in 2023 between harvest and retail — on farm, in transport, storage, wholesale and processing — rising to 25.4% for fruits and vegetables. (FAO SDG 12.3.1 Global Food Losses indicator)
Closer to the consumer the picture is similar. The UNEP Food Waste Index Report 2024 found that 1.05 billion tonnes of food were wasted in 2022, with food services responsible for 28% and retail for 12%. Wholesalers, distributors and contract caterers sit right between those two links.
The cost is not only waste. When expired or non-compliant goods slip into a shipment, it becomes a food safety issue. According to the European Commission's Alert and Cooperation Network 2024 Annual Report, the EU's Rapid Alert System for Food and Feed (RASFF) received 5,250 notifications in 2024, up 12% on 2023. For producers in Türkiye exporting to the EU, being able to show within minutes which batch went to which customer is decisive during a recall. Running a product recall drill is the best way to test that speed before a real incident does.
Six steps to enforce FEFO in your warehouse
- Capture lot and expiry at receiving. Every batch's lot number and expiry date must be in the system before it reaches a shelf. If the supplier label carries this as a barcode (for example GS1-128; see GS1 barcode types), scan it; if not, print your own label.
- Address stock by batch. Different batches of the same item can sit in different bins; what matters is that the system knows which batch is where. We explain the address scheme in warehouse bin location systems.
- Let the system build the pick list. A picker should never have to decide which rack to go to. The list should point to the bin holding the batch with the nearest expiry. If orders are picked in waves, the FEFO rule must be built into the wave picking plan too.
- Block the wrong batch at the scan. When a picker scans a batch that is not on the list, the handheld should warn and stop the transaction. This is the moment the rule becomes enforceable. The same check applies when instructions come through a headset in voice picking: the system, not the picker, chooses the batch.
- Define customer-specific minimum shelf life. Some customers will not accept goods with less than a set share of total shelf life remaining. Store that requirement on the customer record and the system will choose a suitable batch automatically.
- Connect expiry alerts to sales. Generate alerts a set number of days before expiry, so sales can move that stock through a promotion, another channel or internal use. The best way to cut waste is to buy the right quantity in the first place, which is where AI demand forecasting comes in.
All of these steps sit naturally inside a warehouse management system (WMS). Trying to run FEFO on spreadsheets or paper means the busiest day is the day the rule breaks first.
If you are choosing a packaged warehouse product, test its FEFO support with your own batches, returns and inter-site transfers rather than demo data; wherever the rule breaks shows where the package falls short. The general criteria for that assessment are in custom vs off-the-shelf software, and our other guides to warehouse and business systems are collected in our Software Development articles.
Five common mistakes that quietly break FEFO
A rule that is set up correctly can still erode. These are the situations that come up most often on the warehouse floor:
- Returns go back into stock without batch data. If returned goods are shelved as "general stock", an older batch disappears behind a newer one. Returns need the same discipline as receiving, with lot and expiry scanned again.
- Mixed pallets are recorded as one batch. If a pallet holds cartons with two different expiry dates but the system knows it as a single batch, the batch FEFO selects cannot be physically identified. Split mixed pallets at receiving.
- Inter-site transfers drop the date. If goods move from the main warehouse to a branch as a bare quantity, FEFO ends at the branch door. Transfer documents must carry lot and expiry.
- Stock adjustments are made in bulk. If a count variance is corrected without identifying which batch caused it, the batch split in the system no longer matches reality. Adjust at batch level.
- Urgent orders bypass the rule. With a driver waiting at the dock, the nearest carton gets grabbed. A warning on the wrong batch, plus a recorded reason for any override, stops exceptions from becoming habit.
What these mistakes share is that batch information gets lost during a movement. FEFO has to be protected not only at picking, but at receiving, returns, transfers and counts as well. We explain how to keep batches intact during counts in handheld terminal stock counting.
Getting the right quantity onto the shelf matters as much as issuing it in the right order. How much stock each store in a chain should hold is covered in our guide to retail inventory optimisation.
Which rule for which sector?
- Food and beverages: FEFO is the norm. For chilled and frozen goods, temperature history affects whether a batch is usable, not just the date; our guide to cold chain monitoring and HACCP covers this in detail. For the full lot-level chain, see food traceability and digital HACCP.
- Pharmaceuticals and medical supplies: FEFO combined with lot and serial number traceability.
- Chemicals, paints, agrochemicals: shelf lives are often long, but FEFO is still recommended; disposing of expired product carries its own cost.
- Spare parts, packaging, textiles: FIFO is enough; the real risk is ageing stock forgotten at the back of the rack.
- Bulk materials: physical layout effectively means LIFO, which is fine as long as the material does not deteriorate.
For cold chain goods, temperature on the road after dispatch also affects shelf life; we cover in-vehicle monitoring in our guide to reefer truck temperature monitoring.
How we implement stock rotation at Digital Bridge
We build FIFO and FEFO into the warehouse workflow rather than treating them as a policy. In our warehouse and inventory management (WMS) projects we:
- Move receiving to batch level. Lot, serial number and expiry date are captured on the handheld at receiving, with label printing in the same step where needed. We supply the handhelds, label printers and other data collection hardware.
- Make FEFO mandatory. Pick lists are generated by expiry date and scanning the wrong batch is blocked. Upcoming expiries are reported.
- Build end-to-end traceability. Which batch went to which customer is recorded at dispatch. In manufacturing sites we extend this back to raw materials with production traceability and barcoding.
- Account for sector conditions. In our food and beverage industry solutions, temperature data from cold chain monitoring can be linked to each batch in cold stores.
If your current ERP does not hold lot and expiry data, we can keep that detail in the WMS and pass only quantities and costs back to the ERP. Food safety audits may also ask who had access to the warehouse: with the SmartPass access control system, entry to zones such as cold stores is limited by permission, and changes to records are kept in an audit trail with their old and new values. Scope, phases and cost are set out in a written proposal after a needs analysis.
Your next step
Run a simple check this week: choose five dated products and see whether the oldest batch on the shelf really is the one being picked first. Then list the last three months of write-offs and short-date returns by product. With those two pieces of information, contact us and we will plan the right rotation rule and set-up for your warehouse together.