FIFO (first in, first out) is the textbook rotation rule, and for shelf-stable goods it works. For anything with a date on the case, it can leave product expiring in the back of the cooler while newer stock goes out the door. Most perishable distributors need both rules, each applied to the right items.

The difference in one paragraph

FIFO picks the lot you received first. FEFO (first expired, first out) picks the lot with the earliest expiration date. Most of the time those are the same lot, because the oldest receipt usually carries the earliest date. The two rules split apart when a later delivery carries an earlier date than the stock already on the shelf.

That happens more often than people expect:

  • A supplier ships a short-dated lot to clear their own stock.
  • Two suppliers send the same item from different production runs.
  • A customer return goes back into sellable stock with less life left than the pallet beside it.
  • A pallet gets put away in the wrong spot, sits for a week, and is found later.

A simple example

Suppose you sell 10 cases of yogurt a day. On Monday you receive 200 cases with 40 days of shelf life. On Wednesday the same supplier sends 100 cases with only 20 days left.

Under FIFO, pickers work through Monday's lot first. At 10 cases a day, that takes 20 days. By the time they reach Wednesday's lot, it has two days left. You sell about 20 more cases and write off the other 80.

Under FEFO, pickers switch to Wednesday's lot as soon as it arrives. It is gone ten days later, well before its date. Monday's lot then sells through with about ten days to spare. Nothing expires. Same stock, same demand, same pickers. The only change is which pallet they reach for.

Where FIFO still belongs

FEFO needs a date to sort by. Plenty of what a food distributor carries has no meaningful date, or one so far out it never matters: paper goods, cleaning supplies, disposables and many canned and dry items. For those, FIFO is simpler and does the job. Receivers do not have to record a date, and pickers take the oldest receipt.

FIFO also has a second job on dated items: breaking ties. When two lots carry the same expiration date, ship the one that has been in the building longer. That keeps older pallets from getting buried behind newer ones.

One thing to keep separate: FIFO is also an accounting method for valuing inventory. How you value stock and how you rotate it on the floor are different decisions. You can pick by FEFO and value inventory at weighted average cost, or whatever method your accountant uses.

FEFO has a blind spot: the customer's minimum

Pure FEFO sends the shortest-dated lot out first, to whoever orders next. Some customers will not accept product with less than a set number of days left, and they will refuse it at the door. A strict FEFO rule can send your shortest-dated case to exactly the customer who will send it back.

The fix is FEFO with a floor. Record each customer's minimum remaining shelf life where they have one, and skip lots that do not meet it for that customer. Short-dated stock then goes to customers who use product quickly, such as a busy restaurant that goes through a case in a day or two. What nobody can use in time gets marked down or offered as a special before it turns into a write-off.

Why FEFO breaks down in practice

  1. The date is not captured at receiving. If the receiver does not record the expiration date on every lot, the system has nothing to sort by. Make it a rule: no date, no putaway.
  2. Dates come in different forms. Use by, best by, sell by, pack dates and coded dates all show up on cases. Decide which one your team records for each item, and record it the same way every time.
  3. The shelf works against you. If new pallets go in front of old ones, pickers take the front one. Rotate at putaway, not at picking, so the earliest date is always the easiest to reach. Our guide to a putaway flow that keeps receiving moving covers where rotation fits.
  4. Overrides leave no trace. On a busy morning a picker grabs the nearest pallet. If the system allows that without a reason, you find out when the older lot expires.

A checklist for running both

  • Mark every item as dated (FEFO) or undated (FIFO). Fresh, frozen and dairy items are usually dated. Check the rest one by one rather than by category.
  • Track dated items by lot, with the expiration date captured at receipt. This is the same lot tracking you need when a recall comes.
  • Make FEFO the default pick suggestion, and require a reason to pick a different lot.
  • Break ties between lots with the same date by receipt date.
  • Set a minimum remaining shelf life for the customers who require one.
  • Run a short-dated report every week: every lot within a set number of days of its date, with a decision for each one (sell, mark down, donate or write off).
  • Watch write-offs by reason. If expired product keeps showing up, the cause is usually one of the four failures above. Our article on inventory adjustments covers how to categorize them so the pattern is visible.

How APFoodz handles it

APFoodz tracks inventory by lot, with expiration dates, FEFO and quarantine for product that goes bad. The warehouse app handles receiving, putaway and picking on iOS, Android or a Zebra handheld.