FEFOFirst Expired, First Out
First Expired, First Out (FEFO) is the inventory-consumption rule that picks the lot with the soonest expiry date first, regardless of when it was received. It is the correct rule for any material where expiry, potency loss, microbial drift or cold-chain history matters — pharma APIs and excipients, dietary supplements, food ingredients, lab reagents, biologics, refrigerated and frozen finished goods. FEFO is not literally named in regulations, but the underlying stock-rotation requirement is — 21 CFR 211.150, 21 CFR 111.415, EU GMP Chapter 5 §5.10, ISO 22000 §8.5, FSMA 117.80(c) — and FEFO is the universal way to operationalise it for perishables. The financial argument is direct (less write-off, more usable yield from inventory) and the regulatory argument is sharper (dispensing a near-expiry lot when a longer-dated lot was on hand is a finding that auditors recognise on sight). The discipline requires four things: an expiry date captured accurately at receipt, a pick rule configured to FEFO at the SKU level rather than the site level, an override workflow that captures reason and e-signature when a non-FEFO lot is picked, and a trend on overrides so the supervisor can see why FEFO is being skipped. Without any of those four, FEFO degrades silently to whatever the operator clicks — and the loss surfaces only at the next cycle count or, worse, at the next inspection. This page covers what FEFO is, why it beats FIFO for perishables, the legitimate override paths, the regulatory overlay, and how V5 Ultimate runs FEFO at the kiosk.
01What FEFO actually is
FEFO is a consumption rule. When a SKU has multiple lots available, FEFO picks the lot with the soonest expiry. Receipt date is ignored; the sort key is expiry. For any material with a meaningful expiry date — pharma APIs and excipients, supplements, food ingredients, reagents, biologics, refrigerated finished goods — FEFO is the right rule because it minimises write-off, prevents dispensing a near-expiry lot when a longer-dated lot was on hand, and aligns the pick with the underlying stock-rotation requirement that every GMP and HACCP regime carries.
FEFO is not literally named in any regulation; stock rotation is. 21 CFR 211.150 requires that 'the oldest approved stock of a drug product is distributed first.' The universal interpretation for materials with assigned shelf life is FEFO — because 'oldest' in a regulated, expiry-bearing context means 'closest to expiry,' not 'first received.' EU GMP §5.10 puts it explicitly: 'Stocks should be rotated according to the principle of first expiry / first out.' Supplements (21 CFR 111.415), food (ISO 22000 §8.5, FSMA 117.80(c)) and biologics (WHO TRS 961 Annex 9) all carry the same rule. FEFO is the universal implementation; FIFO is acceptable only for SKUs with no assigned shelf life.
02Why FEFO beats FIFO for perishables
FIFO and FEFO are the same rule when receipt order and expiry order coincide. They diverge — sometimes sharply — when they do not. The divergence is invisible until the write-off shows up.
Three patterns cause divergence in normal operations. First, short-dated supplier deliveries: a vendor ships a lot with only nine months remaining shelf life because their own stock turned slowly, while the previous delivery had eighteen months on arrival. The new lot is received second but expires first. FIFO would pick the old lot; FEFO picks the new one and saves the old lot for the next run when it still has cushion. Second, returned or repackaged lots that re-enter inventory with a new receipt date but the original expiry; FIFO treats them as newest and skips them, while FEFO sees them correctly. Third, manufacturing campaigns where a long production run releases lots in batches over weeks; the first batch of a campaign may have a longer expiry than the last batch, because the master batch records were issued in different sequences.
The financial argument is direct: write-off on FIFO-managed perishables runs 3–8% of received volume in mature plants and worse in poorly run ones; FEFO-managed perishables run 0.5–2%. On a $10M ingredient spend the gap is $250k–$600k per year. The regulatory argument is sharper: dispensing a near-expiry lot when a longer-dated lot was on hand is a finding that 211.150 / 111.415 / §5.10 inspectors recognise immediately — and it is the kind of finding that opens a 483 / FAR / Form 1572 line item that escalates beyond the warehouse.
03When FEFO is the right rule
FEFO is the right default for any material with a meaningful expiry. Specifically:
- Pharma APIs and excipients with assigned retest or shelf-life date.
- Finished pharmaceuticals (21 CFR 211.137 expiration dating is mandatory for most drug products).
- Dietary supplement components and finished products under 21 CFR 111.
- Food ingredients with sell-by, best-by or use-by dating.
- Lab reagents, analytical standards and reference materials where expiry is tied to specification.
- Refrigerated and frozen finished goods, where cold-chain history augments the expiry-based selection.
- Cell and gene therapy components, biologics, and short-dated diagnostics — where FEFO is further augmented by unit-level tracking.
- Any SKU where the supplier issues a remaining-shelf-life guarantee (e.g. '12 months minimum on delivery') — the downstream customer is implicitly relying on FEFO upstream.
- Any SKU subject to a recall or pharmacovigilance regime where dispensing the near-expiry lot is a measurable risk increase.
For SKUs without a meaningful expiry — packaging, hardware, durable consumables, dry non-perishable additives — FIFO is the right rule and FEFO is over-engineering. The decision is per material, not per site.
04Legitimate FEFO override paths
FEFO is not absolute. Five overrides are operationally legitimate; each requires a reason from a controlled list, an e-signature, and an entry in the batch record. Without that workflow, overrides happen anyway and the audit trail is silent.
- Customer- or contract-required lot. A specific lot is reserved for a customer (forward booking, dedicated production, qualified-lot agreement). The FEFO lot may not be the contracted lot. The override reason names the contract.
- FEFO lot on QC hold or quarantine. The lot exists in the inventory but cannot be dispensed; the next-soonest expiry is picked. The hold reason is part of the override record.
- FEFO lot at a distant zone or facility. The transfer cost exceeds the expiry risk of using the next-soonest lot. Threshold should be defined per SKU (typically 'transfer takes more than half the remaining shelf life').
- FEFO lot short on quantity. The FEFO lot has 12 kg available but the run needs 80 kg; consolidating would leave an unusable 12 kg remainder. The next lot is dispensed; the FEFO lot is flagged for a follow-up consume-down task.
- Supervisor- or QA-directed exception. A specific operational reason (validation run, stability sample, qualification batch) requires a non-FEFO lot. Sign-off escalates to the supervisor or QA controller.
A free-text 'other' option is allowed but flagged for supervisor review. If 'other' becomes the dominant reason, the controlled list is incomplete and needs to be widened — not the supervisor disabled.
05Operational evidence inspectors expect
- Stock-rotation SOP that names FEFO as the default for perishables and FIFO for non-perishables, with the per-material rule map referenced.
- WMS configuration screen showing FEFO enabled at the SKU level, not the site level. SKU-level configuration is auditable; site-level is not.
- Expiry capture at receipt. The CoA expiry date is on the receipt record, captured to day precision, with a deviation workflow if the supplier issues a remaining-shelf-life guarantee rather than an absolute date.
- Override-reason list — controlled, version-controlled, with each reason mapped to a regulatory or operational justification.
- Override-reason trend — a dashboard showing the share of overrides by reason, by SKU, by month, with drill-down to the originating dispense event and operator e-signature.
- Write-off / expired-stock trend — month-over-month, by SKU class, with target thresholds. Trending upward triggers a process review.
- Spot-check workflow — at inspection time, the auditor selects a SKU, the system shows the current lot inventory, the FEFO selection, and the next dispense's predicted lot. Discrepancy between predicted and actual triggers an explanation requirement.
- Recall-trace evidence — backward trace from a finished batch to consumed lots, with the FEFO selection rationale and any override reasons. Pull time should be in minutes, not hours.
06Seven ways FEFO quietly breaks
- Expiry not captured at receipt. The CoA is filed but the date is not in the system; FEFO has no input and degrades to FIFO. Fix: receipt cannot complete without an expiry date for FEFO SKUs.
- Expiry captured but format inconsistent across suppliers. 'May 2026' vs '05/2026' vs '2026-05-31' vs 'Best before 31 May 26' — system cannot sort. Fix: normalise to ISO 8601 at receipt with supplier-specific parsers.
- Multiple containers of the same lot held in different locations. Pick proposes the closest container, not the right expiry — because the system thinks the lot is one inventory unit. Fix: container-level tracking with lot rollup; FEFO operates on lot, location is a tie-breaker only.
- Override allowed without reason capture. Operator skips the FEFO lot 'because the next one was closer.' No audit trail. Fix: every deviation requires a reason from the controlled list with e-signature.
- Mixed-lot pallets at line-side. Operator picks whatever container is on top, usually the most recently moved (newest). Fix: decompose mixed pallets at putaway to lot-tagged units before line-side.
- FEFO applied at the site level rather than the SKU level. A site-wide FEFO toggle catches the perishables but also forces FEFO on non-perishables where it adds friction without benefit, eroding operator trust in the rule. Fix: per-SKU configuration; default-FIFO sites still configure FEFO per perishable SKU.
- Short-dated lots arriving without expiry warning. A supplier delivery with nine months remaining (versus the usual eighteen) is received and put away without any flag. The next pick proposes it normally, which is correct, but the supervisor has no visibility into a tightening shelf-life trend. Fix: receipt flags any lot with less than X% of expected shelf life on arrival; supplier scorecard tracks shelf-life trend.
07FEFO and cold chain
For refrigerated and frozen materials FEFO is augmented by cold-chain history. The expiry on the label assumes the storage condition is maintained; any excursion during transit or warehousing may compress the effective shelf life. WHO TRS 961 Annex 9 covers the mechanics: time-temperature indicators on the carton, mean kinetic temperature calculations against the label-supported stability data, and conditional release decisions when an excursion has occurred.
The platform's job is to surface effective remaining shelf life, not nominal. If a lot was received with a time-temperature indicator flag, the effective expiry should be re-anchored before FEFO selects it. V5 Ultimate carries an effective-expiry field per lot that is the lower of the label expiry and any re-anchored value; FEFO sorts on effective expiry. Re-anchoring is a controlled event with QA sign-off and a stability-data reference.
08FEFO inside the regulated overlay
FEFO is the operational answer to the stock-rotation requirements that every regulated regime carries. The auditor's job is to verify that the documented rule is the rule that is actually being run at the kiosk.
- 21 CFR 211.150(a) — pharma distribution procedures must assure 'that the oldest approved stock of a drug product is distributed first.' For perishables the universal interpretation is FEFO.
- 21 CFR 211.137 — expiration dating is mandatory for most drug products; expired material cannot be dispensed.
- 21 CFR 111.415 — supplement holding operations must protect against contamination and deterioration; FEFO is the universal implementation for components with potency-loss curves.
- EU GMP Part I, Chapter 5 §5.10 — 'Stocks should be rotated according to the principle of first expiry / first out.' Codified.
- ISO 22000:2018 §8.5 — operational PRPs require stock rotation; FEFO for perishables, FIFO acceptable for shelf-stable.
- FSMA 117.80(c) — food manufacturing controls include rotation to prevent contamination.
- WHO TRS 961 Annex 9 — temperature-sensitive pharmaceuticals; effective shelf life and cold-chain history.
- 21 CFR Part 11 / Annex 11 — FEFO proposal, picked lot, override reason and e-signature are all audit-trail events with timestamp and signer.
- ICH Q9(R1) — quality risk management. The FEFO rule itself is a risk control; override workflow is the controlled exception path.
- EU FMD / DSCSA — pharma serialisation regimes do not replace FEFO; they add a unit-level layer above the lot-level rule. FEFO selects the lot; serialisation tracks the unit within the lot.
09How FEFO compliance is measured
- FEFO compliance rate — picks where the FEFO-proposed lot was the lot picked ÷ total picks. World-class: 95%+. Below 85% means the override path is being used as the default.
- Override-reason distribution — share of overrides by reason code. A single reason dominating (especially 'other') means the controlled list is incomplete or being clicked through.
- Write-off / expired-stock rate — share of received perishable volume written off due to expiry. World-class: < 1%. Above 3% means FEFO is not running, or supplier shelf-life mix is too tight.
- Mean remaining shelf life at dispense — average days remaining on dispensed lots. Trending downward toward zero means inventory is being aged out efficiently; trending upward means inventory is being aged into write-off.
- Lots dispensed within X days of expiry — count of dispenses where the lot was within (say) 30 days of expiry. Should be low; spikes indicate a stock-out risk that forced near-expiry use.
- Short-dated supplier deliveries — count of receipts where remaining shelf life was below the expected threshold. Trending upward means supplier-side stock turn is slowing and contractual remediation may be needed.
- Recall-trace pull time — minutes to produce the full backward trace from a finished batch to consumed lots with FEFO rationale. World-class: under 5 minutes. Above 30 minutes means the trace is happening manually.
- Audit findings on 211.150 / 111.415 / EU GMP §5.10 stock rotation — mature sites: zero. Any finding here is a structural process gap, not a one-off.
10How V5 Ultimate runs FEFO
- SKU creation requires a rule choice (FIFO, FEFO, FEFO with minimum-remaining-shelf-life policy). There is no default. SKUs without a rule cannot be received.
- Receipt captures lot ID, received timestamp, supplier expiry (mandatory for FEFO SKUs), supplier CoA reference, inbound QC status and cold-chain history if applicable. Expiry is normalised to ISO 8601 at the parsing step regardless of supplier format.
- Putaway places the lot in a bin with full lot-level addressability. Mixed-lot pallets are decomposed to lot-tagged units at putaway, before line-side.
- Short-dated receipts (less than X% of expected remaining shelf life on arrival) raise a flag at the receiver kiosk and on the supplier scorecard — the supplier-trend signal is preserved even though the lot is accepted.
- At dispense, the kiosk proposes the FEFO lot with the reasoning ('expires 2026-08-14, 240 kg available, zone A, not on hold, cold-chain clean'). Picking the proposal is one tap.
- Deviating opens the controlled-reason list (customer-required lot, FEFO lot on hold, FEFO lot in distant zone, FEFO lot quantity short, supervisor-directed, other). The override e-signs; the reason lands in the batch record; the supervisor dashboard surfaces the override.
- Effective expiry per lot may be re-anchored on cold-chain excursion with QA sign-off and a stability-data reference. FEFO sorts on effective expiry, not label expiry.
- Override-reason trending is on the warehouse dashboard. Repeated overrides on the same SKU with the same reason auto-open a process-review task — the inventory layout, the supplier mix, or the rule itself may need to change.
- Backward trace queries — 'show every dispense on this finished batch with lot ID, expiry, override reason and operator e-signature' — run from the audit-trail explorer in seconds.
- FEFO discipline is bundled into the regulatory reports (eBMR, BMR, eDHR, CoA) as a 'stock rotation' evidence panel: rule in force, picked lot, override reason if any, e-signature record, and any cold-chain re-anchor history.
Frequently asked questions
Q.Is FEFO a regulatory requirement?+
FEFO is not literally named in regulations; stock rotation is. 21 CFR 211.150, 21 CFR 111.415, EU GMP Chapter 5 §5.10, ISO 22000 §8.5 and FSMA 117.80(c) all require that materials be rotated so deteriorated stock is not used. For perishables — anything with a meaningful expiry — FEFO is the universal way to implement that rule. EU GMP §5.10 codifies it as the default; US and other regimes interpret 'oldest approved stock' as 'closest to expiry' for materials with assigned shelf life.
Q.When is FIFO the right rule instead?+
FIFO is the right rule when there is no meaningful expiry — packaging, hardware, durable consumables, dry non-perishable additives. FIFO matches consumption to receipt sequence and is operationally simpler when expiry is not a factor. The decision is per SKU, not per site; a site usually runs FEFO on perishables and FIFO on non-perishables, with the rule chosen at SKU creation.
Q.Can a single SKU mix FEFO and FIFO?+
Generally no — pick one rule per SKU. Mixed rules create operator confusion and silent override paths. The right approach is per-SKU rule selection; if a SKU has perishable and non-perishable variants, they should be separate SKUs.
Q.What overrides to FEFO are legitimate?+
Five: customer- or contract-required lot, FEFO lot on QC hold or quarantine, FEFO lot at distant zone where transfer cost exceeds expiry risk, FEFO lot quantity short for the run, and supervisor- or QA-directed exception (validation run, stability sample, qualification batch). Each requires a reason from the controlled list and an e-signature. A free-text 'other' is allowed but flagged for review; if 'other' dominates, the list is incomplete.
Q.How does FEFO interact with cold chain?+
For refrigerated and frozen materials the label expiry assumes the storage condition is maintained. Cold-chain excursions during transit or warehousing may compress effective shelf life. V5 Ultimate carries an effective-expiry field per lot that is the lower of label expiry and any re-anchored value; FEFO sorts on effective expiry. Re-anchoring is a controlled QA-signed event with a stability-data reference.
Q.How does FEFO interact with DSCSA / EU FMD serialisation?+
Serialisation does not replace FEFO; it adds a unit-level layer above the lot-level rule. FEFO selects the lot at dispense; serialisation tracks the individual unit within the lot through commerce. The two run in parallel — FEFO on the warehouse pick, serialisation scans on packaging, shipment and dispensing.
Q.What is the difference between FEFO and 'just check expiry'?+
FEFO is a system-enforced rule with proposal at the kiosk, override capture, e-signature, and trend visibility. 'Just check expiry' is operator discretion with no audit trail. The first is a controlled process an inspector can verify; the second is a folk practice an inspector can dismantle in five minutes by walking the warehouse.
Primary sources
- 21 CFR 211.150 — Distribution procedures (pharma stock-rotation requirement)
- 21 CFR 111.415 — Holding operations (dietary supplements; protection against deterioration)
- 21 CFR 211.137 — Expiration dating (pharma)
- EU GMP Part I, Chapter 5 §5.10 — 'Stocks should be rotated according to the principle of first expiry / first out'
- ISO 22000:2018 §8.5 — Operational PRPs and stock rotation (food safety)
- FSMA 117.80(c) — Manufacturing, processing, packing, and holding controls (food rotation)
- WHO TRS 961 Annex 9 — Model guidance for the storage and transport of time- and temperature-sensitive pharmaceutical products
- GS1 General Specifications §3.5.5 — Expiration date AI (17) used for FEFO automation at scan time
Further reading
- FIFOThe other rotation rule — correct for non-perishables; wrong for anything with expiry.
- WMSWhere FEFO is enforced at the pick.
- DispenseWhere the FEFO lot is proposed in front of the operator.
- GenealogyLot-to-batch traceability depends on accurate FEFO selection at every dispense.
- DSCSAPharma serialisation regime that adds a unit-level layer above lot-level FEFO.
- CoASupplier expiry on the CoA is the input to FEFO; capture it accurately.
- Cold chainRefrigerated and frozen SKUs where FEFO is augmented by cold-chain history.
Explore this topic
FEFO sits inside this topic cluster in our glossary. Every neighbour is one click away.
V5 Ultimate ships with the FEFO controls already wired in — audit trail, e-signatures, validation evidence. Free trial, no credit card, onboard in days, not months.
