The split between physical flow and cost flow
In the previous guides of this rung you learned to track inventory under the perpetual and periodic systems, and you met the cost-of-goods-sold formula: beginning inventory plus purchases gives the [[cost-of-goods-available-for-sale|cost of goods available for sale]], which then splits into cost of goods sold and ending inventory. That split sounds simple until you ask one awkward question. If you bought the same identical item three times this month at three different prices, and now you sell one — *which cost did you just sell?*
Here is the crucial insight that unlocks this whole topic: the *physical* unit you hand to the customer and the *cost* you attach to that sale need not be the same thing. When goods are interchangeable — bolts, litres of oil, identical phone cases — nobody can tell unit #7 from unit #41, and frankly nobody cares. So accountants stop trying to trace each physical item and instead pick a rule for how *costs* flow out of inventory and into expense. This rule is called a cost-flow assumption, and the word *assumption* is honest: it is a chosen convention, not a description of which box you actually grabbed off the shelf.
One tiny shop, three answers
Let us pin this down with the smallest concrete example that still bites. A shop sells one kind of widget. It starts the month empty, then buys in three batches as prices climb — a steadily rising-price month, which is the world most businesses actually live in. It buys 10 units at 10 each, then 10 units at 12 each, then 10 units at 14 each. That is 30 units available, costing 360 in total — the cost of goods available for sale. During the month it sells 20 units. The question is the only question: of that 360, how much becomes COGS, and how much stays as the 10 unsold units in ending inventory?
[[fifo|FIFO]] — *first-in, first-out* — assumes the oldest costs leave first. The 20 units sold are charged at the two earliest batches: 10 units at 10 plus 10 units at 12, so COGS is 100 + 120 = 220. What stays behind in inventory is the *newest* cost — the last 10 units at 14, worth 140. Notice the pattern: under FIFO in a rising market, the cheap old costs go to the income statement and the dear new costs stay on the balance sheet. [[lifo|LIFO]] — *last-in, first-out* — does the mirror opposite. It assumes the newest costs leave first: the 20 units sold are charged at 10 at 14 plus 10 at 12, so COGS is 140 + 120 = 260, and the *oldest* cost stays in inventory — the first 10 units at 10, worth just 100.
[[weighted-average-cost|Weighted-average cost]] refuses to play favorites with old or new. It blends every cost into a single average per unit: 360 total cost ÷ 30 units available = 12 per unit. Every sale and every leftover unit then carries that same blended 12. So COGS is 20 × 12 = 240, and ending inventory is 10 × 12 = 120. Three methods, the exact same purchases, the exact same 20 units physically sold — and three different COGS figures (220, 240, 260) and three different inventory values (140, 120, 100). No one cheated; each simply applied a different, fully legitimate assumption.
Purchases (prices rising): 10 @ 10 = 100
10 @ 12 = 120
10 @ 14 = 140
Goods available: 30 units, cost = 360
Units sold: 20 Ending inventory: 10 units
Method COGS (20 sold) End. inventory (10 left)
------- -------------------- ------------------------
FIFO 100 + 120 = 220 10 @ 14 = 140
Weighted 20 @ 12 = 240 10 @ 12 = 120
LIFO 140 + 120 = 260 10 @ 10 = 100
Check, every row: COGS + ending inventory = 360What this does to profit, the balance sheet, and tax
Recall from the income-statement rung that gross profit is sales minus COGS. So a higher COGS means a lower reported profit, and vice versa — the cost-flow choice flows straight to the bottom line. Suppose our shop sold those 20 widgets for 18 each, taking in 360 of sales. Under FIFO, gross profit is 360 − 220 = 140; under weighted-average, 360 − 240 = 120; under LIFO, 360 − 260 = 100. Same store, same sales, same widgets out the door, yet FIFO reports a 40% fatter gross profit than LIFO. In a *rising*-price world this is the iron rule worth memorizing: FIFO flatters profit and inventory, LIFO deflates both.
There are two opposing honesty problems here, and naming them protects you. FIFO leaves a *fresh, near-current* cost in ending inventory — good, because the balance sheet value looks like today's replacement cost — but it pushes *stale, old* costs into COGS, so the income statement understates the true current cost of restocking and can flatter profit during inflation (some of that "profit" is just the appreciation of cheaply bought stock). LIFO is the reverse: it puts *current* costs into COGS, giving a more realistic, more conservative profit figure, but it leaves *ancient, dust-covered* costs sitting in inventory on the balance sheet — a value that can drift years out of date. Each method tells the truth at one end of the statements and fudges it at the other.
LIFO is legal under US GAAP but banned under IFRS
Here is a fact that surprises every newcomer and that you should simply know cold: LIFO is permitted in the United States but prohibited internationally. US GAAP allows FIFO, LIFO, and weighted-average. IFRS, the standard used across most of the rest of the world, allows FIFO and weighted-average but flatly bans LIFO. The objection is exactly the balance-sheet problem above: under IFRS thinking, leaving years-old, badly outdated costs sitting in inventory misleads readers, and the standard-setters judged that the distortion was not worth tolerating just to let companies lower their taxes.
This split has a sharp practical consequence: a US company using LIFO and a European competitor using FIFO are *not* directly comparable, even if their warehouses are identical. An analyst comparing them must mentally restate one onto the other's basis before drawing conclusions — and US firms that use LIFO are in fact required to disclose a "LIFO reserve," the gap between their LIFO inventory and what FIFO would have shown, precisely so readers can bridge the two. The lesson for you as a beginner is humbling and important: an inventory number is never a brute fact of nature. It is the output of a chosen method, and you cannot read it honestly without first asking which method produced it.
Choosing, applying, and honest caveats
How does a real company actually settle this? Not sale by sale on a whim — that would be chaos and an open door to manipulation. The choice is made once, written into policy, and then applied consistently every period. Here is the honest sequence behind any of these methods.
- Total the cost of goods available for sale: beginning inventory plus all purchases (this number is fixed and identical under every method — it is the pie you will slice).
- Choose one cost-flow assumption — FIFO, LIFO, weighted-average, or specific identification — as a documented accounting policy, and stick to it period after period.
- Apply the chosen rule to the units sold to compute COGS; whatever cost is not assigned to COGS is, by definition, what remains as ending inventory.
- Check the identity every time: COGS plus ending inventory must equal the cost of goods available for sale. If it does not, an arithmetic slip has crept in.
Three honest caveats keep this from misleading you. First, everything above assumed *rising* prices; if prices were falling, FIFO and LIFO simply swap their effects — FIFO would then give the higher COGS. The methods themselves are neutral; the direction of price change is what creates the gap. Second, none of this changes a single dollar of cash from buying or selling the goods — only LIFO's lower *tax* bill is a genuine cash difference; the rest is a reshuffling of which period reports which cost. Third, the gap between methods only matters when prices move and inventory turns slowly; for a company that buys and sells at nearly constant prices, FIFO, LIFO, and weighted-average converge to almost the same answer.