FIFO vs FEFO: Why Date-Sensitive Imports Need First-Expired-First-Out Picking

Warehouse pallet racking with location barcodes
Warehouse pallet racking with location barcodes

Most warehouses run on first-in-first-out: the stock that arrived earliest is picked first. It is simple and it works for goods that do not carry an expiry date. But for imported products that do carry one, food and drink, cosmetics, supplements, medicines, some chemicals and adhesives, the order in which stock arrives is not always the order in which it expires. A later shipment can hold older-dated goods than an earlier one. When that happens, FIFO ships stock that will expire sooner than stock you keep on the shelf, and you end up with write-offs and rejected deliveries. The fix is first-expired-first-out, FEFO. This guide explains the difference, what it takes to run FEFO, and how it connects to receiving discipline. It builds on our guides to cycle counting and slotting.

Where FIFO quietly fails

Consider a distributor importing a packaged food from China. Shipment A leaves the factory in March with goods produced in February. Shipment B leaves in May, but the factory pulled stock from an earlier production run, so shipment B contains goods produced in January. Shipment B arrives after shipment A. Under strict FIFO, the warehouse picks shipment A first because it was received first, and the January-dated goods from shipment B sit at the back. Those January goods have the shortest remaining shelf life in the building, and by the time they are picked they may be inside a retailer minimum-life window and get rejected on delivery. FIFO did exactly what it was told; it was told the wrong thing.

This is not a rare edge case with Chinese suppliers. Production runs, mixed pallets, stock held at the factory over Chinese New Year, and partial shipments all break the arrived-first-equals-expires-first assumption. Any importer of dated goods will hit it.

What FEFO needs that FIFO does not

FEFO picks by the earliest expiry date, wherever that stock physically sits. To do that, the warehouse has to know the expiry date of every unit it holds. That requirement drives four things:

  • Batch and expiry capture at receiving. When a shipment is booked in, staff record the batch or lot number and the expiry or best-before date for each SKU and each date code in the delivery, not just the quantity. A delivery with three date codes becomes three stock records.
  • A system that stores the date. A spreadsheet can do it for a small operation; a warehouse management system does it properly, holding expiry as a field on the stock record and sorting pick suggestions by it. Our WMS basics guide covers the entry level.
  • Location logic that allows date mixing. Racking has to let you store the same SKU in more than one location by date, and the pick process has to direct staff to the earliest-expiry location even if it is not the most convenient.
  • A minimum-remaining-life rule. You decide, and put in the purchase contract, how much shelf life the supplier must ship with, expressed as a share of total life or as a number of months. Goods that arrive below that threshold are rejected or accepted at a discount, by agreement, not by surprise.

The inbound acceptance rule is half the battle

FEFO on the outbound side only works if the inbound side stops short-dated stock entering at full value. Before you can rotate by expiry, you have to refuse or flag goods that will expire before you can realistically sell them. Put a clause in the pro forma invoice and contract: for example, goods must be delivered with at least a defined proportion of shelf life remaining, measured at the port of discharge. Then check it at receiving against the date codes, and log any shortfall the moment it is found, with photos, so a claim or price adjustment is possible. Accepting a container of nearly-expired goods and discovering it three weeks later is a loss you cannot recover.

Running FEFO on the floor

  • Label each pallet or case group with its expiry date large enough to read from the aisle, in addition to the batch code.
  • Store the earliest-expiry stock in the most accessible pick face; move later-expiry stock to reserve.
  • When replenishing the pick face, pull from the earliest-expiry reserve location, not the nearest.
  • Have the system generate pick lists sorted by expiry, and make overriding that order a supervised exception, not a routine choice.
  • Run a weekly short-life report: everything within a set number of days of expiry, so it can be pushed, discounted or returned before it is dead stock.
  • Count expiry-dated SKUs more often in your cycle count, because a date error is as costly as a quantity error.

When plain FIFO is still fine

If you import hardware, textiles, electronics, furniture, machinery or spare parts, none of this applies; those goods do not expire and FIFO by receipt date is the right rule, mainly to limit how long capital sits as stock. FEFO adds real work, batch capture, multi-date locations, short-life reporting, and it is only worth it for goods where a date on the pack decides whether the unit is sellable. The failure is running FIFO by habit on a product range that has quietly started to include dated goods.

How we help on the warehousing side

DE International can receive your imported stock with full batch and expiry capture, store it so the earliest-expiry goods pick first, and send you a weekly short-life report so nothing dies on the rack. We can also build the minimum-remaining-life clause into your supply contract and check it at the port so short-dated shipments are caught on arrival. Tell us your product range and monthly volume and we will scope it.

A worked comparison on one SKU

Take a single imported packaged food line to see the two rules diverge. Two shipments are in the warehouse:

  • Shipment A, received 1 March, contents produced in February, best-before end of the following February.
  • Shipment B, received 1 May, contents produced in January from an earlier run, best-before end of the following January.

Under FIFO, the warehouse picks shipment A first because it arrived first. Shipment B, with the January best-before, sits in reserve. When it is finally picked in, say, the following November, it has roughly two months of life left. If your retail customers require a minimum of three months remaining on delivery, that stock is now unsellable through normal channels and becomes a write-down or a discount clearance.

Under FEFO, the warehouse sees that shipment B expires first and picks it ahead of shipment A regardless of arrival order. Shipment B goes out while it still has eight or nine months of life, comfortably inside any retailer window, and shipment A follows. Same stock, same warehouse, different rule, and the difference is the margin on a full shipment. The only extra cost to run FEFO here was capturing the best-before date of each shipment at receiving and letting the system sort by it.

DE International sources, inspects and ships from China to Bangladesh, and handles the customs and warehousing side once the goods land. If you want help applying any of this to a live shipment or a facility you are planning, tell us the product, the volume and the location, and we will build a plan and a quote around it. Start at our services page, see how our China sourcing and buying agent service works, browse the shop, or contact us directly.

Leave a Reply

Your email address will not be published. Required fields are marked *