Days sales of inventory (DSI) is the average number of days a Shopify store holds inventory before selling it. The formula is (Average Inventory ÷ COGS) × 365. The number itself is simple. The problem is that on a typical Shopify P&L — with cash-basis COGS, 3PL lag, pre-orders, and goods in transit — the inputs are usually wrong. This guide shows how DSI actually behaves inside the books we close for 100+ DTC brands.

What Is Days Sales of Inventory?

Days sales of inventory is a working-capital metric that converts your inventory balance into a time unit. It answers one question: at the current rate of sales, how many days of stock do we have on hand? A DSI of 90 means you're sitting on about three months of inventory. A DSI of 30 means you'd run out in a month if nothing more arrived.

The textbook formula:

DSI = (Average Inventory ÷ Cost of Goods Sold) × 365

Average inventory is usually (beginning inventory + ending inventory) ÷ 2 for the period. COGS is the cost of the units you actually sold during that period — not what you paid suppliers, not what's on a credit card statement. That distinction is where most Shopify brands go sideways.

Takeaway: Before calculating DSI, confirm two things on the books — inventory is on accrual basis and COGS reflects units sold, not cash paid. If either is off, the ratio is decorative.

How Do You Calculate DSI for a Shopify Brand?

For a Shopify store, calculating DSI cleanly means pulling average inventory from the balance sheet and COGS from the income statement for the same period, then dividing and multiplying by the days in that window. Sounds easy. The work is making sure both numbers are right before you touch the calculator.

A worked example

Consider a Shopify apparel brand closing books for Q1 2026. Here's the raw data from the trial balance after the bookkeeper finalizes the inventory roll-forward.

Q1 2026 DSI calculation — apparel brand
Beginning inventory (Jan 1)$420,000
Ending inventory (Mar 31)$510,000
Average inventory$465,000
Q1 COGS$385,000
Days in period90
DSI = ($465,000 ÷ $385,000) × 90108.7 days

A 109-day DSI is in range for apparel. For a supplement brand with the same numbers, that would be a red flag — they should be turning stock in 45 to 60 days.

Annualized vs period-specific DSI

Some brands annualize: take quarterly COGS, multiply by four, and use 365 days. That smooths seasonality but hides it. For a Shopify brand with a Q4 spike, annualized DSI calculated off Q1 numbers will read way higher than reality. Period-specific DSI is more honest for operational decisions. Annualized DSI is fine for year-end reporting.

Takeaway: Pick one method per analysis and label it clearly. Mixing annualized and period DSI across reports leads to fake trend lines that scare investors for no reason.

Why Does Cash-Basis COGS Break Your DSI?

When COGS is booked on a cash basis, the expense hits when you pay the supplier — not when the unit sells. That timing gap distorts both ends of the DSI formula. The denominator (COGS) reflects supplier payments, not sales. The numerator (inventory) is rarely adjusted at all, since cash-basis brands often skip the inventory roll-forward. The result is a number with no relationship to actual stock velocity.

How the distortion shows up

Picture a brand that places a $200,000 PO with a supplier in March. They pay 50% upfront ($100,000) and the rest on delivery in May. On cash-basis books:

  • March COGS spikes by $100,000 even though zero units sold from that order
  • May COGS spikes again by another $100,000 when the balance clears
  • Inventory on the balance sheet never moves because nobody adjusted it
  • DSI calculated in April looks artificially low because COGS is inflated and inventory is understated

We've seen this pattern across dozens of Shopify brands using QuickBooks or Xero without an accrual-based inventory workflow. The DSI swings 40 to 80 days month over month with no operational change. That's not a metric — that's noise.

The accrual fix

On accrual, supplier payments hit an inventory asset account, not COGS. COGS only moves when a unit ships. The journal entry pattern for a Shopify sale fulfilled from inventory looks like this:

Sale of one unit, landed cost $18, sold for $54
DRCash / Shopify Payments Clearing$54.00
CRRevenue$54.00
DRCost of Goods Sold$18.00
CRInventory$18.00
Records revenue and matches COGS at the unit level. Inventory drops as the unit ships.

When this discipline is in place, DSI behaves. When it isn't, no formula will save you. For a deeper walkthrough, our guide on how to record inventory accounting journal entries breaks down the full monthly close pattern.

Takeaway: If books are on cash basis, DSI is not a reliable metric. Move inventory to accrual first, then calculate.

How Does Inventory in Transit Distort DSI?

Inventory in transit is stock that's been paid for and shipped from the supplier but hasn't arrived at the 3PL or warehouse yet. Under most international shipping terms, title passes when the goods leave the supplier's dock. That means the inventory is yours — and belongs in the DSI denominator — even though you can't sell it yet.

The 3PL lag problem

A Shopify brand sourcing from Vietnam might have 45 days of ocean transit, 7 days of port clearance, and 5 days of 3PL intake before a unit is listed as available in ShipBob or Shopify's inventory system. That's almost two months where stock exists, has been paid for, but isn't visible on the operational dashboard.

If the bookkeeper only counts inventory the 3PL confirms, the balance sheet understates real inventory. DSI reads low. The brand thinks they're efficient. Then a big shipment lands, inventory jumps overnight, and DSI doubles in a single month.

The right way to track transit

The industry standard is a separate inventory sub-account on the balance sheet:

AccountWhat it holdsWhen it moves
Inventory — Supplier DepositsPrepayments before goods shipCleared to in-transit when shipped
Inventory — In TransitGoods on the water or in customsCleared to on-hand when 3PL receives
Inventory — On Hand (3PL)Stock sellable through ShopifyReduced when units ship to customer
Inventory — On Hand (HQ/Pop-up)Stock at owned locationsReduced when sold or transferred

This structure lets you calculate DSI two ways: total DSI (all inventory) and sellable DSI (on-hand only). Both are useful. Total DSI tells you cash conversion. Sellable DSI tells you operational velocity. Our landed cost playbook goes deeper on how freight, duties, and 3PL intake fees roll into each of these buckets.

Takeaway: Split inventory into transit and on-hand buckets. Report both DSI variants. The gap between them tells you how much cash is locked in your supply chain.

What Is a Good DSI by Shopify Category?

There's no universal good DSI. The benchmark depends on category economics — perishability, seasonality, lead time, and reorder cadence. Across the 100+ Shopify brands we close books for, the patterns below hold consistently. These ranges assume accrual accounting with transit inventory properly captured.

Shopify categoryHealthy DSI rangeWhy this rangeCommon DSI killer
Consumables (supplements, food, beauty refills)30–60 daysSubscription cadence via Recharge keeps demand predictableOverstocking new SKU launches
Apparel & accessories90–150 daysSeasonal collections, size/color matrix, long lead timesLeftover SS inventory carrying into FW
High-AOV durables (furniture, electronics)60–120 daysLower turn, higher margin per unitPre-orders booked as revenue with no inventory
Print-on-demand / dropship hybrid5–20 daysMost stock isn't ownedCounting supplier inventory as yours
Pet & home consumables45–75 daysReplenishment-driven, predictableBulk freight orders that arrive in clusters

Seasonality changes the rules

An apparel brand running 200 days DSI in February might be perfectly healthy if their fall collection lands in July. Same brand at 200 days DSI in November is a problem. DSI without a calendar context misleads. We tag every monthly DSI report with a seasonality note for clients in fashion, swim, and outdoor.

Takeaway: Compare DSI to your own trailing 12-month average and your category benchmark, not to a generic 60-day target. Set the range, then watch for drift.

How Do Pre-Orders and Shrinkage Throw Off DSI?

Pre-orders and shrinkage are two of the most common silent killers of DSI accuracy. Pre-orders inflate revenue without consuming inventory. Shrinkage reduces actual stock without anyone adjusting the books. Both create a gap between what the ratio says and what's really happening on the warehouse floor.

Pre-order distortion

A Shopify brand running a pre-order campaign through a deposit app collects cash today for product arriving in 60 days. If the brand books that cash as revenue (rather than deferred revenue), COGS lags behind it by two months. DSI calculated during the pre-order window shows artificially fast turnover — because the COGS denominator is loaded with sales that haven't shipped.

The correct treatment is to defer the revenue until fulfillment. Our guide on unearned revenue vs deferred revenue covers the journal entry pattern. Once revenue defers properly, DSI normalizes.

Shrinkage distortion

Shrinkage — units lost to theft, damage, miscount, or 3PL error — reduces real inventory but stays on the books until a write-down. A brand that hasn't reconciled to a physical count in 12 months may carry $40,000 of phantom inventory. That inflates the DSI numerator and makes the ratio look worse than reality.

Most Shopify brands we work with run a shrinkage adjustment quarterly. The entry looks like this:

Quarterly shrinkage write-down — 3PL count vs book
DRCost of Goods Sold — Shrinkage$7,200
CRInventory — On Hand (3PL)$7,200
Reconciles book inventory to ShipBob cycle count for Q1 2026.

Our inventory shrinkage playbook breaks down how to set up the reserve account and the cadence we use across DTC brands.

Takeaway: Reconcile to a physical or cycle count at least quarterly. Defer pre-order revenue until shipment. Both cleanups make DSI honest.

How Does DSI Compare to Inventory Turnover?

DSI and inventory turnover are two views of the same thing. Inventory turnover counts cycles per year. DSI converts that into days. The mathematical relationship is exact: DSI = 365 ÷ Inventory Turnover. Most operators find DSI easier to think about because it compares directly to supplier lead times and reorder windows.

MetricFormulaWhat it answersBest use
Inventory TurnoverCOGS ÷ Average InventoryHow many times stock cycled this yearYear-over-year efficiency comparisons
DSI(Avg Inventory ÷ COGS) × 365How many days of stock we have on handOperational planning, reorder timing
Sell-Through RateUnits Sold ÷ Units ReceivedWhat % of a shipment movedSKU-level launch analysis

For a deeper look at the turnover side, see our inventory turnover playbook. The two metrics are best used together — turnover for the boardroom, DSI for the warehouse and the cash forecast.

Takeaway: Use DSI for operations and cash planning. Use turnover for year-over-year benchmarking. Don't argue about which is better — they're literally the same number expressed differently.

How Should Shopify Brands Use DSI in Cash Flow Planning?

DSI is one leg of the cash conversion cycle. Pair it with days payable outstanding (how long you take to pay suppliers) and days sales outstanding (how long until you collect from customers — usually near zero for Shopify) and you get cash conversion days. That number tells you how long a dollar spent on inventory takes to come back as cash.

A simplified cash conversion calculation

Cash conversion cycle — Shopify consumables brand, 2026
Days Sales of Inventory48 days
Days Sales Outstanding (Shopify Payments, 2-day payout)2 days
Days Payable Outstanding (Net 30 with key supplier)30 days
Cash Conversion Cycle = 48 + 2 − 3020 days

A 20-day cash conversion cycle means every dollar of inventory spend ties up cash for about three weeks before it returns. Brands financing growth with working capital need to understand this number cold. It drives how much line of credit, inventory financing through partners like Wayflyer, or runway is needed to scale orders.

Tools that help

For accrual-based COGS and clean inventory data, the stack most Shopify brands we work with use looks like this:

  • QuickBooks or Xero as the general ledger
  • Bookkeep for daily Shopify payout summarization and sales tax accruals — it's the tool we use across the 100+ stores Ottit closes books for
  • Cin7 or DOSS as the inventory and ERP layer for SKU-level COGS
  • ShipBob, Flexport, or another 3PL feeding cycle counts back to the GL
  • Mercury or Brex for banking and cash visibility

Takeaway: DSI alone doesn't tell you if cash is tight. Combine it with DPO and DSO to see the full conversion cycle, then size financing around that number.

How Often Should a Shopify Brand Recalculate DSI?

The industry standard is monthly during the close, with quarterly SKU-level reviews. Weekly DSI from real-time inventory data is useful for operations teams but too noisy for finance. The cadence matters less than the consistency — pick one method, run it the same way every period, and chart the trend.

  1. Monthly: Calculate company-wide DSI using month-end inventory and trailing 30-day COGS. Tag it in your KPI dashboard alongside gross margin.
  2. Quarterly: Break DSI down by SKU category or collection. Identify dead stock candidates (SKUs with 200+ day DSI) for markdown or liquidation.
  3. Annually: Review category benchmarks. Adjust target ranges if the brand has shifted mix (e.g., added subscription, dropped a slow category).
  4. On-demand: Recalculate before any major financing event. Lenders and acquirers will run their own DSI and compare it to your reported number.

Takeaway: Build DSI into the monthly close checklist. Don't calculate it ad hoc — that's how trend lines get faked.

Key Takeaways

  • DSI = (Average Inventory ÷ COGS) × 365 — the formula is the easy part
  • Cash-basis books make DSI meaningless; move to accrual first
  • Inventory in transit belongs in the denominator when title has passed
  • Healthy DSI varies 5x by category — benchmark against your own category, not a generic target
  • Pre-orders and shrinkage are the two most common silent distorters
  • Pair DSI with DPO and DSO to see your true cash conversion cycle

Sources & References

This guide is educational. It explains how days sales of inventory works inside a Shopify P&L and how the industry handles common distortions. It is not individualized accounting or tax advice. Talk to your CPA or bookkeeper about how these patterns apply to your specific situation.