FIFO vs. Weighted-Average Cost: Which Inventory Valuation Method Is Right for Your Ecommerce Store?

Illustration of shipping boxes splitting into two paths, one lined up in order and one merging into a pool, representing FIFO vs weighted-average inventory costing for ecommerce stores

If your product costs change from one purchase order to the next, FIFO usually gives a more accurate profit picture, while weighted-average keeps your bookkeeping simpler once you’re managing dozens of SKUs. Neither one is “wrong,” the right pick depends on how your costs move and how much time you want to spend on inventory admin. 

It’s also one of those decisions SAL Accounting gets asked about often, because pick the wrong one and your margins could be misleading you for months before anyone catches it.

See the size of the impact on your bottom line first with the Ecommerce EBITDA Calculator.

Quick Takeaways

  • Canada allows FIFO or weighted-average only, LIFO isn’t permitted
  • FIFO fits volatile costs; weighted-average fits high SKU counts
  • Same sale, different COGS: $1,600 (FIFO) vs. $1,800 (weighted-average) in our example
  • Switching methods mid-year requires documentation and consistent application
  • Multiple warehouses or FBA setups usually favor weighted-average
  • Missing landed costs understates COGS under either method
  • The best method matches your cost patterns, not a universal rule

What Is FIFO Inventory Costing?

FIFO stands for First In, First Out. Basically, it assumes the oldest inventory you bought is the first inventory you sell.

So if you bought 100 units at $8 in January and another 100 units at $10 in March, FIFO assumes your April sale is coming out of that $8 batch first. Once those units are gone, you move to the $10 batch, and so on.

What this means in practice:

  • FIFO doesn’t track which physical unit actually left the shelf, it’s an accounting assumption, not a shipping instruction
  • It matches older, usually lower costs against current sales when your costs are rising, which changes how you calculate Cost of Goods Sold each period
  • That tends to show better-looking margins short term, with inventory valued closer to today’s prices

Pro tip: Keep supplier invoices filed in the order they arrive. It turns FIFO from a guessing game into a quick lookup when it’s time to close the books.

The takeaway: FIFO gives you numbers that lean toward current market value.

What Is Weighted-Average Cost Inventory Valuation?

Weighted-average cost takes a different approach. Instead of tracking which batch is “first,” it blends every unit you have into one average cost per unit.

Let’s say you have 100 units at $8 and 100 units at $10. Weighted-average doesn’t care which batch you sell from, it just says every unit is worth $9, which is close to how Shopify tracks cost by default once you’re managing inventory at scale.

What this means in practice:

  • The formula: total cost of inventory available ÷ total units available
  • That average recalculates every time you buy more stock
  • Every sale gets costed at the current average, no matter which physical box it came from

The takeaway: weighted-average smooths out price swings, so your margins don’t jump just because a new purchase order landed.

When Should You Use FIFO vs. Weighted-Average Cost?

The right method usually comes down to how your costs behave and how much complexity you’re willing to manage.

When FIFO Fits Your Business

FIFO tends to fit better if:

  • Your supplier costs move around a lot (seasonal materials, currency swings, freight surcharges)
  • You sell perishable, trend-driven, or short-shelf-life products where older stock genuinely does move first
  • You want your financials to reflect current market value as closely as possible
  • You’re preparing your store for a valuation, loan application, or investor conversation and want inventory on the books closer to replacement cost

Case Study: How Claire in Toronto Fixes Her Skincare Brand’s Inventory Costs1

Claire runs a skincare brand out of a small warehouse in Toronto’s Junction neighbourhood, selling through Shopify and a handful of retail partners across the GTA. Her core ingredient, a specialty botanical extract sourced overseas, has jumped in price three times over eighteen months because of shipping surcharges and currency swings.

Her bookkeeper uses weighted-average by default, so every new, pricier purchase order blends into her average cost and drags her reported margins down, even on units she bought months earlier at a lower price.

The Problem Claire’s margins look like they’re shrinking every quarter, even though her pricing and sales volume haven’t changed. She can’t tell if the business is actually getting less profitable or if her numbers are just reacting to ingredient cost swings.

What We Do We review her purchase history batch by batch and model her last four quarters under both FIFO and weighted-average, as part of the Shopify accounting services we run for Toronto ecommerce brands. Once we switch her to FIFO and rebuild her COGS around actual purchase batches, her margins stabilize and match what she’s seeing in her bank account.

The Result Claire now has a clear, accurate view of her true margin per product, and she can finally tell the difference between a pricing problem and a cost problem. She’s also better prepared for her next supplier price review, since her inventory value on the books now reflects current cost.

When Weighted-Average Fits Your Business

Weighted-average tends to fit better if:

  • You carry a large number of SKUs and tracking margin by product already feels like a lot to manage
  • Your product costs are fairly stable purchase to purchase
  • You want your margins to stay steady month to month, without price-swing noise
  • Your platform or 3PL already reports average cost by default, and rebuilding it for FIFO would mean extra manual work

Case Study: How Daniel in Mississauga Simplifies Costing Across Three Warehouses2

Daniel sells home organization products through Amazon and Shopify, fulfilling out of an Amazon FBA network plus a small overflow warehouse in Mississauga. With over 140 active SKUs and frequent restocks, he’s been trying to track FIFO batches manually in a spreadsheet, and it’s falling apart. Batches keep getting mixed up between his FBA inventory and his overflow stock, and his bookkeeping team spends hours each month just figuring out which batch each sale should be costed against.

The Problem Daniel’s FIFO tracking is too complex to manage accurately across multiple warehouses and 140+ SKUs, and the manual process is eating up time without producing reliable numbers.

What We Do We move Daniel to weighted-average cost and set up a system that recalculates his blended cost automatically with every purchase order, connected directly to his Amazon and Shopify sales data, using the same approach behind our bookkeeping for Amazon sellers in the GTA.

The Result Daniel’s monthly close now takes a fraction of the time it used to, his margins are steady and easy to explain to his business partner, and his team no longer needs to reconcile which warehouse a specific batch shipped from.

Neither list above is a rulebook. Plenty of profitable Shopify and Amazon sellers use weighted-average with volatile costs, and plenty use FIFO with a handful of SKUs. The point is understanding the trade-off, not chasing the “correct” answer.

How Do You Calculate COGS Under FIFO vs. Weighted-Average?

The clearest way to see the difference is to run the same numbers through both methods.

Calculating COGS Under FIFO

To calculate COGS under FIFO, you work through your purchase batches in the order you bought them, using up the oldest batch first until it’s exhausted, then moving to the next.

Say you have three purchase batches:

BatchUnitsCost/UnitTotal
1 (oldest)100$8$800
2150$10$1,500
3 (newest)100$12$1,200

If you sell 180 units, FIFO pulls all 100 units from Batch 1 ($800), then 80 units from Batch 2 (80 × $10 = $800). Your COGS is $1,600. Left over: 70 units from Batch 2, plus all of Batch 3.

Calculating COGS Under Weighted-Average

Under weighted-average, you’d first blend all three batches into one average cost per unit:

Total cost ($800 + $1,500 + $1,200 = $3,500) ÷ total units (100 + 150 + 100 = 350) = $10.00 per unit

Sell 180 units, and your COGS is simply 180 × $10.00 = $1,800. Most ecommerce accounting software recalculates this automatically the moment a new purchase order is logged, which is a big part of why sellers with high SKU counts lean on it.

Pro tip: Recalculate your average right after a purchase lands, not at month-end. Waiting means a chunk of sales gets costed at a number that’s already out of date.

Same purchase history, same sale, two different COGS numbers. That’s the whole reason this decision matters for your P&L.

How Do FIFO and Weighted-Average Handle Returns and Restocks?

Returns and restocks are where a costing method either holds up or starts to slip. Here’s how each one actually handles it.

FIFO With Returns and Restocks

A return or restock under FIFO comes down to where it lands in the batch order.

  • A returned unit typically goes back into inventory at the cost it was originally pulled from
  • A restock from a new purchase order becomes your newest batch, sitting behind whatever hasn’t sold through yet
  • Without careful tracking, returns and restocks can throw off which batch is actually “first,” especially in a spreadsheet instead of software built for it

Getting this right consistently is part of why solid reconciliation habits matter as much as the valuation method itself.

Weighted-Average With Returns and Restocks

Weighted-average handles the same events with a lot less bookkeeping.

  • A return goes back into the pool, a restock goes into the pool, and the average recalculates
  • There’s no batch order to maintain, which is why high-volume sellers with frequent restocks often prefer this method
  • The trade-off: a single large restock at a very different price can shift your average noticeably, affecting COGS on every sale afterward, not just the new units

A clean Shopify payment reconciliation process keeps that average from drifting off unnoticed.

How Do Multiple Warehouses Affect FIFO vs. Weighted-Average Costing?

Fulfilling from more than one location adds a layer most sellers don’t think about until it’s already causing headaches.

FIFO Across Multiple Locations

Multiple locations make FIFO more of a technical exercise than a simple lookup.

  • Fulfilling from more than one warehouse, whether that’s your own 3PL or an Amazon FBA network spreading inventory across fulfillment centers, technically requires tracking batch order separately at each location
  • In practice, most sellers apply FIFO at the company level rather than per-warehouse
  • True per-location FIFO gets complicated fast without dedicated inventory software

Weighted-Average Across Multiple Locations

Weighted-average avoids most of that complexity by design.

  • Easier to manage across locations since you’re working with one blended cost figure company-wide
  • No need to reconcile which specific batch sat in which warehouse
  • This is a big reason sellers running FBA, plus a Canadian 3PL, plus their own storefront, tend to default to this method, especially once tools like A2X are updating the numbers automatically

What Are the Most Common FIFO and Weighted-Average Mistakes?

Both methods are simple in theory, but they tend to break down in the same predictable spots.

Common FIFO Mistakes

Most FIFO problems come down to the same handful of habits.

  • Switching between FIFO and weighted-average mid-year without adjusting historical records, which breaks the comparison between periods
  • Manually tracking batches in a spreadsheet and losing track of partial batches after a big sale
  • Forgetting to include freight, duties, or landed costs in each batch’s cost per unit, which understates COGS
  • Assuming FIFO for accounting also has to mean FIFO for physical shipping (it doesn’t)

This is usually where DIY bookkeeping habits start costing more than they save.

Common Weighted-Average Mistakes

Weighted-average has fewer moving parts, but the mistakes here are just as easy to miss.

  • Not recalculating the average after every purchase, which means old, stale averages get applied to new sales
  • Missing landed costs (duties, freight, prep fees) when calculating the blended cost, which understates COGS and hides costs from margins you thought were healthy
  • Assuming weighted-average removes the need to reconcile inventory counts, when it still requires accurate unit tracking
  • Using a platform’s default average cost report without checking it matches actual purchase history

None of these mistakes are dramatic on their own, but stacked together they’re a classic sign of poor bookkeeping habits creeping into an otherwise healthy ecommerce business.

FIFO vs. Weighted-Average Cost: A Side-by-Side Example

Here’s the same scenario run through both methods, using the batches from earlier:

Line ItemFIFOWeighted-AvgTakeaway
Units sold180180Same sale either way
COGS$1,600$1,800FIFO shows lower COGS
Ending inventory$1,900$1,700FIFO closer to current cost
Margin impactHigher this periodSteadier over timeAccuracy vs. consistency

Same purchases, same sale, two different stories on your P&L. This is exactly why lenders, investors, and the CRA want to know which method you’re using and want to see it applied consistently.

Pro tip: Once a quarter, compare your books’ ending inventory value against an actual physical count. It’s the fastest way to catch a costing method that’s drifted off track.

Which Inventory Costing Method Should You Choose?

Here’s how the decision breaks down once you put your own situation next to it.

Your SituationBetter FitWhyWatch Out For
Costs change oftenFIFOReflects current costNeeds batch tracking
High SKU count, frequent restocksWeighted-AverageSimpler to maintainBig restocks shift the average
Prepping for a loan or investor roundFIFOCloser to replacement costNeeds clean batch records
Multiple warehouses or FBA splitWeighted-AverageOne blended cost, easier to manageStill needs accurate counts per location
Stable, predictable pricingEither worksMinimal swings either wayConsistency matters most

At the end of the day, the “right” method is the one that gives you numbers you can actually trust and act on, not the one that sounds more sophisticated. If this is starting to feel like more than a general bookkeeper should be weighing in on, that’s usually the moment specialized ecommerce accounting support makes the decision easier, and for Toronto-based sellers specifically, it’s exactly the kind of question our ecommerce bookkeeping team works through with clients regularly.

  1. Hypothetical Scenario ↩︎
  2. Hypothetical Scenario ↩︎

FIFO vs. Weighted-Average Cost FAQs

 Yes, but it needs to be documented and applied consistently going forward. The CRA’s guidance on inventory valuation is the source to check with your accountant before your next filing.

 

 Yes. Each method produces a different COGS figure, which changes your reported taxable income, so it’s worth testing both scenarios in the Corporate Income Tax Calculator before you file.

 

 LIFO exists and is permitted under IRS rules for US businesses, but it isn’t allowed under Canadian tax rules for most businesses. FIFO and weighted-average are the two realistic options here.

 

Weighted-average, since Shopify’s default inventory cost tracking already reports average cost. FIFO usually needs dedicated inventory software or manual tracking.

 

 Yes. FIFO shows inventory closer to current market cost, which some lenders view as a clearer asset picture. Consistency matters more than the pick itself.

 

 You don’t file a separate declaration, but your method needs to be applied consistently and be clear in your books. Verify the specifics with your accountant.

 

 Generally, yes, as long as it’s applied consistently within each product category. Verify with your accountant before mixing methods.

 

Once a year is usually enough, or sooner if your cost structure changes significantly. Folding this check into your month-end close keeps it from getting missed.

 

 No. GST/HST is based on sales and purchases, not your costing method. Your inventory method affects COGS and profit, not sales tax collected.

 

 Purchase invoices, unit costs, dates received, and a clear record of how COGS was calculated each period. The CRA outlines how long to hold onto them.

Ready to Choose the Right Inventory Costing Method for Your Store?

Switching inventory valuation methods isn’t something to do on a whim, and it’s not something you want to get wrong heading into tax season or a funding conversation. Before your next filing, it’s worth checking your own numbers against our ecommerce bookkeeping checklist to make sure your inventory records actually hold up.

If you’d rather map this out as part of the bigger picture, the Financial Growth Blueprint walks Canadian Shopify brands through exactly this kind of decision.

Author

Adam Jacobs

Adam Jacobs is a US and Canadian tax expert with five years of cross-border experience. He writes SAL Accounting blog posts to make taxes clear and practical for Ecommerce businesses, including platforms like Shopify, Amazon, and Etsy.

Free Tax Strategy Call

Our CPA finds tax issues in your finances and suggests strategies to help your business scale while saving time and money

In This Article

Shopify sellers:
20 moves from $5k to $1.5M a month