Nordlet

Docs / Glossary

What Is FIFO? Inventory Valuation Methods Compared

How FIFO layers work, a worked comparison against weighted average, why LIFO is banned in the EU, and how a perpetual FIFO engine consumes cost layers.

FIFO — first in, first out — is a cost-flow assumption: when you sell a unit, you charge the cost of the oldest unit you still hold. It answers a question that has no physical answer. If you bought identical widgets at 10 €, then 12 €, then 11 €, and you sell one, which cost left the building?

The units are indistinguishable, so accounting picks a rule. The rule you pick changes both your reported profit and your balance sheet, which is why the choice is a policy and not a detail.

How the layers work

FIFO treats each purchase as a layer with its own quantity and unit cost, and consumes them in the order they arrived.

Starting position:

Layer Received Quantity Unit cost Value
1 3 Jan 100 10.00 1,000
2 14 Feb 100 12.00 1,200
3 2 Mar 100 11.00 1,100
300 3,300

Sell 150 units. FIFO takes all 100 from layer 1 and 50 from layer 2:

Cost of goods sold = (100 × 10.00) + (50 × 12.00) = 1,600
Remaining inventory = (50 × 12.00) + (100 × 11.00) = 1,700

Layer 1 is now exhausted, layer 2 has 50 units left, layer 3 is untouched. The next sale starts from layer 2.

The methods compared

Same three purchases, same 150 units sold, sold for 3,000 €:

Method COGS Closing inventory Gross profit
FIFO 1,600 1,700 1,400
Weighted average 1,650 1,650 1,350
LIFO (not permitted in the EU) 1,700 1,600 1,300

Weighted average uses one blended cost — 3,300 ÷ 300 = 11.00 € per unit — recalculated after each purchase in a perpetual system. It smooths price volatility and is simpler to explain, at the cost of never matching any actual transaction.

LIFO charges the newest cost first. In rising prices it reports the lowest profit and therefore the lowest tax, which is exactly why it is popular in the United States and prohibited under IFRS (IAS 2) — it leaves balance-sheet inventory valued at ancient prices that bear no relation to current cost. EU companies reporting under IFRS or under national GAAP aligned with it cannot use it, and Lithuanian business accounting standards permit FIFO and weighted average.

Notice the pattern: when prices rise, FIFO reports higher profit and a more current inventory value. Older, cheaper costs go to the income statement while newer, dearer costs stay on the balance sheet. In falling prices it reverses. Neither method is "conservative" in all conditions.

Choosing between FIFO and weighted average

  • FIFO matches physical flow for anything perishable or with a shelf life, keeps balance-sheet inventory close to current cost, and produces an audit trail where each sale's cost traces to a specific receipt.
  • Weighted average suits commodities and fungible bulk goods, dampens the profit impact of volatile input prices, and needs less bookkeeping machinery.

Two constraints apply regardless of method. Consistency: you cannot switch to whichever gives a better number this year. And lower of cost and net realisable value: if stock is worth less than its cost, it is written down — cost-flow assumptions determine cost, not value.

Perpetual vs periodic

A perpetual system updates inventory and cost of goods sold at every transaction, so both are correct at any moment. A periodic system counts stock at period end and derives COGS by difference:

COGS = Opening inventory + Purchases − Closing inventory

Periodic is cheaper and blind — you cannot know your gross margin until you count, and shrinkage is invisible because it is silently folded into COGS. Perpetual is what any real-time system does, and it is what makes a stock discrepancy detectable at all: your records say 300 units, the count says 297, the difference is a real event needing an explanation.

How Nordlet's FIFO engine works

Inventory is perpetual and FIFO, implemented as genuine cost layers rather than a running average.

Every inbound movement — a purchase receipt, a production output, a stock surplus — creates a movement row carrying its quantity, unit cost and a remaining quantity. When stock is consumed, the engine selects layers with remaining quantity greater than zero, ordered by date, then creation order, and draws down each layer's remaining quantity until the required amount is satisfied. A consumption spanning three layers produces a cost built from three different unit costs, exactly as in the worked example above.

That design has consequences worth knowing:

  • Stock value is always derivable as the sum of remaining quantity × unit cost across open layers, which is what POST /v1/reports/stock-balance reports — and it reconciles to the stock account in the general ledger because COGS posts at the moment of consumption.
  • Stock aging is real, not estimated: /v1/reports/stock-aging buckets the remaining layers by their receipt date, so you can see that 12,500 € of inventory contains 3,000 € received over 90 days ago.
  • Landed costs adjust the layers themselves. Freight allocated after receipt raises the unit cost of the layers still holding stock — units already sold are not retroactively restated, which keeps closed periods closed.
  • Insufficient stock is rejected rather than posted negative, so the ledger can never carry inventory that does not exist.

Honest scope: FIFO is the only cost-flow method implemented. There is no weighted-average option and no specific-identification tracking by serial number, and inventory is valued at cost — automatic net-realisable-value write-downs are a manual journal entry, informed by the aging report.

FAQ

What does FIFO mean in accounting?

First in, first out: the cost of the oldest units in stock is charged to cost of goods sold first, leaving the most recently purchased costs in closing inventory. It is a cost-flow assumption, and it does not require goods to physically move in that order.

Is FIFO the same as physically selling the oldest stock first?

No, though they often coincide. FIFO is about which cost is expensed; physical rotation is a warehouse practice. You can apply FIFO costing while shipping whichever box is nearest the door.

Why is LIFO not allowed in the EU?

IAS 2 prohibits it because it leaves balance-sheet inventory measured at outdated costs, misrepresenting the value of stock actually held. EU frameworks aligned with IFRS follow the same prohibition; FIFO and weighted average are the accepted methods.

Does FIFO give higher profit than weighted average?

When purchase prices are rising, yes — FIFO charges older, cheaper costs to COGS and leaves newer, dearer costs in inventory. When prices fall, the relationship reverses. Neither is universally more conservative.

Can I change inventory valuation methods?

Only with good reason and proper disclosure. Consistency is a core accounting principle precisely because switching method changes reported profit, and switching opportunistically is what the principle exists to prevent.