FIFO vs moving average cost: which one should an online seller use?

Updated

Every time you sell a unit, your books need a cost for it. When you bought the same product at different prices, which price is that? The costing method answers it — and it changes your gross profit, your stock value, and your tax. Here is how the two methods most Thai sellers choose between actually work, with the same purchases run through both.

What a costing method decides

Suppose you bought 100 phone cases at ฿50 in January and 100 more at ฿60 in March. They are identical on the shelf. When one sells, the cost you record against that sale — your cost of goods sold (COGS) — depends on the method. So does the value of what is left.

  • FIFO (first in, first out) assumes the oldest units sell first. COGS uses the oldest purchase prices; what remains is valued at the newest prices.
  • Moving average recalculates one average cost per product every time stock is received. Every sale is costed at the average at that moment.
  • LIFO (last in, first out) is not permitted under Thai financial reporting standards, the same as under IFRS.

The same purchases, costed both ways

Receive 100 units at ฿50. Sell 60. Receive 100 units at ฿60. Sell 90. You spent ฿11,000 in total and 50 units remain.

FIFOMoving average
Cost of the first 60 sold60 × ฿50 = ฿3,00060 × ฿50 = ฿3,000
Average after 2nd receipt— (lots kept separately)(฿2,000 + ฿6,000) ÷ 140 = ฿57.14
Cost of the next 90 sold40 × ฿50 + 50 × ฿60 = ฿5,00090 × ฿57.14 = ฿5,142.86
Total COGS฿8,000฿8,142.86
Value of 50 units left50 × ฿60 = ฿3,00050 × ฿57.14 = ฿2,857.14

Both columns add up to the same ฿11,000. The method never changes what you spent — only which period the cost lands in. With prices rising, FIFO shows lower COGS and higher profit now; moving average smooths the rise across every sale.

See the average cost behind every sale

Proterate Stock recalculates moving-average cost on every receipt and shows it on the stock card. Import your products from Excel and read your real COGS this week. ฿499/month.

Get started

Which one suits an online seller

Moving average is usually the practical choice for a seller with hundreds of SKUs, frequent restocks, and supplier prices that drift. There is one number per product to understand, no lots to track, and freight or import duty can be folded into the average when goods arrive.

FIFO fits businesses that already track lots — batches with expiry dates, or high-value items bought at very different prices — and want profit to follow each batch closely.

Do not confuse costing with picking. Shipping the oldest or soonest-to-expire box first (FEFO) is good warehouse practice for cosmetics and supplements whichever costing method your books use. One is physical rotation; the other is arithmetic.

Tax, and changing your mind later

For corporate income tax, the Revenue Code values closing inventory at cost or market, whichever is lower, and once you have chosen a method you need approval from the Revenue Department to change it. Pick the method you can sustain, not the one that flatters this quarter.

This is general information, not tax advice. Confirm the method with your accountant before your first closing.

How Proterate Stock handles cost

Proterate Stock uses moving-average cost. The average is recalculated on every goods receipt, freight is allocated across the receipt so the unit cost is the landed one, and each product’s stock card shows the average cost after every movement — so the ฿57.14 above is something you can open and trace, not a number you have to trust.

  • Stock valuation and COGS reports that reconcile to the ledger
  • XLSX export for Express, PEAK, FlowAccount, or your accountant’s tool
  • Cost columns hidden from staff roles that should not see margin

Frequently asked

Is moving average the same as weighted average?

They use the same formula but at different times. Periodic weighted average computes one average for the whole period at closing; moving average recalculates after every receipt, so each sale is costed at the average on that day.

Can I use LIFO in Thailand?

No. Thai financial reporting standards, like IFRS, do not permit LIFO for inventory.

Which method gives lower tax?

When purchase prices are rising, FIFO reports lower COGS and so higher profit and tax in the short term; moving average reports slightly less profit. Over the life of the stock the total cost is the same — the method moves cost between periods, it does not remove it.

Does my costing method decide which box I ship first?

No. Costing is how the books value a sale. Which physical unit you pick — oldest first, or soonest expiry first — is a warehouse decision, and good practice either way.

See the average cost behind every sale

Proterate Stock recalculates moving-average cost on every receipt and shows it on the stock card. Import your products from Excel and read your real COGS this week. ฿499/month.

Get started