FIFO vs weighted average cost for a Shopify store: which should you use?
Both are accepted under US GAAP and IFRS. Weighted average gives every unit of a product the same blended cost; FIFO (first in, first out) charges the oldest purchase prices to sales first, so when prices rise it shows lower cost of goods sold and higher closing stock. For most Shopify stores that reorder the same products, weighted average is simpler and fits Shopify's single Cost per item field. FIFO suits stores whose accountant asks for it or whose purchase prices swing a lot. Choose one and keep it.
Same stock, two methods
A variant has 40 units on hand bought at $12.00. You receive 60 more at $13.50, then sell 70.
| FIFO | Weighted average | |
|---|---|---|
| Cost of the 70 units sold | $885.00 | $903.00 |
| How it is worked out | 40 × $12.00 + 30 × $13.50 | 70 × $12.90 |
| Value of the 30 units left | $405.00 | $387.00 |
| Total (always the same) | $1,290.00 | $1,290.00 |
Neither method changes what you spent, $1,290.00. They only decide how much of it lands in this period's cost of goods sold and how much stays on the shelf as stock.
What changes between the two
- When prices rise, FIFO reports lower cost of goods sold and higher profit now, and higher closing stock. Weighted average sits between the old and new prices.
- When prices fall, the opposite.
- Record keeping. FIFO has to keep every delivery as a separate layer and use them up in order. Weighted average keeps one running number per product.
- Volatility. Weighted average smooths one expensive or cheap delivery across all units; FIFO shows it when those units sell.
How to choose
- Ask your accountant first. If they already use one method for your books, use the same one.
- Same products bought again and again, prices drifting slowly: weighted average.
- Products bought in distinct batches at very different prices, or a lender or accountant asking for FIFO: FIFO.
- Don't switch back and forth. Consistency matters more than the method. In the US, changing an inventory method generally needs IRS consent (Form 3115). LIFO is allowed under US GAAP but not under IFRS.
How each works with Shopify's Cost per item
Shopify keeps one Cost per item per variant and doesn't change it when stock arrives (Shopify Help). With weighted average, that field holds the running average. With FIFO, the honest value is the price of the oldest units still on the shelf, because those are the next ones to sell.
True COGS supports both. Weighted average is on every plan; FIFO is on paid plans. In FIFO mode it keeps each delivery as a layer, uses the oldest first, and writes the cost of the oldest units still in stock to Cost per item, so Shopify's profit reports cost the next sale the FIFO way. Either way, every price is kept with its date.
Related: the weighted average formula and calculator · COGS and inventory value at month-end.
See also: Perpetual vs periodic inventory.
Questions merchants ask
Is FIFO or weighted average better for a Shopify store?
Neither is better in general; both are accepted under US GAAP and IFRS. Weighted average is simpler for stores that reorder the same products. FIFO suits batches bought at very different prices, or an accountant who asks for it.
Does Shopify support FIFO?
Shopify stores one Cost per item per variant and does not calculate FIFO or weighted average. An app has to keep the delivery layers and update Cost per item.
Does FIFO or weighted average give higher profit?
When purchase prices are rising, FIFO reports lower cost of goods sold and therefore higher profit in the period. When prices fall, weighted average reports the higher profit.
Can I change from weighted average to FIFO later?
You can, but treat it as an accounting decision, not a setting. In the US a change of inventory method generally needs IRS consent (Form 3115). Ask your accountant first.
Try True COGS free. True COGS is an inventory costing app for Shopify by Nexus Logic Systems. It records the price you paid on every delivery (a received purchase order or a transfer), with its share of freight and duty on paid plans, keeps every price with its date, and writes your moving weighted average cost, or FIFO cost on a paid plan, to Shopify's Cost per item. It is free for up to 25 variants with a cost on record; paid plans start at $29 a month or $290 a year.
Install from the App Store