India Context Guide 10 min read

FEFO in Indian warehouses — cold storage, pharma, food

How First-Expired-First-Out actually works on the warehouse floor: expiry capture at GRN, two-layer scanner enforcement, industry rules, and FSSAI's 2026 amendment.

Vidya Kathare · July 18, 2026 10 min read Expiry & compliance
FEFO enforced end to end
01
Expiry captured at GRN
Batch, mfg & expiry per pallet
Scanned
02
Labelled & put away
Pallet barcode carries identity
Tracked
03
Pick list: earliest expiry
Only eligible lot offered
Layer 1
04
Scan rejects wrong batch
Expired / out-of-order blocked
Layer 2
05
Expiry dashboard
30/60/90-day risk buckets
Alerts

What FEFO means — and why FIFO isn't enough

FEFO — First Expired, First Out — is a picking rule that dispatches the stock with the earliest expiry date first, regardless of when it arrived. It exists because the intuitive rule, FIFO (First In, First Out), quietly fails for dated goods: the batch that arrived last can expire first. In Indian supply chains this happens constantly — the same SKU arrives from two plants with different production dates, a consignment spends extra days in transit, or a supplier ships older stock to clear their own warehouse.

Run FIFO on such stock and the short-dated batch sits at the back of the rack while fresher stock ships out — until an operator discovers a pallet of expired goods worth lakhs, fit only for write-off and disposal. For food, pharma, dairy, and cold-storage businesses, FEFO is not an optimisation; it is the difference between selling stock and destroying it.

The one-line difference
FIFO asks "when did it arrive?" FEFO asks "when does it die?" For anything with an expiry date, only the second question protects your margin.
For non-dated goods — fasteners, pipes, components — FIFO remains the right rule. Most Indian warehouses need both, applied per item category.

FEFO vs FIFO — the comparison

AspectFIFO — First In, First OutFEFO — First Expired, First Out
Sort keyReceipt / creation date of the lotExpiry date of the lot
Data needed at GRNReceipt date (automatic)Batch number, manufacturing date, expiry date
Best forNon-perishables: components, hardware, metalsFood, pharma, dairy, cosmetics, chemicals, cold storage
Fails whenA newer delivery has a shorter shelf lifeExpiry data was never captured at receipt
Cost of failureOlder stock ages, slow-moving builds upWrite-offs, recalls, FSSAI/regulatory exposure, lost buyers
EnforcementPick list ordered by datePick list by expiry plus scan-level rejection of wrong lots

Note one nuance from real deployments: many systems allocate FIFO by default and treat expiry as a hard eligibility filter — expired or blocked lots are simply never offered — with strict expiry-date ordering applied for the item categories that need it. What matters operationally is that the wrong batch cannot be dispatched, which is a systems property, not a policy note on the wall. See FIFO & FEFO picking in Fast WMS for how the rules are configured per item.

The regulatory picture — including FSSAI's 2026 amendment

India's expiry-discipline requirements come from several directions at once, and 2026 brought a notable change:

Who requires what in 2026
1
FSSAI — food businesses
Food safety regulations mandate shelf-life discipline and date marking. FSSAI's 2026 amendment exempts retailers from mandatory FEFO record-keeping — but manufacturers remain required to maintain FEFO records. The documented burden has moved up the chain: if you manufacture or warehouse for a manufacturer, auditable FEFO records are still your obligation.
2
Pharma — batch and expiry control
Good distribution and storage practice expectations require batch-level traceability, expiry control, and quarantine of recalled or expired stock. Wholesale and distribution licences assume you can locate and hold a batch on demand.
3
Buyers — the de-facto regulator
Modern trade chains, quick-commerce platforms, and marketplaces enforce minimum residual shelf life at receipt (often 60–75% remaining). Short-dated dispatches are rejected at the buyer's dock — a commercial penalty that arrives faster than any regulatory one.

The practical reading for warehouse operators: regardless of where the record-keeping mandate sits this year, scanner-enforced FEFO with automatic logs is the cheapest way to satisfy all three audiences at once — the system generates the audit trail as a by-product of normal picking.

It all starts at GRN — capturing expiry on arrival

FEFO can only be as good as the expiry data behind it, and there is exactly one economical moment to capture that data: goods receipt. A FEFO-capable inbound flow looks like this: goods are received against the PO or ASN on a handheld; the operator records batch/lot number, manufacturing date, and expiry date for the received quantity; the system splits the receipt into pallets, each carrying that identity; and a barcode label is printed for each pallet so every later scan knows its expiry without anyone reading fine print on a carton.

Disposition matters here too. Stock can arrive damaged or need quality checks before release — a proper flow lets GRN mark pallets as OK, hold, or damage, and held pallets stay invisible to pick lists until released. This quarantine mechanism is the same machinery pharma uses for recalls: flip a batch to hold, and it is instantly unpickable across the warehouse. Details of the inbound flow: GRN & inbound receiving and lot & expiry tracking.

Two-layer enforcement — pick list + dispatch scan

The difference between "FEFO policy" and "FEFO system" is enforcement. A policy is a sentence in the SOP; a system makes violation physically impossible. Mature WMS deployments enforce FEFO in two independent layers:

  • Layer 1 — the pick list only offers the right lot. When an order is released, the system allocates the eligible lot with the earliest expiry and directs the picker to its exact bin. The picker never chooses a batch; the system already has.
  • Layer 2 — the scan rejects the wrong lot. At pick confirmation and again at dispatch, the barcode scan validates the pallet. An expired lot, a held lot, an already-consumed pallet, or a batch out of expiry order is rejected on the spot with an error — before the goods reach the truck.

Two layers matter because warehouses are human places. A pallet gets moved to the wrong bin; a rushed picker grabs the nearer carton; a returned lot re-enters stock with an old date. Layer 1 prevents the routine mistakes; Layer 2 catches the exceptions. Together they produce the number that matters to a food or pharma customer: zero expired dispatches.

Real example — Igloo Frozen Freshness, Pune

Cold storage FEFO: zero expired dispatches in 12+ months

Igloo Frozen Freshness manages chilled and frozen inventory with strict FEFO requirements. With Fast WMS, dispatch enforces FEFO at both layers: the pick list shows only the correct lot, and the dock scan rejects any item scanned out of expiry order. The result across more than a year of operation: zero expired product dispatched, with full lot traceability from GRN to customer.

0
expired stock dispatches since go-live
2-layer
FEFO enforcement (pick list + dock scan)
100%
lot traceability GRN → dispatch

The expiry dashboard — seeing risk before it expires

Enforcement stops bad dispatches; a dashboard prevents dead stock. An expiry (lot) dashboard buckets every pallet in the warehouse by remaining shelf life — expiring within 30, 60, or 90 days — so managers act while options still exist: push short-dated stock into the next dispatches, run a discount or liquidation channel, return to supplier where contracts allow, or at minimum plan the write-off instead of discovering it. In Fast WMS this is the Lot Expiry Dashboard, and for cold-storage and food operators it is typically the most-viewed screen after the stock report.

FEFO by industry — pharma, food, cold storage, dairy

IndustryWhat FEFO must handleBeyond FEFO
PharmaceuticalsBatch-wise expiry, strict rotation, no grace periodQuarantine/hold for recalls, batch traceability for audits, controlled storage zones
Food & beverageBest-before discipline, FSSAI record-keeping (manufacturer side)Buyer residual-shelf-life rules, seasonal volume spikes, returns handling
Cold storage / frozenExpiry across temperature zones (frozen, chilled, ambient)Zone-restricted put-away, minimal door-open time favouring directed picking, client-wise stock for 3PL cold stores
Dairy & bakeryShelf lives in days — FEFO effectively dailySame-day dispatch sequencing, tight returns and markdown loops
FMCG / cosmetics / agro-chemLong but firm expiry dates; slow-moving riskFast/slow-moving analysis, liquidation planning from expiry buckets

Industry-specific detail lives in the dedicated pages: cold storage WMS, food & beverage WMS, and pharma WMS — plus the in-depth guide to pharma warehouse management.

Implementing FEFO without disrupting operations

Moving from manual date-checking to system-enforced FEFO is a four-to-eight-week project in most SME warehouses, and the sequence matters:

  • Classify items: which SKUs carry expiry dates (FEFO), which rotate by age (FIFO), which need neither
  • Capture expiry on all new receipts from day one — inbound discipline first, it is the cheapest place to start
  • Label and load existing stock during a cycle count — batch and expiry entered once, barcoded forever
  • Switch on Layer 1 (expiry-ordered pick lists) first; add Layer 2 (scan rejection) once staff trust the pick lists
  • Review the expiry dashboard weekly and liquidate 60–90-day stock before it becomes 0-day stock

For the broader fundamentals of receiving, put-away, and picking that FEFO builds on, start with the pillar guide: what is warehouse management?

Still checking expiry dates by reading cartons?

See two-layer FEFO live: expiry captured at GRN, pick lists that only offer the right lot, and a dock scan that rejects the wrong one — on your items, in 30 minutes.

Book a FEFO demo
Keep learning — expiry, cold chain, and compliance
Part of the Fast WMS learn hub: practical warehouse management guides written for Indian businesses.

Frequently asked questions

What is FEFO in warehouse management?

FEFO (First Expired, First Out) is a picking rule that dispatches the stock with the earliest expiry date first, regardless of when it arrived in the warehouse. It differs from FIFO (First In, First Out), which dispatches the oldest-received stock first. FEFO is essential for goods with expiry dates — food, pharmaceuticals, dairy, cosmetics, and chemicals — because a later-arriving batch can carry an earlier expiry date, and FIFO would leave it to expire on the shelf.

What is the difference between FIFO and FEFO?

FIFO sorts stock by receipt date — the batch that arrived first goes out first. FEFO sorts by expiry date — the batch that expires first goes out first, even if it arrived last. For non-perishable goods the two usually give the same result. They diverge whenever a newer delivery carries a shorter shelf life, which happens constantly in Indian supply chains where the same product may arrive from multiple plants or via slow transit. FIFO suits hardware, components, and non-dated goods; FEFO is mandatory practice for food, pharma, and cold storage.

What did FSSAI's 2026 amendment change about FEFO?

FSSAI's 2026 amendment relaxed mandatory FEFO record-keeping for retailers — retail businesses are exempted from maintaining formal FEFO compliance records, while manufacturers continue to be required to maintain them. In practice this shifts documented FEFO responsibility up the chain: manufacturers and their warehouses must still demonstrate expiry-ordered stock rotation, while retailers get relief from the paperwork burden. Warehouses serving food manufacturers should treat scanner-enforced FEFO with automatic logs as the standard, since the manufacturer-side obligation remains.

How does a WMS enforce FEFO?

A WMS enforces FEFO in two layers. First, at pick-list generation: the system captures the expiry date of every lot at goods receipt, and when an order is picked it offers only the eligible lot with the earliest expiry, showing the exact bin. Second, at scan validation: when the picker scans a pallet or carton, the system rejects any lot that violates expiry order or is expired, blocked, or on hold. Because both layers are automatic, FEFO stops depending on staff remembering dates written on cartons.

Why is capturing expiry dates at GRN so important?

Because FEFO can only ever be as good as the expiry data behind it. If expiry dates are not captured when goods arrive (at GRN), no later process can enforce expiry-ordered picking. A proper inbound flow records batch/lot number, manufacturing date, and expiry date for every received pallet, prints a barcode label carrying that identity, and stores it against the bin location. From then on, every pick, transfer, and dispatch knows each pallet's expiry without anyone reading labels manually.

Which industries in India need FEFO?

FEFO is essential wherever stock carries an expiry or best-before date: pharmaceuticals and medical devices (batch traceability plus expiry control, with quarantine for recalls); food and beverage (FSSAI shelf-life and date-marking compliance, modern-trade buyers rejecting short-dated stock); cold storage and frozen foods (high-value perishable inventory across temperature zones); dairy and bakery (very short shelf lives measured in days); and FMCG, cosmetics, and agro-chemicals (long but firm expiry dates and heavy write-off costs when rotation fails).

Make expired dispatches impossible

Fast WMS enforces FEFO at the pick list and at the dock scan — with full lot traceability from GRN to customer. See it on your items in a 30-minute demo.

Get a free demo
No commitment. No slides. Your warehouse on screen.