PLM, CAD, Warehouse & Production Systems

What Is FEFO, and Why It Matters More Than FIFO

Most warehouses believe they run FIFO. Fewer run it deliberately, and almost none realize that FIFO is the wrong rule for anything with an expiry date. The distinction sounds academic until the quarterly write-off arrives and nobody can explain why goods expired while sitting in a warehouse that was supposedly rotating stock correctly.

What FIFO actually optimizes for

FIFO, first in first out, issues goods in the order they arrived. The pallet that came in on Monday leaves before the pallet that came in on Wednesday. It is intuitive, easy to explain to a new operator, and it is the rule most warehouses default to without ever formally choosing it.

FIFO optimizes for movement order. It assumes that the longer something has been in your warehouse, the more urgent it is to ship. For goods without a shelf life, that assumption holds well enough.

The problem is that FIFO knows nothing about expiry dates. It only knows arrival dates, and those two orders are not the same thing.

What FEFO does differently

FEFO, first expired first out, issues goods in the order they expire. Arrival date is irrelevant. The only thing that matters is which unit has the shortest remaining shelf life.

FEFO optimizes for risk. It assumes that the most urgent unit to ship is the one closest to becoming worthless, regardless of when it turned up on your dock.

  FIFO FEFO
Sorts by Date of arrival Date of expiry
Optimizes for Stock rotation Loss prevention
Needs to know When it came in Lot number and expiry date per unit
Fails when Delivery order and expiry order differ Expiry dates are not captured at intake
Fits Components, spare parts, packaging Food, pharma, chemicals, cosmetics

Where the two rules disagree

FIFO and FEFO produce identical results in exactly one case: when goods arrive in the same order they expire. Every warehouse quietly assumes this is normal. In practice it breaks constantly.

A situation most warehouses will recognize

On the 3rd, you receive a pallet from your regular supplier. Production date recent, twelve months of shelf life, expiry in the following March.

On the 11th, the same article arrives from a second supplier, because the first one was short. This batch was produced four months earlier and sat in their warehouse. Same article, same packaging, but it expires in November.

Under FIFO, the pallet from the 3rd ships first, because it arrived first. The November pallet sits behind it and keeps sitting there. By the time anyone reaches it, it is either close to expiry or past it.

Under FEFO, the November pallet ships first, and the write-off never happens.

This is not an exotic scenario. It happens whenever you buy the same article from more than one supplier, whenever a supplier clears their own near-expiry stock into your order, whenever a promotional batch is produced ahead of schedule, and whenever goods are returned from a customer and put back into stock.

Why the difference is expensive

The cost of running FIFO on dated goods is not obvious, because it does not appear as a line item called “wrong picking rule”. It appears in three other places.

  • The write-off. Discovered at the inventory count, weeks after anything could have been done about it. By then the goods are unsellable and the discussion is about how much, not how to prevent it.
  • The discount sale. Short-dated stock spotted just in time gets pushed out at a reduced margin. Better than a write-off, and still a loss that was avoidable.
  • The customer complaint. A short-dated delivery reaches a retail customer who has their own shelf-life requirements. That conversation costs more than the goods.

None of these three is recorded as a warehouse problem. The first goes to accounting, the second to sales, the third to customer service. That is precisely why the underlying cause survives for years.

Why FEFO is nearly impossible on paper

Most warehouses that need FEFO believe they are running it. The instruction exists, operators know it, supervisors repeat it. And it still fails, for a structural reason that has nothing to do with discipline.

FEFO requires the picker to know something they cannot see. Standing in front of a rack, an operator sees pallets. Not expiry dates, unless they climb up and read every label, on every pallet, on every pick. Under time pressure, with a target to hit, they take what is reachable.

That is a rational decision by the operator. The system, or lack of one, made the correct choice invisible and the incorrect choice easy.

The test is simple. Ask your warehouse a specific question: which articles currently in stock expire within the next sixty days, and where exactly are they.

If the answer requires someone to walk the aisles, you are not running FEFO. You are running FIFO and hoping the two coincide.

What a system needs to actually enforce FEFO

Enforcing FEFO is not about adding a column to a spreadsheet. Four things have to be in place, and each of them fails on its own.

1. Expiry captured at intake, not later

The expiry date has to be recorded at goods receipt, tied to the specific lot, before the pallet moves anywhere. Recorded later, from a delivery note, it is guesswork. In a well-run receipt process this is a scan and a confirmation, and it takes seconds.

2. Identity at two levels

The lot number carries item level identity: which production batch this unit belongs to, and therefore when it expires. The SSCC code carries pallet level identity: which physical handling unit this is, where it sits, and which shipment it left on.

You need both. Lot alone tells you what expires but not where it is. SSCC alone tells you where a pallet is but not what is inside it.

3. The system picks, not the operator

This is the part that decides whether FEFO works. The operator should not choose which pallet to take. The system should direct them to a specific location, holding a specific lot, and require confirmation that they took it.

The moment the choice is left to a person standing in an aisle, the shortest route wins over the shortest shelf life. Every time.

4. An expiry register that is visible before the count

Expiry dates held in a live register mean that at any moment you can answer the sixty day question above, without anyone walking anywhere. That turns a write-off into a decision you make in advance, while the goods still have value.

This combination is what makes FEFO native to a warehouse management system rather than an instruction taped to a wall. InfoBiro WMS handles all four: expiry recorded on intake, lot and SSCC traceability at both levels, location-directed picking, and a live expiry register.

The uncomfortable part nobody mentions

There is a side effect of enforcing FEFO that is worth knowing in advance, because it surprises people.

Once expiry dates are captured at intake and visible in a register, you stop being able to avoid a question you may not have asked before: which of your suppliers routinely ships you goods with less remaining shelf life than the contract implies.

Before FEFO, that pattern is invisible. Short-dated deliveries blend into stock and surface months later as a write-off that gets attributed to slow rotation. After FEFO, it is a report.

Several companies find that the first real return on a warehouse system is not in the warehouse at all. It is in the supplier conversation that the data finally makes possible.

When FIFO is still the right answer

FEFO is not universally better. It is better for anything with a shelf life, and it is unnecessary overhead for anything without one.

For components, spare parts, packaging materials, and hardware, FIFO is simpler, requires less data capture, and produces the same outcome. Forcing FEFO onto goods that never expire adds work at goods receipt for no benefit.

Most real warehouses need both, applied per article group rather than as a single warehouse-wide rule. A system that can only do one of them will make the other one somebody’s manual workaround.

Is FEFO a legal requirement?

Not by that name. What is required in regulated sectors, particularly pharmaceuticals and food, is traceability: the ability to identify which lots went to which customers, and to demonstrate that expired goods were not dispatched. FEFO is the operating rule that makes meeting those requirements routine rather than a periodic scramble.

Can we run FEFO with our ERP alone?

Partly. Most ERP systems can hold lot numbers and expiry dates, and can report on them. What they generally do not do is direct an operator to a specific pallet in a specific location at the moment of picking. That last step is where FEFO either happens or does not, and it is what separates a warehouse module from a warehouse management system.

What about goods that are already in stock?

Expiry dates for existing inventory are captured during the initial count when the system goes live. It is additional work in that one pass, and it is also the moment most companies discover how much short-dated stock they were holding without knowing.

Does FEFO slow down picking?

Directed picking is generally faster than operator choice, because the system routes movement rather than leaving the operator to search. The expiry logic itself adds no time at the moment of picking. The additional effort sits at goods receipt, where the expiry date is recorded once.

We use FIFO and rarely write anything off. Do we need FEFO?

Possibly not. If your articles come from a single supplier with consistent production cycles, delivery order and expiry order will usually match, and FIFO will produce the right result by coincidence. The risk arrives with a second supplier, a returned delivery, or a promotional batch. It is worth knowing whether your current result is by design or by luck.

Not sure whether your warehouse actually runs FEFO?

Ask us the sixty day question about your own stock. If your team cannot answer it from a screen, that is a useful thing to know, and the conversation about it costs nothing.

Or jump straight to

Not finding what you need?

Describe the problem in your own words and we will point you to the right page, or tell you plainly that we do not cover it.

Ask an Expert