FIFO (First In, First Out)
FIFO, or first in first out, is an inventory valuation method that assumes the oldest units on hand are the ones sold first, so the oldest costs flow into COGS and ending inventory carries the most recent costs. It usually matches how physical stock actually moves, it's accepted everywhere, and it's the default choice for most ecommerce sellers. Its one quirk: when supplier costs are rising, FIFO shows higher margins than what replacing the stock will cost you.
Example: you bought 1,000 units at $8 in March, then 1,000 more at $10 in May after a freight increase. You sell 1,200 units in June. Under FIFO, COGS is 1,000 × $8 plus 200 × $10, so $10,000, and the 800 units left on the shelf are valued at $10 each. Your P&L shows the margin earned on the cheap batch, which is real, but your next reorder happens at $10 or worse.
How the first in first out inventory method works
Every purchase creates a cost layer: a quantity and a unit cost, stamped with the date it arrived. Sales consume layers oldest first. When the March layer runs out, June's remaining sales pull from May. Ending inventory is whatever layers are left, valued at their own cost, which is why FIFO's balance sheet number tracks current replacement cost closely. The method describes cost flow, not physical flow; you can ship the newest box and still account FIFO. For most sellers the two match anyway, because nobody wants old stock aging in an FBA warehouse.
FIFO vs LIFO vs weighted average
LIFO (last in, first out) does the reverse: the newest costs hit COGS first, and ending inventory carries the oldest. When prices rise, LIFO reports lower profit and lower tax, which is its whole appeal. It's allowed under US tax rules but banned under IFRS, and it's rare in ecommerce because lenders and buyers expect FIFO or average cost. Elect LIFO for tax and you must use it on your financial statements too.
Weighted average cost blends every layer into one running average, recalculated at each receiving. Same March and May purchases: the average is $9, so June's COGS is 1,200 × $9 = $10,800 and the 800 leftover units carry $7,200. Compare the FIFO answer of $10,000 COGS and $8,000 ending inventory. Same physical goods, $800 of profit moved between periods purely by method choice. Weighted average suits high-SKU catalogs with constant small receivings; FIFO suits fewer SKUs where you want to see cost changes as they happen.
Specific identification tracks the actual cost of each serialized unit. Right for refurbished phones or one-of-a-kind vintage; impractical for 5,000 identical widgets.
Why FIFO is the default for ecommerce
Three reasons. It's accepted under GAAP, IFRS and IRS rules without an election. It matches how inventory moves through FBA and 3PL warehouses, so counts reconcile cleanly. And it produces an ending inventory figure lenders trust, since it reflects what the stock cost recently rather than years ago. QuickBooks Online's native inventory uses FIFO, Xero uses average cost, and most inventory tools let you pick, so check what your stack already assumes before you decide.
The one place FIFO misleads is during cost inflation, which is where the June example bites. Sellers who price off FIFO margins feel profitable right up until the cheap layers run out, then margins compress with no price change to blame. The fix isn't abandoning FIFO; it's watching replacement cost alongside it, which is easy when landed costs are tracked per receiving.
Common questions
Can I switch from FIFO to another method? For tax, a change in inventory method needs IRS consent on Form 3115. For management books you can change, but restate the prior year so comparisons hold. Pick once, early.
Does FIFO change my total profit? Over the life of the business, no. Every method expenses the same total cost eventually. FIFO only changes which period reports it, and timing is what taxes, loan covenants and exit multiples are measured on.
What's the right FIFO cost per unit? Full landed cost: invoice plus freight, duty and prep. Layers built on invoice price alone understate COGS on every sale. Method choice and layer tracking are set up during onboarding for monthly bookkeeping, and our COGS guide shows the flow end to end.
Where this shows up in our work
This isn’t textbook material for us; it’s the day-to-day of keeping seller books right. See how we handle it in practice:
Monthly Ecommerce Bookkeeping →