Notes

FIFO vs FEFO: the oldest delivery may expire last

A newer batch can run out of shelf life before an older one. Compare FIFO and FEFO on the same stock, then see how a minimum remaining-life rule changes the pick.

Stores picks the oldest delivery first. A newer batch waits behind it, even though it expires sooner. Following receipt order leaves the shorter-life stock waiting.

FIFO means first in, first out: issue eligible stock in receipt order. FEFO means first expiry, first out: issue eligible stock with the earliest expiry date. FEFO is also written as first-expired-first-out, but it doesn't mean issuing expired goods.

A later delivery can have less remaining life than stock already on the shelf. When that happens, the two rules produce different picks.

FIFO and FEFO compared

The Lean Enterprise Institute's FIFO definition describes preserving the order in which material enters a process. Microsoft's FEFO picking documentation describes sorting tracked inventory by expiry date.

Question FIFO FEFO
Which date sets the order? Receipt date Expiry date
What goes first? Earliest receipt among eligible stock Earliest expiry among eligible stock
What can it overlook? A newer receipt that expires sooner Missing or incorrect expiry records, or stock unsuitable for this requirement
What must happen before sorting? Confirm the stock is eligible for this use Confirm the stock is eligible for this use

Neither rule releases a quality hold, overrides an allocation or turns an expired lot into usable stock. Sorting comes after those checks.

Five lots, one request

Take a fictional stores area holding one type of unopened adhesive cartridge. Assembly requests 50 cartridges for use on 14 October 2026. All quantities below are individual cartridges, and lots A, B and C are interchangeable for this job.

For this example, the stated expiry date is the last permitted use date. Storage conditions are confirmed, and there are no other reservations. The dates and shelf-life rules are invented for the calculation.

Lot Received Expiry Quantity Stock status on 14 October
A 1 October 31 December 40 Released
B 8 October 31 October 40 Released
C 12 October 30 November 40 Released
D 10 October 20 October 20 Quality hold
E 25 September 10 October 10 Expired

The shelf contains 150 cartridges. Only 120 are eligible for immediate use: 40 each from A, B and C. D is held, and E has expired.

FIFO takes 40 from A and 10 from B. FEFO takes 40 from B and 10 from C. Both fill the 50-unit request, but they leave different stock behind.

Under FIFO, 30 cartridges from B remain, due to expire on 31 October. Under FEFO, none of B remains. That reduces the quantity from this lot still needing a use before that date. It doesn't prove that 30 cartridges would otherwise have been wasted; we haven't specified later demand.

Compare the picks, then change the requirement

The visual shows both policies together. Change the quantity, or require at least 30 days of remaining life from the use date.

Same physical stock, different date order

Which lots fill the request?

Use date: 14 October 2026. A, B and C are released. D is held; E is expired. Both policies apply the same eligibility checks first.

Eligible for this request120Of 150 cartridges on the shelf

Unfilled under either rule0Of 50 requested cartridges

Scroll sideways to see the full quantity scale and lot ledger.

FIFO and FEFO picks for 50 cartridgesFIFO: 40 from A, 10 from B, 0 unfilled. FEFO: 40 from B, 10 from C, 0 unfilled. Minimum remaining life 0 days.04080120140FIFOLot A: 40 cartridges picked, 0 remain in that lot.ALot B: 10 cartridges picked, 30 remain in that lot.BFEFOLot B: 40 cartridges picked, 0 remain in that lot.BLot C: 10 cartridges picked, 30 remain in that lot.CCartridges. The outline is the request; coloured segments are selected lots.
A: expires 31 DecB: expires 31 OctC: expires 30 Nov

B qualifies and expires before A

FIFO: A × 40 + B × 10. FEFO: B × 40 + C × 10. Both policies use the same eligible stock, in different orders.

One starting stock, two separate alternatives. “Left” means physical quantity remaining after that pick.
LotReceivedExpiryQtyEligible?FIFO pick / leftFEFO pick / left
A1 Oct31 Dec40Yes40 / 00 / 40
B8 Oct31 Oct40Yes10 / 3040 / 0
C12 Oct30 Nov40Yes0 / 4010 / 30
D10 Oct20 Oct20Hold0 / 200 / 20
E25 Sept10 Oct10Expired0 / 100 / 10
Eligibility and tie rules

The example treats expiry as the final permitted use date. At least 30 days means an expiry on or after 13 November 2026 for use on 14 October. Released quantity with insufficient life is excluded from this request, alongside held and expired lots.

FIFO sorts eligible lots by receipt; FEFO by expiry. Ties use receipt date, then lot ID in this example. Software implementations may use different tie rules. No unknown dates, reservations, travel time or future demand are included.

Fictional stock and use date, 14 October 2026. Eligibility requires released status and an expiry at least the selected number of calendar days after use. Expiry dates are usable through the stated date in this example. Sorting applies only after eligibility. No later demand, expiry loss, transport, cost or replenishment is modelled.

With the 30-day requirement, B no longer qualifies. It has 17 days remaining. C has 47, and A has 78, so 80 cartridges qualify between them.

For the same 50-unit request, FIFO now takes 40 from A and 10 from C. FEFO takes 40 from C and 10 from A. B remains physically present and released, but it cannot satisfy this particular remaining-life requirement.

Don't rewrite its expiry date to make the request work. Check whether it has another permitted use, or escalate the shortage or allocation decision through the normal process.

Why FEFO needs more than an expiry field

The expiry has to belong to the right lot and physical location. A perfect date attached to the wrong pallet can produce a perfectly sorted wrong pick.

Keep lot identity, quantity, receipt date, expiry, release status and reservations connected. If a date is missing or contradictory, record the exception and resolve it rather than treating the lot as having unlimited life. The data quality example shows why a plausible field value isn't enough.

The picking process must also follow the selected lot. If the screen requests B but the accessible bin contains A, the theoretical sort hasn't changed what leaves stores. Check the pick and stock movement against the actual lot.

Microsoft's implementation includes settings for expiry exclusion and respects specifically assigned lots before sorting the remaining quantity. Those details are a reminder to check how your own system applies the business rule. Switching on a field named FEFO doesn't define the whole policy.

Stock rotation is different from inventory valuation

FIFO also appears in accounting. That use concerns which costs are assigned to inventory issues. It doesn't by itself tell a picker which physical lot to take.

Microsoft's inventory costing FAQ explicitly separates FEFO reservations from costing. Keep the warehouse rule and financial valuation method clear when discussing a system change.

The inventory turnover note uses inventory values to calculate a ratio. Here, we need lot dates and quantities to decide what can actually be issued. A turnover figure can't identify the 30 cartridges still in B.

Check the next receipt against stock already held

At goods receipt, compare the incoming lot's expiry with existing lots. If it expires sooner, a receipt-order queue may need a different picking sequence. Record the lot before placing it where the next pick can find it.

Then review the near-expiry quantities against dated requirements. Rotation helps choose among usable stock. It won't create demand for excess material or make a held lot available. The MRP example explains the dated requirements side; shelf-life and release checks must still qualify the stock used to meet them.

For our stores team, the immediate decision is simple: agree the use requirement, exclude unsuitable lots, then apply the chosen date order. That makes the pick explainable before anyone moves a cartridge.

Sources and example notes

All lots, dates, quantities and eligibility rules are fictional. Actual use conditions and remaining-life requirements come from the applicable product and process requirements.

NextFirst-pass yield vs final yield: the work behind 100% accepted

Working on something like this?

I work with operations and transformation teams on operational excellence, digital transformation programs, supply chains and industrial AI. If this sounds like your line, your program or your problem, I’d be glad to compare notes.

Abolfazl ShirkavandImage preview unavailable