Days inventory outstanding (DIO) is how many days, on average, your stock sits before it's used or sold. The formula is average inventory divided by cost of goods sold, times the days in the period: DIO = average inventory ÷ COGS × 365. A business holding $18,500 of stock on average while using $210,000 a year has a DIO of about 32 days. It matters because every day of DIO is cash on the shelf instead of in the bank: in that example, each day is worth about $575, so cutting DIO by a week frees about $4,000. Below is the formula, two years of one business compared, how DIO fits the cash conversion cycle, and how to bring it down without running short.
The short version
- DIO = average inventory ÷ cost of goods sold × 365, both at cost.
- It's the same information as inventory turnover: DIO = 365 ÷ turnover.
- Each day of DIO is a day's cost of goods tied up in stock.
- Cash conversion cycle = DIO + days to get paid − days you take to pay.
- Lower DIO frees cash; too low means running out.
- Look at it per item: one slow item can hide in a healthy average.
- TaroStack shows every item's days of cover and what isn't moving. More below.
The formula
Average inventory = (opening inventory + closing inventory) ÷ 2
Days inventory outstanding (DIO) = average inventory ÷ cost of goods sold × 365
Also = 365 ÷ inventory turnover
Use cost for both inventory and cost of goods sold. If stock swings through the year, average the twelve month-end values instead of only the opening and closing ones.
One business, two years
Windward Roots, the made-up taro business I use in these examples, before and after it started using a co-packer for a grocery chain:
| Year 1 | Year 2 | |
|---|---|---|
| Cost of goods sold | $142,000 | $210,000 |
| Average inventory | $4,477 | $18,500 |
| DIO | 11.5 days | 32.2 days |
| Cost of goods per day | $389 | $575 |
Year 1 $4,477 ÷ $142,000 × 365 = 11.5 days
Year 2 $18,500 ÷ $210,000 × 365 = 32.2 days
Year 1 is a kitchen making fresh product weekly. In Year 2, co-packer runs of 5,000 bags arrive at once, the printed pouches are bought by the 10,000, and stock sits for a month on average. Sales grew, but cash on the shelf grew faster. Year 1's numbers are worked through as turnover in inventory turnover example.
The cash conversion cycle
DIO is one of three numbers that together say how long cash is tied up between paying for stock and getting paid for it:
Cash conversion cycle = DIO + days sales outstanding − days payables outstanding
| Year 1 | Year 2 | |
|---|---|---|
| DIO, days stock sits | 11.5 | 32.2 |
| + Days to get paid by customers | 18 | 24 |
| − Days taken to pay suppliers | 15 | 15 |
| Cash conversion cycle | 14.5 days | 41.2 days |
In Year 2, a dollar spent on stock comes back about 41 days later, against about 15 the year before. At $575 a day of cost of goods, the extra 27 days is roughly $15,400 of cash the business has to find from somewhere, which is why growth can feel like running out of money. Financing that gap is covered in how inventory financing works.
What a day of DIO is worth
Cost of goods per day $210,000 ÷ 365 = $575
Cut DIO from 32 to 25 7 days × $575 ≈ $4,000 of cash freed
That's cash from the shelf, without selling a single extra bag. The levers:
| Lever | What it does |
|---|---|
| Smaller, more frequent orders | Less on the shelf between deliveries, within supplier minimums |
| Reorder points from real use | Order when needed, not out of habit |
| Cut or make-to-order slow items | Stops stock sitting for months |
| Stock rotation and an eye on dates | Less written off, less bought to replace it |
| Negotiate supplier terms | Doesn't change DIO, but shortens the cycle |
The trade-off between minimums and cash is in minimum order quantity.
What a good DIO is
There's no single good number. A bakery's fresh ingredients might sit a few days; a soap maker's curing bars push DIO up by weeks; a business with printed packaging bought by the year carries months of it. The useful questions are whether DIO is rising faster than sales, and which items are driving it. Per item, the forward-looking version of DIO is days of cover: how many days the stock on hand will last at the rate you're using it.
Where this stops working
DIO from the year-end accounts is one number, a year late. To manage it, you need stock value at every month end and each item's use and days of cover, and on a spreadsheet those come from counts that happen too rarely. So the co-packer runs that nearly tripled DIO, and the pouches that will last until next spring, show up only when the bank balance does.
How TaroStack does it
TaroStack keeps the numbers DIO is built from, every day, and points at the items behind it.
Days of cover, per item. The reorder list shows each item in days of cover at the rate it's going out, so the pouches with 200 days of cover and the oil with 6 are both in front of you. Reorder points are suggested from how stock actually moves, and the suggested order counts what's already on order and rounds to the supplier's pack size and minimum, so you order what you'll use.
What isn't moving, and what will expire. Stock that isn't moving shows how long since it last went out, which is where the slow items hiding in the average surface. TaroStack forecasts what will expire before it's used and what it cost.
The value under the formula. Stock value is kept at what it really cost, per site, item and type, with a month-by-month history and a chart, so average inventory is there without a count. Every list exports to CSV for your accountant or your bank.
| The question | From the accounts | In TaroStack |
|---|---|---|
| How long does stock sit? | Once a year | Days of cover, per item, live |
| Which items drive it? | Unknown | Stock not moving, with days since it last went out |
| Average inventory | Year-end count | Stock value by month |
| What to order, and how much | Habit | Suggested reorder points and quantities |
Stock value, counts, lots, the reorder list and the expiry forecast are on every plan, from $49 a month. The first 30 days are free, with no credit card. If you'd like a hand setting up, ask, and we'll do it with you.
