Last reviewed 13 August 2026
Work out how many days your stock sits before it sells. Days on hand (DOH), days inventory outstanding (DIO) and days sales in inventory (DSI) are the same measure, and this calculates all of them from the same two figures.
Inventory days on hand is the average number of days your stock sits in the business before it is sold. Divide average inventory by cost of goods sold, then multiply by the days in the period.
Days on Hand = (Average Inventory / COGS) x Days in Period
Example: average inventory $250,000 against annual COGS of $1,500,000 gives 61 days on hand.
Use whichever inputs you already have. Both routes produce the same days on hand.
Enter a value of zero or more.
Average inventory must be above zero.
Enter a turnover ratio above zero.
Enter COGS above zero.
Enter between 1 and 366 days.
Key takeaways
Your days on hand
61 days
61 days against a Paidnice customer data benchmark of 45 days for other or mixed, with stock turning over 6.0 times per period.
Paidnice works the other leg of the cycle, chasing what your customers owe you.
No card required.
Days on hand turns your stock balance into a length of time: how many days of trading you are currently holding in the warehouse.
The measure has three names. Supply chain teams say days on hand (DOH), accountants say days inventory outstanding (DIO), analysts say days sales in inventory (DSI).
All three divide average inventory by cost of goods sold and multiply by the days in the period. They produce the same answer, so a benchmark published under any of the names compares with your figure.
It matters because stock is cash you have already spent and cannot spend again. A business holding 90 days of stock has three months of trading sitting on pallets, paid for before any revenue arrives.
That cash is unavailable for wages, tax or growth until the goods sell and the invoice is paid, which is why the number belongs to finance as much as to operations.
The quick version. Work out what a day of stock costs you, then count how many days you are holding. If you sell $4,000 of goods at cost each day and $250,000 sits in the warehouse, that is about 61 days.
DOH = (Average Inventory / COGS) x Days in Period
Three inputs, and two of them are routinely filled in with the wrong figure.
The same number comes out of the turnover ratio, where inventory turnover is COGS divided by average inventory:
Days on Hand = Days in Period / Inventory Turnover
Worked through: average inventory $250,000 and annual COGS $1,500,000 give 250,000 / 1,500,000 = 0.1667, and 0.1667 x 365 = 61 days. Turnover is 1,500,000 / 250,000 = 6.0, and 365 / 6.0 returns the same 61 days. If the two routes disagree, one of your inputs came from a different period.
Opening stock plus closing stock, divided by two. Using the closing balance alone makes the number jump whenever a large delivery lands near period end, which is exactly when most deliveries are scheduled to land.
Inventory sits on the balance sheet at cost, so the denominator has to be at cost too. Dividing by revenue understates your days on hand by roughly your gross margin percentage. On a 40 percent margin, that is a 40 percent error in the flattering direction.
365 for a year, 90 to 92 for a quarter, 28 to 31 for a month. The COGS figure and the day count must describe the same window. Annual COGS with a 30 day multiplier is the single most common arithmetic error in this calculation.
Inventory turnover is COGS divided by average inventory, and days on hand is the days in the period divided by turnover. They are one measurement in two units, so if the two disagree, one of your inputs came from a different period.
A wholesaler opens the year with $240,000 of stock at cost and closes with $260,000. Cost of goods sold for the year is $1,500,000.
Daily COGS is 1,500,000 / 365 = $4,110, so every day of stock costs about $4,110 in tied up cash.
Inventory turnover is 1,500,000 / 250,000 = 6.0 times a year, and 365 / 6.0 returns the same 61 days. That is the check that your inputs agree.
Cutting days on hand from 61 to 45 would release about 16 x $4,110, or roughly $65,700 of working capital, permanently, as long as the lower stock level holds and service does not suffer.
There is no universal target. Read your figure against your own trend first, then against businesses selling similar goods with similar lead times.
Tight
Under 30 days
Lean stock, and normal for grocery and food retail. Check your stockout and backorder rate before celebrating.
Healthy
30 to 45 days
Comfortable, and below the published figure for most industries in the table.
Watch
45 to 60 days
Around the whole market figure of 50 days. Worth splitting by product line before it drifts higher.
Heavy
Over 60 days
Normal in distribution, machinery, furniture and apparel, a warning in fast moving retail.
Direction beats level. Stock at 70 days falling steadily is a business getting its buying under control. Stock at 40 days climbing every month is a business that has stopped selling something it keeps ordering.
Two sets of figures sit below, and they are kept apart because they describe different businesses. The first is our own customer data, from small businesses running Xero and QuickBooks. The second is published data on listed companies. Every row says which set it belongs to. Find your row, then treat it as orientation rather than a target.
| Sector | Typical DOH | Range | Why |
|---|---|---|---|
| Food and beverage | 22 days | 15 to 30 days | Shelf life sets the ceiling |
| Electronics | 45 days | 30 to 60 days | Obsolescence punishes slow stock |
| Other or mixed | 45 days | 30 to 60 days | Broad middle across sectors |
| Wholesale distribution | 55 days | 40 to 70 days | Bulk buying against fast reorder |
| Manufacturing | 60 days | 45 to 75 days | Raw materials, work in progress and finished goods |
| Automotive | 70 days | 55 to 85 days | High unit values, long parts tail |
| Retail (general) | 75 days | 60 to 90 days | Range breadth beats stock speed |
| Apparel | 85 days | 70 to 100 days | Seasonal ranges and size curves |
| Furniture | 100 days | 80 to 120 days | Slow selling, high value units |
Source: Paidnice customer data, August 2026.
| Industry | DOH | Why |
|---|---|---|
| Retail (grocery and food) | 27 days | Shelf life sets the ceiling |
| Retail (general) | 47 days | Range breadth against fast replenishment |
| Whole market, ex financials | 50 days | The broad middle, and the row to use if yours is not listed |
| Auto parts | 54 days | High unit values, long parts tail |
| Retail (distributors) | 88 days | Bulk buying against fast reorder |
| Electronics (general) | 90 days | Long build cycles, and obsolescence punishes slow stock |
| Furniture and home furnishings | 96 days | Slow selling, high value units |
| Machinery | 97 days | Raw materials, work in progress and finished goods |
| Apparel | 163 days | Seasonal ranges and size curves |
Your bar moves as you type. The highlighted row is the sector selected in the calculator.
Paidnice customer data, small businesses
NYU Stern, listed companies
Source, listed company table. Each figure is derived from two datasets published by Aswath Damodaran, NYU Stern School of Business, both as of January 2026: Working Capital Requirements by Industry Sector, which gives inventory as a percent of revenue, and Margins by Sector, which gives cost of goods sold as a percent of revenue. Dividing the first by the second and multiplying by 365 gives inventory over cost of goods sold in days, which is the same calculation this page runs on your own figures. Industry names and sample sizes are his.
Read those as large company figures. The sample is listed companies. Product mix, lead time and seasonality move days on hand far more than industry does, so your own twelve month trend is the more useful comparison. Reviewed 15 August 2026.
Only the Paidnice table carries a range. The NYU dataset publishes one aggregate figure per industry rather than quartiles, so a range for those rows would have been invented.
The two sets disagree, and that is the useful part. General retail holds 47 days of stock on the listed company data and 60 to 90 days in ours. A listed retailer replenishes on a supply chain built for it. A small retailer buys in larger relative batches and carries the range. Neither figure is wrong. If you run a small business on Xero or QuickBooks, the Paidnice row is the closer comparison.
Lower is not automatically better. Days on hand falls when stock runs out as readily as when buying improves. Read it next to your stockout rate, your backorder count and your on time delivery, or you will optimize your way into lost sales and call it a working capital win.
Four routes reach the same measure. Use average inventory unless the figures you have force one of the others.
| Method | Formula | Best for | Weakness |
|---|---|---|---|
| Average inventory | (Average Inventory / COGS) x Days | The default. Period reporting and board packs | Averaging two points hides a spike inside the period |
| Closing inventory | (Ending Inventory / COGS) x Days | A fast read when you only have the latest balance sheet | A large late delivery distorts the whole result |
| From turnover | Days / Inventory Turnover | When turnover is already published or in your ERP | Inherits whatever period the turnover figure was built on |
| Revenue based DSI | (Average Inventory / Revenue) x Days | Matching a published analyst series that uses revenue | Reports fewer days than you hold, by roughly your margin |
Whichever you pick, keep it fixed. A trend built from mixed methods is not a trend, and switching method is the easiest way to report an improvement that never happened.
Days on hand climbs for six common reasons. Almost all of them are buying and forecasting decisions rather than warehouse problems.
Paidnice does not move stock, but it does free the receivables leg of the same working capital cycle by chasing overdue invoices automatically.
See automated remindersOrder more often, clear what will not sell, and forecast better on the lines that matter. Seven moves, in the order they usually pay.
That last point is where the quick wins are. Days on hand sits inside the cash conversion cycle, which adds inventory days to days sales outstanding and subtracts days payable outstanding.
Renegotiating supplier lead times takes months. Getting paid faster on invoices you have already raised takes days, and it releases cash from the same cycle.
Paidnice does not manage stock. It works the receivables leg: automated reminders chase overdue invoices on a schedule, and AR reporting keeps the overdue picture next to the stock picture.
Put beginning inventory in B2, ending inventory in C2, COGS in D2 and the day count in E2.
=AVERAGE(B2:C2)=(AVERAGE(B2:C2)/D2)*E2=D2/AVERAGE(B2:C2)=E2/F2=((AVERAGE(B2:C2)/D2)*E2-G2)*(D2/E2)=IF(D2<=0,"",(AVERAGE(B2:C2)/D2)*E2)Build one row per month with the month end stock balance and that month's COGS, then chart the column. Twelve readings show seasonality that a single annual figure flattens out completely.
Days on hand measures one leg of working capital. Each metric below picks up the same cash at a different point in the cycle.
| Metric | Question it answers | Unit |
|---|---|---|
| Inventory days on hand | How long stock sits before it sells | Days |
| DSO | How long we wait to get paid after invoicing | Days |
| DPO | How long we take to pay suppliers | Days |
| Cash conversion cycle | Inventory days plus DSO minus DPO | Days |
| AR turnover | How many times receivables convert per year | Ratio |
| Collection efficiency | How much of what was collectable we collected | Percent |
Inventory days and DSO both measure cash you have committed and not yet recovered. Stock is cash you chose to commit. Receivables are cash your customer is holding after the goods have gone.
On the same 61 days, the receivables side is usually the cheaper problem to fix.
Nearly every wrong days on hand figure comes from the two inputs, not from the stock count.
Sources are cited for the benchmark figures only. Everything else on this page is computed from the figures you enter. Reviewed 15 August 2026.
Divide average inventory by cost of goods sold for the period, then multiply by the number of days in that period. Average inventory is opening stock plus closing stock, divided by two. For example, average inventory of 250,000 against annual COGS of 1,500,000 gives 0.1667, and 0.1667 times 365 is 61 days on hand.
DOH = (Average Inventory / COGS) x Days in Period. The same figure can be reached from the turnover ratio: DOH = Days in Period / Inventory Turnover, where inventory turnover is COGS divided by average inventory. Both routes give the same answer, so use whichever inputs you already have to hand.
Days on hand is the average number of days a unit of stock sits in your business before it is sold. It converts a balance sheet number into a length of time, which makes it comparable across periods and across product lines. Lower usually means tighter working capital, as long as you are not running into stockouts.
Yes. Days on hand, days inventory outstanding and days sales in inventory are three names for the same calculation. Supply chain teams tend to say days on hand, accountants say days inventory outstanding, and financial analysts say days sales in inventory. All three divide average inventory by COGS and multiply by the days in the period.
Days sales in inventory measures how long current stock would last at the current rate of sale. Calculate it as average inventory divided by cost of goods sold, times the days in the period. Some analysts substitute sales revenue for COGS, which produces a shorter number because revenue includes your margin. Use COGS unless you are copying a published series that uses revenue.
Divide the days in the period by the turnover ratio. With an annual turnover of 6, days on hand is 365 divided by 6, or 60.8 days. The relationship works in both directions, so turnover equals days in the period divided by days on hand. Turnover expresses the same efficiency as a frequency, days on hand expresses it as time.
It depends far more on what you sell than on how well you manage it, and on how big you are. In Paidnice customer data, reviewed August 2026, food and beverage runs 15 to 30 days, a mixed inventory business 30 to 60 and furniture 80 to 120. On published figures for US listed companies, grocery and food retail runs about 27 days, general retail about 47, machinery about 97 and apparel about 163, against a whole market figure of about 50. Judge your number against your own trend and against businesses selling similar goods. A figure falling steadily without stockouts is a better sign than any absolute target.
Put beginning inventory in B2, ending inventory in C2, COGS in D2 and days in the period in E2. Enter =(AVERAGE(B2:C2)/D2)*E2 for days on hand. For inventory turnover use =D2/AVERAGE(B2:C2). To go from turnover to days, use =E2/F2 where F2 holds the turnover ratio. Copy the row down for a monthly trend.
They are the same measurement in different units. Inventory turnover counts how many times stock is sold and replaced in a period, so higher is better. Days on hand counts how long stock sits, so lower is better. Days on hand equals the days in the period divided by turnover, which means an annual turnover of 6 is 61 days on hand.
Use cost of goods sold. Inventory is carried at cost, so dividing by COGS compares like with like. Dividing by sales revenue mixes cost with margin and reports fewer days than you actually hold. If you must use revenue because that is all you have, label it clearly and never compare that figure against a COGS based benchmark.
Days on hand is a value based metric. Inventory on hand quantity is a physical count: beginning quantity plus receipts minus units sold equals ending quantity, confirmed by a stock count or a perpetual inventory system. To convert between them, inventory value equals quantity multiplied by unit cost, so quantity equals value divided by unit cost.
Paidnice takes the pain out of getting paid for thousands of businesses using Xero and QuickBooks.
INV-434
Acme Inc Ltd