Looks like you're in the UAE. Switch to Asli Pharma ERP UAE →
Guide · India

FEFO vs FIFO for pharma distributors in India

FIFO sells the stock you bought first; FEFO sells the batch that expires first. Indian pharma distributors should use FEFO. CDSCO's draft good distribution practice guidelines call for a system that sells or distributes products due to expire first, and Rule 65(17) of the Drugs and Cosmetics Rules bars selling or stocking drugs past expiry.

Use FEFO (first expiry, first out) for medicines. FEFO bills and dispatches the batch with the nearest expiry date first. FIFO (first in, first out) sells whatever you bought first. The two match only when every new purchase has a later expiry than the stock already on your racks, and in Indian pharma distribution that often fails.

What do Indian regulations and guidelines say?

CDSCO's Guidelines on Good Distribution Practices for Pharmaceutical Products (document CDSCO/GDP.PP, version 00, marked as draft guidance) state in clause 11.12: "There shall be a system in place to ensure that the pharmaceutical products due to expire first are sold and/or distributed first (first expiry/ first out (FEFO)). Exceptions shall be permitted as appropriate, provided that adequate controls are in place to prevent the distribution of expired products."

Clause 11.14 of the same document calls for identified, segregated areas for quarantined, rejected, expired, recalled or returned products.

The binding rule behind this is Rule 65(17) of the Drugs and Cosmetics Rules, 1945: no drug shall be sold or stocked by the licensee after its date of expiry. FEFO is the practical way to avoid reaching that point. The WHO good storage and distribution practices (TRS 1025, Annex 7, 2020) also state that the FEFO principle should be followed.

Why does FIFO fail for Indian pharma distributors?

  • Mixed dating from principals. A company depot or C&F agent may send an older batch after a newer one.
  • Chemist returns. Returned stock usually has less life left than fresh purchases.
  • Inter-branch transfers. Stock moved between godowns is "new" to the receiving location but not new in age.
  • Scheme purchases. Large bonus-scheme lots can include batches of different ages.

Under FIFO, an older batch that arrived late waits behind fresher stock. By the time it is picked, retailers may refuse it as short-dated, and it becomes an expiry claim or a write-off.

FEFO vs FIFO: side-by-side

QuestionFIFOFEFO
What decides the batch?Purchase dateExpiry date
Data neededPurchase date per lotBatch number and expiry on every purchase and sale line
Handles late-arriving older batchesNoYes
Handles returns and transfersPoorlyYes
Expiry loss riskHigher when purchase order and expiry order differLower
Matches CDSCO draft GDP guidanceNoYes

When is it right to override FEFO?

FEFO is the default, but some situations justify picking a later batch:

  • Institutional shelf-life rules. Hospitals, government tenders and some chains require a minimum remaining shelf life on delivery.
  • Stock not free for sale. Batches in quarantine, under a not-of-standard-quality alert, under recall or awaiting inspection must be skipped.
  • Customer-specified batch. A buyer may ask to match an earlier supply.

Record each override: the invoice, the batch the system suggested, the batch supplied, the reason and who approved it. A monthly review of overrides shows whether staff are skipping FEFO for convenience.

How do you run FEFO day to day?

  1. Capture batch and expiry on every purchase bill. Enter or scan batch, manufacturing date, expiry, MRP and quantity per line. Never accept a purchase line without a batch.
  2. Store by batch. Keep batches of the same product apart on the rack, or track which batch sits in which location.
  3. Segregate stock that is not saleable. Quarantined, damaged, expired, returned and recalled stock go to separate labelled areas.
  4. Auto-select the batch at billing. Your software should propose the earliest-expiring saleable batch that meets the customer's shelf-life rule.
  5. Pick against the invoice batch. The picker takes the batch printed on the invoice or pick slip, confirmed by scanning where possible. GS1 barcodes, managed in India by GS1 India, can carry batch and expiry data.
  6. Check at dispatch. A second person checks product, batch and quantity against the invoice before packing.
  7. Put returns back correctly. Inspect chemist returns and either restock them in expiry order or move them to the returned or expired area.
  8. Review expiry bands monthly. Look at stock expiring in 0–3, 3–6 and 6–12 months and act on the shortest band first.

What goes wrong when FEFO exists only in software?

A common failure is a mismatch between billing and the rack. The invoice says batch A, but the picker grabs batch B because it was in front. The book stock then goes wrong for both batches, and the error surfaces months later as "missing" stock of one batch and "extra" stock of the other, often during an expiry claim or an inspection.

Three controls help:

  • Put the batch number clearly on the pick slip.
  • Scan at picking or dispatch where volume justifies it.
  • Count high-value and fast-moving items by batch every month, not just by product.

Does FEFO apply to cold-chain products?

Yes. Vaccines, insulin and other 2–8°C products follow FEFO like other medicines. Because cold rooms and refrigerators are small, label batches clearly and pick quickly to limit door-open time. Keep temperature records, and hold any batch with a temperature excursion until it has been assessed.

How do you know FEFO is working?

  • Expiry loss as a percentage of sales, by principal.
  • FEFO compliance: invoice lines that used the suggested batch divided by total lines.
  • Overrides by reason and by user.
  • Short-expiry rejections by customers.
  • Batch-level stock accuracy from monthly counts.

How Asli Pharma ERP helps

Asli Pharma ERP records batch, manufacturing date and expiry at goods receipt, including by GS1 DataMatrix scan, and allocates saleable stock by FEFO with logged overrides. Stock status buckets (released, quarantine, rejected, damaged, returned, recall) keep stock that is not released out of billing. The India GST edition, covering CGST/SGST/IGST, HSN, returns, e-invoice and e-way bill, is in early access.

Frequently asked questions

What is FEFO in a pharma distributorship?

FEFO means first expiry, first out: the batch with the nearest expiry date is billed and dispatched first. It needs batch and expiry recorded for every purchase and every sale.

Is FEFO a legal requirement in India?

CDSCO's Guidelines on Good Distribution Practices for Pharmaceutical Products, published as draft guidance, say there shall be a system to ensure products due to expire first are sold or distributed first, with controlled exceptions. Separately, Rule 65(17) of the Drugs and Cosmetics Rules prohibits selling or stocking drugs after expiry, which FEFO helps you avoid.

When can a distributor break FEFO?

Common reasons are a hospital or institutional buyer's minimum shelf-life rule, a batch on hold or under recall, or a customer asking for a specific batch. CDSCO's draft guidance permits exceptions where adequate controls prevent distribution of expired products, so record each override and its reason.

Does FEFO matter for returns from chemists?

Yes. Returned stock that passes inspection goes back into saleable stock in its correct expiry position; stock that fails goes to a segregated returned, damaged or expired area.

Can billing software enforce FEFO?

Many billing and ERP tools can suggest or auto-select the earliest-expiring batch at billing. What matters is that the batch picked in the warehouse matches the batch on the invoice, which barcode or QR scanning helps confirm.

Sources

  1. CDSCO: Guidelines on Good Distribution Practices for Pharmaceutical Products (draft, CDSCO/GDP.PP Ver. 00)
  2. Drugs and Cosmetics Rules, 1945, Rule 65 (Indian Kanoon)
  3. CDSCO: Drugs and Cosmetics Act, 1940 and Rules, 1945
  4. WHO TRS 1025, Annex 7: Good storage and distribution practices for medical products
  5. GS1 India
Asli Pharma ERP · India

See batch, expiry and recall control on your own data.

Book a live demo →