Skip to content
Accounting · 6 min read · 25 August 2026

FIFO vs average cost: which stock costing method should your business use?

When you buy the same item at different prices, you need a rule for which cost goes against each sale. This guide explains FIFO and weighted average cost with worked PKR examples and shows how each one changes your profit and stock value.

A wholesaler buys 100 cartons of tea in March at one price and another 100 in April at a higher price. In May he sells 150 cartons. What did those 150 cartons cost him? The answer decides his profit for the month and the value of the stock left on the shelf. There is more than one correct way to answer, and the two most common are FIFO and average cost.

The two methods in one line each

  • [FIFO](/glossary/fifo), first in first out: the oldest stock is assumed to be sold first, so sales are costed at the oldest purchase prices.
  • [Weighted average cost](/glossary/weighted-average-cost): all units of an item share one average cost, recalculated when new stock comes in.

Neither method needs to match which carton physically left the godown. They are accounting rules for assigning cost. What matters is choosing one and applying it consistently.

Worked example: prices going up

A Lahore distributor buys a product in two lots and then sells 150 units at Rs 700 each:

EventUnitsPrice (Rs)Amount (Rs)
Purchase lot 110050050,000
Purchase lot 210056056,000
Total available200106,000
Sale150700105,000

Under FIFO

The 150 units sold are costed as all 100 units from lot 1 plus 50 units from lot 2. Cost of goods sold = 100 x 500 + 50 x 560 = 50,000 + 28,000 = Rs 78,000. The 50 units left are valued at the newest price: 50 x 560 = Rs 28,000. Gross profit = 105,000 - 78,000 = Rs 27,000.

Under weighted average

Average cost = 106,000 / 200 = Rs 530 per unit. Cost of goods sold = 150 x 530 = Rs 79,500. Closing stock = 50 x 530 = Rs 26,500. Gross profit = 105,000 - 79,500 = Rs 25,500.

FIFO (Rs)Weighted average (Rs)
Sales105,000105,000
Cost of goods sold78,00079,500
Gross profit27,00025,500
Closing stock value28,00026,500
COGS + closing stock106,000106,000

Notice the last row. Both methods split the same Rs 106,000 of purchases between cost of goods sold and closing stock. They only differ in how much falls on each side this month. Over the full life of the stock, total profit is the same.

What happens when prices fall

Reverse the lots: lot 1 is 100 units at Rs 560 and lot 2 is 100 units at Rs 500. FIFO now costs the sale at 100 x 560 + 50 x 500 = 56,000 + 25,000 = Rs 81,000, giving a gross profit of Rs 24,000. The average is still Rs 530, so average cost still gives Rs 79,500 and Rs 25,500. With falling prices, FIFO shows the lower profit.

The rule of thumb: when prices are rising, FIFO shows higher profit and higher stock value; when prices are falling, it shows lower profit. Average cost smooths out the swings either way.

Moving average in daily trading

In a real shop, purchases and sales are mixed together. A moving average recalculates the average after each purchase. Example:

  1. Opening: 100 units at Rs 500 = Rs 50,000.
  2. Sell 60 units. Cost = 60 x 500 = Rs 30,000. Left: 40 units worth Rs 20,000.
  3. Buy 60 units at Rs 560 = Rs 33,600. Now 100 units worth 20,000 + 33,600 = Rs 53,600, so the new average is Rs 536.
  4. Sell 50 units. Cost = 50 x 536 = Rs 26,800. Left: 50 units worth Rs 26,800.

Doing this by hand for hundreds of items is not realistic. It is exactly the kind of calculation software should do every time you record a purchase or a sale.

Which one suits your business?

Business typeUsually suitsWhy
Pharmacy, food, cosmeticsFIFO with batch trackingOlder stock must leave first to avoid expiry
Hardware, building materialsWeighted averageIdentical items, frequent price changes, no expiry
Grocery and kiryana wholesaleEither; average is simplerHigh volume, small margins, many purchases
Electronics and mobilesFIFO or specific item costPrices drop over time; serial numbers matter

For goods with expiry dates, physical rotation matters as much as the costing rule. Batch and expiry tracking lets a pharmacy sell the batch that expires first, whatever costing method the accounts use. In Taajir, batches with expiry dates and first-expired-first-out (FEFO) picking come with the Manufacturing add-on, and IMEI or serial numbers come with the Lots & Serials add-on; see batch and expiry tracking and IMEI and serial tracking.

How the method affects your pricing decisions

Costing methods are not only an accounting matter. They change the number your salesman sees when he decides how much discount he can give. Take the rising-price example. Under FIFO, the system says the next 50 units cost Rs 560. Under weighted average, it says Rs 530. If a customer asks for a discount on 50 units at Rs 700, a salesman looking at the average may think he has Rs 170 a unit to play with, when replacing that stock will actually cost Rs 560 or more.

Whatever method your books use, keep an eye on the latest purchase price when setting selling prices. When a supplier raises his rate from Rs 560 to Rs 600, your selling price should move promptly, even if your average cost is still catching up. Many traders lose margin for weeks after a price rise simply because they priced from the old cost.

Returns and adjustments

When a customer returns goods, put them back into stock at the cost they went out at, so cost of goods sold falls by the same amount. When you return goods to a supplier, remove them at the price you paid for that lot. Stock written off as damaged should leave at its recorded cost and show up as a loss, so you can see how much breakage and expiry really cost each month.

Consistency is the real rule

Switching methods from month to month makes your profit figures meaningless, because you can no longer compare one month with the next. Pick a method with your accountant, use it for all items of a type, and change only for a good reason with a clear note of when and why. Also ask your accountant which method is acceptable for your tax filings.

Common mistakes

  • Using the latest purchase price for all stock, which is neither FIFO nor average and overstates stock when prices rise.
  • Valuing stock at selling price, which counts profit before the sale happens.
  • Ignoring freight and loading. The true cost of stock is its landed cost, including transport to your godown.
  • Forgetting returns to suppliers, which should reduce stock at the cost they came in at.

The method you choose flows straight into your stock valuation and your gross profit. An inventory system such as Taajir records each purchase price as you enter the supplier bill, so these figures come from your actual transactions rather than from memory at the end of the year.

FAQ

Questions people ask

Does FIFO or average cost give more profit?

When purchase prices are rising, FIFO shows higher profit in the short term. When prices are falling, average cost shows higher profit. Over the whole life of the stock, total profit is the same.

Does FIFO mean I must physically sell the oldest stock first?

No. FIFO is a costing rule. For goods with expiry dates you should still rotate physically, ideally with batch and expiry tracking.

Can I change my costing method?

You can, but do it rarely, with a clear reason and your accountant's advice, because changing methods makes month-to-month comparisons unreliable.

Should freight be included in stock cost?

Yes. Freight, loading and other costs of getting goods to your godown are usually part of the landed cost of the stock.

Tell us about your business.

We reply with a price, a demo time and the setup that fits your branches, counters and users.