AegisSwift ← All guides
Home/Guides/Moving average vs FIFO
Concept guide

Moving average vs FIFO inventory costing

Same purchases, same sales, two different costs of goods sold. Neither is wrong — they answer "what did this unit cost?" in a different order. The difference only becomes a problem when two of your systems use different methods and nobody said so before the first month-end.

Reading this for your own shop? Start a free 14-day trial — no credit card, and your data is yours to export at any time.

1.The short answer

FIFO (first in, first out) keeps every purchase as its own layer, and a sale is charged at the cost of the oldest layer still on hand. Moving average blends everything on hand into one cost per unit, recalculated each time stock arrives at a different price, and charges every sale at that blend.

When purchase prices never change, the two are identical. When prices move — which is always — they report different cost of goods sold, different margin, and a different value for what is still on the shelf.

2.A worked example

You buy the same item twice at different prices, then sell 150 units.

Step FIFO Moving average
Buy 100 @ $10 Layer A: 100 @ $10 100 on hand @ $10.00
Buy 100 @ $12 Layer B: 100 @ $12 200 on hand @ $11.00 — ($1,000 + $1,200) ÷ 200
Sell 150 100 from A @ $10 + 50 from B @ $12 = $1,600 150 @ $11.00 = $1,650
Left on the shelf 50 @ $12 = $600 50 @ $11 = $550
Sell the last 50 $600 $550
Total over both sales $2,200 $2,200

Two things to take from that table. On the first sale the methods disagree by $50 — about a three-point difference in margin on a product selling at $15. And over the whole life of those 200 units, they agree to the cent.

3.Why they never tie out — and why that is not an error

The gap is timing: which period the cost lands in. It closes when the last unit of a batch is sold. But a working business is never at that point — there is always stock on hand, and the next purchase is always at a slightly different price. So in every real period, the two methods report a different number, and they keep doing so.

That is the whole explanation for "our inventory system and our books don't agree on cost of goods sold" when the two use different methods. It is not drift, it does not settle, and there is no reconciliation that makes it go away — you can only choose which system's method is the one your accountant reports from. The things that should agree between the two systems are quantities, and the totals over time; the per-period cost will not.

Rule of thumb: when purchase prices are rising, FIFO reports lower cost of goods sold and higher margin than moving average, because it is still selling older, cheaper stock. When prices are falling, the opposite. Moving average sits in between and moves more slowly.

4.When each one fits

FIFO

Moving average

The choice that matters more than which method: making it deliberately, and telling your accountant. Most businesses change costing method by accident — by switching software.

5.When your inventory system and your books use different methods

This is where the question stops being theory. Common combinations, from each vendor's own documentation:

If your inventory system and your accounting system use different methods, cost of goods sold will differ between them every period, for the reason in §3. Three practical consequences when you move from one method to another:

6.What AegisSwift uses, and why

AegisSwift costs inventory on a moving average. It is maintained on every costed receipt — including freight and duty allocated to that receipt — and every sale, issue and write-down is charged at the average at that moment. A count that finds more stock values the difference at the current average rather than at a figure somebody typed.

We chose it because our customers are mostly distributors and light manufacturers buying interchangeable stock often, and because it never needs to know which purchase a unit on a truck came from. It also means a QuickBooks Desktop company file on its default average cost is on the same method, as is a QuickBooks Online company that chose Moving Average; one on FIFO is not, and the QuickBooks guide covers what that means for your books in detail.

7.Questions people ask

Does FIFO mean I have to pick the oldest stock first?

No. FIFO is an assumption about cost, not an instruction about which box to pick. Many businesses pick whatever is nearest and still cost FIFO. The one place the two line up on purpose is dated stock, where picking the oldest first is good practice anyway.

Is one method "more accurate"?

Both are generally accepted methods for valuing inventory. FIFO charges each sale at a real purchase price; moving average charges a real blend of the prices paid. Neither is an estimate in the sense of a guess.

Can I switch methods later?

Some systems allow it from a date; QuickBooks Online does not. Either way it changes reported cost of goods sold from that date, so it is an accountant's decision first and a software setting second.

What about LIFO?

Last in, first out is permitted for US tax in some cases but not under international standards, and it is uncommon in small businesses. None of the systems named on this page offers it.

Written from Intuit's and Cin7's own documentation, read in September 2026, and from running moving-average costing in production. If any of this is out of date for your edition, tell us at hello@aegisswift.com and we will correct it. This page explains how the methods work; it is not tax or accounting advice.

See what your stock costs, one movement at a time

Moving-average cost on every receipt, sale and count, landed cost included, and the journal entries posted to QuickBooks Desktop or Online — from $69/month. 14-day free trial, no credit card, set up in about 30 minutes.

Start a free trial