← Guides

Moving average or FIFO: choosing a stock valuation method

Moving average and FIFO are both legal in India and give different profit on the same sale. Here is what decides it, and why moving average usually wins.

For anyone who holds stock and has been asked what it is worth · 3 min read · updated

In short

  • FIFO and weighted average are both permitted in India; LIFO is not.
  • On the same purchases and the same sale, the two methods report different profit.
  • Moving average gives one cost per item, so quotes, margin reports and the accounts agree.
  • FIFO suits identifiable, expensive items and swinging prices; moving average suits many small fast-moving SKUs.
  • Changing method mid-year is a change in accounting policy, not a setting.
  • A moving average must be recomputed when an entry is back-dated, or the ledger silently disagrees with itself.

The two methods, in one example

You buy 10 units at ₹100, then 10 more at ₹140. You sell 10. What did those 10 cost?

Under FIFO, the oldest go first: ₹1,000. Your remaining stock is worth ₹1,400. Under moving average, every unit is worth the same ₹120: the sale cost ₹1,200 and the remaining stock is worth ₹1,200.

Same purchases, same sale, and ₹200 of difference in the profit you report. Neither is wrong. They answer different questions.

What each one is actually good at

FIFO tells the truth about the specific goods. If you can point at the crate that left, and its cost mattered — a machine, a vehicle, a consignment bought against a fixed order — FIFO matches the money to the thing. It also values closing stock at recent prices, which is closer to what it would cost to replace.

Moving average tells the truth about the business. One number per item means a salesperson quoting a price, a report showing margin, and the accounts all agree without anybody choosing which layer they are looking at. That matters more than it sounds: most margin arguments in small businesses are two people reading two different costs.

FIFO also costs more to run. It has to hold every unconsumed layer per item per warehouse, and a back-dated entry rewrites the queue from that point forward. Moving average has one number to carry.

What the law says in India

AS 2 and Ind AS 2 both permit FIFO and weighted average, and both prohibit LIFO. You must apply the chosen method consistently, and a change is a change in accounting policy that has to be disclosed.

That last point is the one businesses discover late. Switching method mid-year is not a settings change: it restates your closing stock, which restates your profit, which your auditor will want explained. Pick before you have history, not after.

How to choose

Use FIFO if the individual item is identifiable and expensive, if your purchase prices swing hard and closing stock value matters to a lender or an investor, or if your auditor has already asked for it.

Use moving average for everything else — fast-moving goods, many small SKUs, prices that drift rather than lurch. It is the default in most SMB systems for a reason.

One thing that is not a reason: expiry. FIFO is a costing method, not a picking rule. You can value at moving average and still pick oldest-expiry-first, and for perishables you should — see the guide on expiry below.

The detail that catches people out

A moving average has to be recomputed, not stored. If you record a purchase with yesterday’s date after today’s sale has already been costed, that sale was costed at the wrong average — and unless the system replays every movement after the date you inserted, the ledger will quietly disagree with itself from that day onwards.

Ask any system you are evaluating what it does with a back-dated entry. "It updates the balance" is not the same as "it recomputes the valuation of everything after it", and the second is the one you need.

Common questions

Is LIFO allowed in India?
No. AS 2 and Ind AS 2 both permit FIFO and weighted average cost and both disallow LIFO, which is one of the clearer differences from US GAAP.
Can I use different methods for different items?
In principle a method is applied consistently to items of a similar nature and use, so different classes of inventory can differ if there is a real reason. Two methods for the same class, chosen item by item, is not consistency — it is choosing your profit.
Does moving average work with batch tracking?
Yes, and the two answer different questions. The batch says which physical goods went out and when they expire; the moving average says what they cost. Dailybuz values at moving average and picks by earliest expiry.