Skip to content
All posts
5 min readIMS Team

FIFO, LIFO and FEFO: which one your business needs

FIFO ships the oldest stock first, FEFO ships the soonest to expire first, and LIFO is a costing idea Indian accounting standards do not allow. Here is which one to use.

FIFO means the stock that came in first goes out first. FEFO means the stock that expires first goes out first — which is not the same batch, because a supplier can deliver short-dated goods late. LIFO means the newest stock is treated as sold first; it is a valuation method, and Indian accounting standards do not permit it for your books. Most Indian businesses run FIFO on the shelf; anything with an expiry date should run FEFO.

What is FIFO in plain terms?

First-in-first-out: the oldest stock leaves first. If you received 100 units on 3 June and 100 more on 20 June, the June 3 units go out before the June 20 ones.

It does two jobs at once. On the floor it stops stock ageing at the back of the rack. In your books it means closing stock is valued at your most recent purchase prices, which is usually closer to what the goods are actually worth today.

FIFO is the sensible default for almost everything: hardware, auto parts, apparel, stationery, packaged goods. If nothing in your catalogue expires, you are looking for FIFO and you can stop reading the comparison table.

What is FEFO, and how is it different from FIFO?

First-expiry-first-out: the batch with the nearest expiry date leaves first, regardless of when it arrived.

The difference only shows up when receipt order and expiry order disagree — and they disagree more often than people expect. A supplier clearing their own near-dated stock will send you goods with four months of life left, after you already hold the same item with nine months. Under FIFO you would ship the older receipt and leave the short-dated goods on the shelf to die. Under FEFO you ship the short-dated goods first.

FEFO needs one thing FIFO does not: an expiry date recorded against each batch at the time you receive it. Without that date there is nothing to sort by, and "FEFO" is just a word.

Where FEFO matters: medicines, food and beverages, cosmetics, chemicals, paints and adhesives, seeds and agri inputs, and anything with a manufacturer's best-before. Our post on batch and expiry in a pharmacy works through what that looks like at a counter.

What is LIFO, and can I use it in India?

Last-in-first-out treats the most recently purchased stock as the first sold. It is not a physical picking rule — nobody deliberately sells the newest carton — it is a way of costing what you sold.

For financial reporting in India, LIFO is out. Indian accounting standards on inventories allow first-in-first-out or weighted average cost. LIFO was withdrawn as an acceptable method, so your audited accounts will not use it. Confirm the treatment that applies to your entity with your CA rather than taking a rule of thumb from a blog.

That leaves a practical question with a simple answer: for your books, choose FIFO or weighted average, apply it consistently year to year, and do not switch methods to flatter a bad quarter.

Which one should my business use?

Your businessPicking rule on the floorCosting method in the books
Medical shop, pharma distributionFEFO, with the batch recorded on every saleFIFO or weighted average
Restaurant, cloud kitchen, food processingFEFO on ingredients, shelf-life on finished itemsFIFO or weighted average
Grocery and FMCG retailFEFO for perishables and dated packs, FIFO for the restFIFO or weighted average
Apparel, footwearFIFO, with a season-based markdown plan on topFIFO or weighted average
Auto parts, hardware, electricalsFIFOFIFO or weighted average
Chemicals, paints, lubricantsFEFO where a shelf life is printedFIFO or weighted average
JewelleryPiece-level identity — each piece is its own unitCost of the specific piece

Two columns, because the picking rule and the costing method are different decisions. You can run FEFO on the floor and still value your closing stock on weighted average cost. They are not in conflict.

How do I actually enforce FIFO or FEFO?

Intent is not a system. Four things make it real.

  1. Record the batch at goods receipt. A batch or lot number, and for FEFO an expiry date. If this is optional at receipt, it will be skipped on a busy morning and the whole scheme is dead.
  2. Let the system pick, not the person. When a sale is entered, the correct batch should already be selected. Asking a counter operator to remember which batch is oldest during a queue is asking for the wrong answer.
  3. Allow an override, and record it. There are legitimate reasons to break the order: a customer returns a specific batch, a hospital wants a longer-dated pack, a case is already broken. Allow it, but make it deliberate and leave a reason on the record.
  4. Physically arrange the shelf to match. New stock goes behind, not in front. This is a training issue, not a software one, and it is where most FIFO discipline actually fails.

What does getting this wrong cost?

Real money, in three ways.

Write-offs. Stock that expires on your shelf is a total loss plus, for some categories, a disposal cost. A shop holding ₹8,00,000 of dated inventory that writes off 2% a year is losing ₹16,000 — the difference between a good FEFO habit and a bad one is often most of that.

Returns you cannot make. Many suppliers accept expiry returns only within a window before the expiry date. Miss the window because the stock sat unnoticed and a returnable item becomes a write-off.

Customer trust. A customer who finds a short-dated pack in their bag checks every pack after that, at your counter and everyone else's.

The counter to all three is a near-expiry report you actually run — 30, 60 and 90 day buckets, looked at weekly, with a decision on each line: sell it, discount it, move it to a branch that will sell it, or return it while you still can.

Does the method change my closing stock value?

Yes, whenever purchase prices move. Say you bought 100 units at ₹200 in April and 100 at ₹240 in July, and sold 100 by year end.

  • Under FIFO, the units sold are costed at ₹200 each — cost of goods sold ₹20,000 — and closing stock is 100 units at ₹240, so ₹24,000.
  • Under weighted average, the average cost is ₹220 — cost of goods sold ₹22,000 — and closing stock is ₹22,000.

Same physical stock, different reported profit and different balance sheet. Neither is a trick; both are accepted. What matters is that you pick one, apply it to every item, and stay with it year to year so your numbers stay comparable. A change in method is a disclosure, not a housekeeping tweak — talk to your CA.

FAQ

Is FEFO just FIFO for products with an expiry date? Not quite. They agree only when goods arrive in the same order as they expire. The moment a supplier sends you short-dated stock after a longer-dated delivery, FIFO would ship the wrong batch. If your goods carry an expiry date, sort by expiry, not by receipt date.

Can I use FIFO for my accounts and FEFO on the shelf? Yes, and most businesses with dated stock do exactly that. FEFO governs which physical batch goes out; FIFO or weighted average governs how you cost what went out. They answer different questions and are recorded in different places.

Why is LIFO not allowed in India? Indian accounting standards on inventory permit first-in-first-out and weighted average cost, and LIFO is not among the permitted methods. In periods of rising prices LIFO reports lower profit and a closing stock value far below current cost. For the treatment that applies to your entity, ask your CA.

Do I need batch tracking to run FEFO? Yes. FEFO sorts by expiry date, and an expiry date belongs to a batch, not to an item. Without a batch number and expiry captured when you receive the goods, there is nothing to sort. That single field at goods receipt is the whole prerequisite.


Related reading: pharmacy inventory: batch and expiry done right, the reorder point formula, with Indian lead times, and restaurant inventory and food costing.

If you want batches, expiry dates and near-expiry reporting on your own stock, see what KillStock does and the plans.

Get new posts by email

Occasional, practical, no spam.