Free Ebook cover Inventory Accounting for Beginners: Costing, Valuation, and Common Entries

Inventory Accounting for Beginners: Costing, Valuation, and Common Entries

New course

11 pages

Inventory Costing Methods: FIFO and Weighted Average

Capítulo 6

Estimated reading time: 6 minutes

+ Exercise

Cost Flow Assumptions (and Why They Can Differ from Physical Flow)

A cost flow assumption is the rule you choose to decide which purchase costs are assigned to cost of goods sold (COGS) and which costs remain in ending inventory. It is an accounting convention for assigning costs to units.

Important: the cost flow assumption does not have to match the physical flow of goods. A warehouse might physically ship the oldest items first to avoid spoilage, but the accounting system could still assign costs using a different pattern (as long as the method is allowed and applied consistently).

  • Physical flow: which specific boxes/items actually leave the warehouse.
  • Cost flow: which costs are treated as leaving first for accounting purposes.

Why might they differ?

  • Operational reasons: physical handling is driven by shelf life, storage layout, or picking efficiency.
  • Pricing and margin analysis: management may want a costing method that smooths volatility or better matches how they evaluate performance.
  • Practicality: tracking exact item-by-item costs can be expensive; methods like weighted average reduce recordkeeping complexity.

FIFO (First-In, First-Out): Layered Costing

FIFO assumes the earliest costs are assigned to COGS first. Think in layers: each purchase batch creates a cost layer (units and unit cost). When you sell units, you “peel off” the oldest layers first.

How FIFO Builds COGS and Ending Inventory

  • COGS under FIFO: composed of the oldest purchase costs (earliest layers).
  • Ending inventory under FIFO: composed of the most recent purchase costs (latest layers remaining).

FIFO Step-by-Step (Layer Method)

  1. List purchase layers in chronological order (units, unit cost, total cost).
  2. Determine total units sold.
  3. Assign sold units starting from the oldest layer until all sold units are costed.
  4. Whatever units remain in the newest layers become ending inventory.

Weighted Average Cost: Smoothing Unit Costs

Weighted average assigns the same average unit cost to all units sold and all units in ending inventory (within the scope of the method). Instead of tracking layers for COGS, you compute an average cost per unit and apply it.

Continue in our app.

You can listen to the audiobook with the screen off, receive a free certificate for this course, and also have access to 5,000 other free online courses.

Or continue reading below...
Download App

Download the app

There are two common variants:

  • Periodic weighted average: compute one average for the entire period using all units available for sale, then apply it to units sold and ending units.
  • Perpetual moving weighted average: recompute the average after each purchase; each sale uses the current moving average at the time of sale.

Periodic Weighted Average: Steps

  1. Compute total cost of goods available for sale (beginning inventory cost + purchases cost).
  2. Compute total units available for sale (beginning units + purchased units).
  3. Average cost per unit = total cost available ÷ total units available.
  4. COGS = units sold × average cost per unit.
  5. Ending inventory = ending units × average cost per unit.

Perpetual Moving Weighted Average: Steps

  1. After each purchase, update: new average cost per unit = (prior inventory cost + purchase cost) ÷ (prior units + purchased units).
  2. When a sale occurs, cost it at the current moving average.
  3. Reduce inventory units and inventory cost accordingly; continue updating after later purchases.

Structured Dataset (Multiple Purchase Batches at Different Costs)

Assume the following activity for a single product during the month. Units are identical; only purchase costs differ.

DateActivityUnitsUnit CostTotal Cost
Jan 1Beginning inventory100$10$1,000
Jan 5Purchase200$11$2,200
Jan 12Purchase150$12$1,800
Jan 20Purchase250$13$3,250
Jan 28Sale (units sold)500

Compute units available for sale and ending units:

  • Total units available = 100 + 200 + 150 + 250 = 700 units
  • Units sold = 500 units
  • Ending units = 700 − 500 = 200 units

Next, compute results under FIFO and weighted average.

Complete Solution Under FIFO (Layered)

1) Build the cost layers

Layer (oldest → newest)UnitsUnit CostLayer Cost
Beginning inventory (Jan 1)100$10$1,000
Purchase (Jan 5)200$11$2,200
Purchase (Jan 12)150$12$1,800
Purchase (Jan 20)250$13$3,250

2) Assign 500 units sold to the oldest layers first

Start with the oldest layer and work forward:

Source layer used for COGSUnits takenUnit CostCost assigned to COGS
Beginning inventory100$10$1,000
Jan 5 purchase200$11$2,200
Jan 12 purchase150$12$1,800
Jan 20 purchase (partial)50$13$650

FIFO COGS = 1,000 + 2,200 + 1,800 + 650 = $5,650

3) Determine ending inventory composition (what layers remain)

We used 50 units from the Jan 20 layer, so remaining in that newest layer:

  • Jan 20 layer remaining units = 250 − 50 = 200 units

FIFO ending inventory = 200 units × $13 = $2,600

Complete Solution Under Weighted Average (Periodic)

1) Compute total cost and total units available for sale

  • Total units available = 700
  • Total cost available = 1,000 + 2,200 + 1,800 + 3,250 = $8,250

2) Compute weighted average cost per unit

Average cost per unit = $8,250 ÷ 700 = $11.785714...

Rounded to cents: $11.79 per unit (rounding can create small differences; many systems keep more decimals internally).

3) Apply the average to units sold and ending units

  • Weighted average COGS = 500 × 11.785714... = $5,892.86
  • Weighted average ending inventory = 200 × 11.785714... = $2,357.14

Check: $5,892.86 + $2,357.14 = $8,250.00 (ties to total cost available).

Weighted Average (Perpetual Moving Average): What Would Change?

With a perpetual moving average, the average cost per unit is recalculated after each purchase, and each sale uses the average at that moment. If there is only one sale at the end of the period (as in our dataset), the moving average at the time of sale equals the periodic average, so the results match.

To see why perpetual can differ, imagine sales occur between purchases. Then early sales would be costed using an earlier moving average (before later, higher-cost purchases occur), which can produce a different COGS and ending inventory than periodic weighted average.

Mini-illustration (no full recomputation):

  • If a sale happens after the Jan 12 purchase but before the Jan 20 purchase, that sale would use an average based only on layers up to Jan 12.
  • Later purchases would not affect the cost assigned to that earlier sale under perpetual moving average, but they would affect the single period-wide average under periodic weighted average.

Compare FIFO vs. Weighted Average (COGS, Ending Inventory, Gross Profit)

Assume the 500 units were sold at $20 each. Sales revenue = 500 × $20 = $10,000.

MethodCOGSEnding InventoryGross Profit (Sales − COGS)
FIFO$5,650.00$2,600.00$4,350.00
Weighted Average (Periodic)$5,892.86$2,357.14$4,107.14

How to Interpret the Differences (in This Dataset)

Unit costs are rising from $10 to $13. Under rising costs:

  • FIFO assigns older, cheaper costs to COGS first → lower COGS, higher gross profit, and ending inventory reflects newer, higher costs.
  • Weighted average blends all costs → COGS and ending inventory fall between the oldest and newest costs, producing results between FIFO and the most recent cost layer.

Quick Self-Check Questions

  • Under FIFO, which purchase batch is most likely to remain in ending inventory when costs are rising?
  • Under weighted average, why do units sold and units remaining share the same unit cost?
  • If sales happen throughout the month, which weighted average variant (periodic vs perpetual) might produce different COGS, and why?

Now answer the exercise about the content:

When unit costs are rising, which outcome best describes FIFO compared with periodic weighted average?

You are right! Congratulations, now go to the next page

You missed! Try again.

With rising costs, FIFO assigns earlier, lower-cost layers to COGS first, which lowers COGS and increases gross profit. The remaining ending inventory consists of newer, higher-cost units.

Next chapter

Inventory Valuation Concepts: Cost, Net Realizable Value, and Write-Downs

Arrow Right Icon
Download the app to earn free Certification and listen to the courses in the background, even with the screen off.