FEFO vs FIFO in Dark Stores: Reducing Expiry Losses
Blog

FEFO vs FIFO in Dark Stores: Reducing Expiry Losses

Quick commerce runs on fast delivery promises that vary by platform and city. Dark stores, the micro-fulfilment centres behind Blinkit, Zepto, and Swiggy Instamart, fulfil orders at high velocity. Dark stores vary in assortment size and delivery commitments; Swiggy says its megapod format can house up to 50,000 SKUs. Across formats, products with short shelf lives create an expiry management challenge that the choice between FEFO and FIFO directly affects.

FEFO and FIFO: What Each Rule Does

FIFO (First In, First Out) dispatches stock in the order it was received. The batch that arrived earliest leaves first. FEFO (First Expired, First Out) dispatches stock in order of expiry date. The batch with the earliest expiry date leaves first, regardless of when it arrived.

The two rules produce identical results when receipt order and expiry order are the same, which happens whenever each new delivery has a longer remaining shelf life than existing stock. They diverge whenever a newer delivery arrives with a shorter remaining shelf life than stock already in the store. In perishables, dairy, ready-to-eat, and other short-shelf-life categories sourced from multiple suppliers on rolling deliveries, this divergence is routine rather than exceptional.

Illustrative example: a dark store receives Batch A of a dairy SKU on Monday, expiring in 8 days. On Wednesday it receives Batch B expiring in 5 days. FIFO dispatches Batch A first. Batch B sits. It may expire before Batch A is depleted. FEFO dispatches Batch B first. Prioritising Batch B reduces the risk of the shorter-dated batch expiring before sale.

Where Manual FEFO Can Break Down

Manual FEFO can become less reliable at speed

Dark stores that operate FEFO through manual date checking rely on operators looking at expiry dates and picking the shortest-dated item. In a high-velocity picking environment, operators may pick the most accessible item. Manual date checks can become less reliable as pick volume rises. Measure wrong-batch picks and expiry losses before choosing the control design.

Manual date verification is harder to sustain at high pick velocity

At high throughput rates, manual expiry checking at every pick location can become difficult to sustain reliably. System-enforced FEFO, where the WMS directs the picker to a specific location and confirms the batch before the pick registers, is the practical alternative.

Multi-supplier sourcing creates batch divergence regularly

Dark stores sourcing the same SKU from multiple suppliers receive batches with different manufacturing dates and different remaining shelf lives. FIFO logic sends the first-received batch first regardless of its remaining shelf life relative to later arrivals. For high-volume perishable SKUs this is a routine operational condition rather than an edge case.

Returns need inspection before re-entering stock

Returned items in quick commerce may have been handled outside controlled storage conditions between dispatch and return. Before a returned food item re-enters available stock, it should be inspected for physical condition, remaining shelf life and saleability. Release depends on product-specific storage history, condition, remaining shelf life and applicable policy; visible condition alone does not establish suitability. A WMS that captures batch information on a return and routes the item through an inspection step before restocking prevents unverified returns from entering the FEFO queue.

The Financial Impact of FEFO Failures

Write-offs

Stock that expires in storage because shorter-dated batches were not prioritised results in write-offs. The financial scale depends on the store's product mix, turnover, and the proportion of high-risk perishable SKUs. A worked estimate requires the store's actual inventory value, measured loss rate on short-dated stock, and the relevant time period. Actual figures require measurement against the specific operation.

Customer experience failures

A perishable product delivered near its expiry date can lead to a return or complaint. In quick commerce, where freshness is central to the value proposition, this is a direct brand failure. The frequency of such failures in operations without system-enforced FEFO is an operational variable that each business should measure rather than estimate.

Regulatory context

FSSAI regulations require food businesses to maintain lot identification records, manage date-marked products appropriately, and not supply products past their use-by date. The Food Safety and Standards (Labelling and Display) Regulations, 2020 govern date marking requirements, and the FSSAI e-commerce food business advisory (December 2024) addresses remaining shelf life at delivery. These regulations do not prescribe specific software mechanisms for batch management. A business's obligation is to have reliable controls; software-enforced FEFO is one way of meeting that obligation.

System-Enforced FEFO: What It Requires

Batch-level records at every location

Every unit must be tracked to a batch number with an expiry date from the point of goods receipt. This requires capturing batch information at receiving from every supplier, for every delivery. A WMS without batch-level location records cannot enforce FEFO; it does not have the data to do so.

System-directed picking with batch confirmation

The WMS directs the picker to a specific bin and batch, and the pick is not registered until the correct batch is confirmed. In high-velocity environments, confirmation can be through barcode scan or computer vision. Without confirmation at pick, the FEFO allocation can be overridden by a picker selecting a different item.

Returns handling with inspection step

Returned food items must re-enter the system through an inspection workflow, not directly back into available stock. The inspection step verifies physical condition, storage history and saleability and confirms remaining shelf life against the applicable product policy before the item is restocked and re-enters the FEFO queue.

Frequently Asked Questions

Do FIFO and FEFO always produce different results?

No. When receipt order and expiry order are the same, both rules select the same batch. They diverge only when a delivery arrives with a shorter remaining shelf life than existing stock. In categories with variable shelf life across deliveries, this divergence happens regularly.

How does system-enforced FEFO work in a high-velocity dark store?

The WMS selects the earliest-expiry eligible batch, after quarantine holds, quality status and any minimum remaining shelf-life requirement are applied, comparing absolute expiry dates rather than time since receipt, and directs the picker to the specific storage location holding that batch. The pick is confirmed by barcode scan or computer vision before it registers in the system. This removes the reliance on operators checking dates manually.

What should happen when a returned item re-enters stock?

For food items, the return should be routed through an inspection step that verifies physical condition, storage history and saleability and confirms remaining shelf life against the applicable product policy before the item is restocked. Returning an item directly to available stock without inspection risks putting unsuitable product back into the fulfilment queue.

Next step

To see how Stackbox WMS enforces FEFO in dark store environments, request a demonstration at stackbox.xyz.