How to calculate stock days (inventory days) from your Xero figures
The stock days formula, which Xero figures to use, why the stock figure may be months out of date, and how much cash fewer stock days would free.
Updated 25 October 2026
ReportPilot reads your Xero and emails you what your numbers mean every Monday. Try it free (14 days, no card)
Short answer: stock days = stock on hand ÷ cost of goods sold in a year × 365. It is the average number of days an item sits on the shelf before it is sold. Take the stock figure from the inventory line of Xero’s Balance Sheet and the cost of goods sold from the last 12 months of the Profit and Loss, both at cost and without GST or VAT. Each stock day you take off frees one day of cost of goods sold in cash, once. Before you trust the answer, check one thing: if you do not track inventory in Xero, the stock figure on the Balance Sheet may only be updated once a year, at stocktake.
Menu names move between Xero releases and differ slightly by region. If a label below does not match your screen, search Xero Central for the report name.
The formula
| Part | Where to find it in Xero | Notes |
|---|---|---|
| Stock on hand | Reporting › Balance Sheet (Accounting › Reports in the older menu): the inventory (or stock on hand) line under Current Assets | At cost. Average the start and end of the year if stock swings with the seasons |
| Cost of goods sold | Profit and Loss for the last 12 complete months: the cost of sales lines for the goods you sell | Leave out wages and other costs that are not stock |
| Days | 365 | Use the days in the period if you use a shorter one |
Stock days = stock on hand ÷ annual cost of goods sold × 365
Unlike creditor days, there is no GST or VAT to take out: both figures in Xero are already without it. Three other details make most home-made figures wrong:
- The stock figure may be stale. If you track inventory items in Xero, buying a tracked item puts it on the Balance Sheet and selling it moves its cost to cost of sales, so the inventory line stays current. If you do not, purchases go straight to cost of sales and the inventory line only changes when your accountant posts a stocktake journal, often once a year. Mid-year, that line is last year’s count. Count the stock, value it at cost, and use that instead. Cost of goods sold shows the stock adjustment journal that keeps both figures right.
- Use cost, not selling price. Stock days compares stock at cost with goods sold at cost. Dividing by sales instead makes stock days look shorter by your whole markup.
- Take non-stock costs out of cost of sales. Many Xero files put workshop wages, freight or subcontractors in cost of sales. They are not stock, so including them makes stock days look shorter than they are. Xero gross profit margin explains what usually sits in that section.
Stock turnover is the same figure the other way up: 365 ÷ stock days. 73 stock days is a turnover of 5 times a year. The free stock turnover calculator works out both from your figures, including from sales and gross margin if you do not have a cost of goods sold line, and the cash a target turnover would free.
A worked example: a bike shop
A bike shop in New Zealand tracks its bikes, parts and accessories as inventory items in Xero. Its main supplier delivers within two weeks. From Xero:
| From Xero | Amount |
|---|---|
| Inventory on the Balance Sheet, today | $102,000 |
| Inventory on the Balance Sheet, a year ago | $78,000 |
| Cost of goods sold (bikes, parts, accessories), last 12 months | $438,000 |
| Workshop wages, also in cost of sales | $36,000 |
- One day of cost of goods sold: $438,000 ÷ 365 = $1,200.
- Stock days today: $102,000 ÷ $1,200 = 85 days.
- Stock days on the average for the year: ($78,000 + $102,000) ÷ 2 = $90,000, and $90,000 ÷ $1,200 = 75 days.
Stock grew by $24,000 in a year while sales were flat, so today’s 85 days is the figure to act on: that $24,000 came out of the bank without showing as a cost anywhere on the Profit and Loss. That is one of the usual reasons for profit in Xero but no cash in the bank.
If the owner had divided by total cost of sales including the workshop wages, $474,000, stock days would have come out at about 79, and the problem would have looked smaller than it is.
The owner decides 60 days is enough when the supplier delivers in two weeks. At 60 days the shop would hold 60 × $1,200 = $72,000 of stock, so getting there frees $30,000 of cash, once, by ordering less of what sells slowly and clearing old stock rather than by buying less of what sells. The Inventory Item Summary report shows the value held per item, which is where to look for the slow lines.
What a good stock days figure is
There is no universal good number; it depends on how fast you can restock and how seasonal you are. Read it like this:
| Your stock days | What it usually means |
|---|---|
| About your reorder cycle plus the time a supplier takes to deliver, plus a buffer | Healthy: enough to sell from while the next order arrives |
| Much higher than that | Cash sitting on the shelf: slow lines, over-ordering, or old stock that will not sell at full price |
| Much lower than that | Risk of running out and losing sales. Fine if suppliers deliver fast and reliably |
| Rising from one year to the next at the same time of year | Stock is growing faster than sales. Find out which lines before ordering more |
Compare with your own figure at the same time last year rather than with an industry average: a shop builds stock before its busy season, so stock days in October and in January are not comparable.
Then put it next to the other two cash days. Debtor days + stock days − creditor days is how many days your own cash funds each sale, from paying for stock to being paid for it. For the bike shop, customers pay by card (0 debtor days) and it pays suppliers in 30 days: 0 + 85 − 30 = 55 days. This is the cash conversion cycle, and the free cash conversion cycle calculator works out all three from five figures. The debtor days calculator works out the customer side, and how to improve cash flow in a small business ranks the three levers by the cash each frees.
Keeping it right in Xero
- Track the items that matter. Tracked inventory keeps the Balance Sheet figure current. Xero’s own inventory suits a modest number of items; businesses with many lines often use a stock system connected to Xero, which posts the stock value for you.
- If you do not track inventory, count it. A quarterly count valued at cost, posted by your accountant, makes stock days and your monthly profit far more reliable than a once-a-year figure.
- Write off what will not sell. Old or damaged stock left at full cost overstates both stock days and the Balance Sheet.
- Look at stock month by month. The Balance Sheet with monthly columns shows when stock jumped, and Profit and Loss by month shows whether sales jumped with it. How to read a balance sheet in Xero explains the other current assets.
Common questions
What is the formula for stock days? Stock on hand at cost divided by annual cost of goods sold, multiplied by 365. Use the average of the opening and closing stock if your stock level swings through the year.
Are stock days and inventory days the same thing? Yes. Stock days, inventory days, days inventory outstanding (DIO) and days sales of inventory all mean the same calculation: how many days of cost of goods sold you are holding.
Is a high stock days figure bad? Usually it means cash tied up on the shelf, and old stock tends to sell at a discount or not at all. But too few stock days loses sales when you run out, so the right figure is what covers the time between ordering and selling, not the lowest possible number.
Why does my Xero stock figure never change? Because the items are not tracked as inventory in Xero. Purchases then go straight to cost of sales and the stock line only moves when your accountant posts a stocktake. Count the stock and value it at cost to get a current figure.
Should I use sales or cost of sales in the stock days formula? Cost of sales. Stock is valued at cost, so dividing it by sales at selling price makes stock days look shorter than they are, by the size of your markup.
How do I convert stock days into stock turnover? Divide 365 by stock days. 73 stock days is a turnover of 5 times a year; 45 stock days is about 8 times.
Seeing the cash move every Monday
ReportPilot reads your Xero figures and sends a short plain-English email every Monday. It does not count your stock, but it says how much cash you hold against the end of last month and flags when gross margin moves by 3 points or more, the two places where stock bought ahead and stock sold off cheaply show up first. To see how long the cash lasts if stock keeps growing, try the free cash runway calculator. ReportPilot asks Xero for read-only access, and there is a 14-day free trial with no card.
No Xero needed
Get a sample Monday email for a business like yours
Pick your kind of business, rough sales and country. We email you the Monday email ReportPilot would write for a business like that: cash, sales and profit against last month, who owes money and one thing to do. Made-up figures, clearly labelled as a sample, from the same engine as the real one.
We email a link to confirm first; nothing else is sent until you press it. Then the sample, a few related emails over three weeks and a monthly cash check. One click to unsubscribe.