Two businesses buy the exact same goods at the exact same prices, sell the exact same quantity, and report different profits. The only difference is how their software values what is left in stock. In a country where prices only go up, that choice quietly decides how much tax you pay. Here is how to make it on purpose.
Here is a small experiment that unsettles most business owners the first time they see it. Take two identical trading businesses. They buy the same goods, from the same supplier, at the same prices, on the same days. They sell the same quantity for the same money. Everything is identical, except one thing: how their software decides what the stock still sitting in the warehouse is worth. Run the month, and the two businesses report different profits. Not because one is better run, but because they used a different inventory costing method. In Pakistan, where prices only ever seem to climb, that difference is real money, and it quietly decides your tax bill.
The two methods almost everyone chooses between are FIFO, first-in-first-out, and weighted average cost, often shortened to WAC or WACC. Most owners have heard the terms, nodded along, and let the accountant or the software pick one by default. That is a mistake, because the choice is not a technicality. It changes your reported profit, it changes what your closing stock is worth on the balance sheet, and it changes how much tax you pay and when. It is worth understanding well enough to choose on purpose, so this is the plain-language version, with the Pakistani reality built in.
FIFO assumes that the first goods you bought are the first ones you sell. Not physically, necessarily, but for costing. So when you make a sale, the system reaches for your oldest purchase and uses that cost as the cost of the goods sold. The newer, usually more expensive stock stays behind in the warehouse. The consequence, in a market where prices are rising, is that your cost of sales is based on older, cheaper prices, which makes your reported profit look higher, and your closing stock is valued close to the latest price, which makes your balance sheet look healthier.
FIFO’s great strength is that it mirrors how good businesses physically operate anyway. You should be selling your oldest stock first, especially if it can age or expire, so the costing follows the real flow of goods. It also keeps a clear trail: every sale can be traced back to the specific purchase batch, or layer, it drew from. That traceability is why serious inventory systems, ours included, are built on FIFO layers underneath. Each receipt of stock creates a dated layer at its own cost, and each sale consumes those layers oldest-first, so nothing is guessed and every cost points back to a real purchase.
Key insight
Weighted average takes a different view. Instead of tracking which specific batch a sale came from, it blends all your stock into a single average cost. Buy 100 units at PKR 90 and then 100 more at PKR 110, and your average cost is PKR 100 per unit, full stop. Every sale, and everything left in stock, is valued at that blended figure until the next purchase shifts the average again. There are no layers to track, no oldest-first logic, just one moving number that represents the average cost of everything you hold.
The appeal of weighted average is smoothness and simplicity. Prices bounce around, and rather than your cost of sales jumping between old and new purchase prices, it glides along a blended average. For businesses dealing in bulk, interchangeable commodities, where one unit genuinely is indistinguishable from the next and there is no meaningful oldest-first to respect, weighted average is a natural and perfectly legitimate fit. It also sidesteps the question of which exact layer a sale came from, which for truly fungible bulk stock is a question without a real answer anyway.
Real scenario
| Consider | FIFO | Weighted average |
|---|---|---|
| How stock is valued | Oldest cost leaves first, newest cost stays in stock | Everything valued at one blended average cost |
| In a rising market | Lower cost of sales, higher reported profit, closing stock near latest price | Smoother cost of sales, profit sits between the extremes |
| Effect on tax | Higher profit shown means more tax, sooner | Profit smoothed, tax effect evened out over time |
| Best suited to | Goods that physically move oldest-first, batches, perishables | Bulk, interchangeable stock where units are identical |
| Traceability | Each sale ties back to a specific purchase layer | No layers, one moving average across all units |
Two local realities make this choice sharper than the textbooks suggest. The first is inflation. When prices rise steadily, the gap between FIFO and weighted average is not academic, it can be a large swing in reported profit, and therefore in tax, every single year. A business that never consciously chose a method has still made a tax decision by default, it just does not know it. In a low-inflation country you could shrug at the difference. In Pakistan you cannot; the numbers are too big to ignore.
The second is landed cost, and this one trips up importers constantly. The true cost of imported goods is not the invoice price. It is the price plus customs duty, plus clearing, plus freight, plus every charge to get the goods into your warehouse. Whichever method you use, if those landed costs are not folded into the cost of your stock, both FIFO and weighted average will be built on a number that is simply too low, and your profit will look better than it is right up until the cash does not add up. We wrote about this and other quiet leaks in our piece on inventory mistakes hurting Pakistani trading businesses. The costing method only matters if the cost going into it is honest in the first place.
Watch out
For most trading, distribution and retail businesses in Pakistan, FIFO is the sensible default, and it is the one we build around. It matches how you should physically move stock, oldest first. It keeps a clean trail from every sale back to a real purchase. And it is essential the moment your goods carry batches or expiry dates, because you cannot manage shelf life on a blended average that has forgotten which batch is which, the whole reason FIFO and batch and expiry tracking go hand in hand. If you sell identifiable, dated, or non-interchangeable goods, FIFO is almost always the right answer.
Weighted average earns its place in genuinely bulk, uniform, commodity-style stock, where there is no meaningful oldest unit and a single blended cost reflects reality better than pretending you can tell one grain from the next. The wrong move is to choose by accident, to let a default setting decide something that affects your profit and your tax. Understand what each method does to your numbers, look at what you actually sell, and choose deliberately. And then, crucially, be consistent, because switching methods mid-stream to flatter a year’s profit is exactly the kind of thing that turns an audit hostile.
Key insight
If you are not sure which method your software is even using, or whether your imported stock carries its true landed cost, that uncertainty is itself worth fixing, because everything downstream, profit, stock value, tax, depends on it. Talk to us about what you buy and sell, and we will show you how FIFO costing with proper purchase layers and full landed cost works inside NavoBook, so every sale traces back to a real purchase and your stock value is one you can defend. NavoBook is one plan, PKR 30,000 a month, all 18 modules included, set up by a team that understands both the accounting and the tax side. The details are on our pricing page.
All 18 modules. PKR 30,000/month. No hidden per-module fees. Start today.