Skip to content

Inventory

Inventory reporting: stock turns and aging

How to calculate stock turns, build an inventory aging report, and use exception rules to find cash trapped in slow moving stock.

Talha Ansari··6 min read

Key takeaways

  • Stock turns use cost of goods sold and average inventory at cost, not retail value.
  • A single company-wide turns figure hides the categories where cash is trapped.
  • Age stock from its last movement date and bucket it by value, not unit count.
  • Exception rules turn the two reports into a short list of actions each month.
On this page

Two questions, two reports

Inventory reporting answers two questions that are often confused. Stock turns measure how many times the stock balance was sold and replaced during a period. Aging measures how long the stock currently on hand has been sitting there. A business can post healthy turns overall while holding a large block of stock that has not moved for a year, which is why the two reports belong on the same page.

Stock turns measure flow and aging is a snapshot. Use turns to judge whether the buying plan matches demand, and use aging to decide what to do with stock already owned. Neither report is a valuation exercise, but both must reconcile to the inventory ledger before anyone acts on them.

Calculate stock turns correctly

Stock turns = cost of goods sold / average inventory at cost. Average inventory is normally (opening + closing) / 2, though a monthly average is better when the balance swings through the year. Inventory days = average inventory / cost of goods sold x 365, which is the same measure expressed in time rather than frequency.

A distributor with cost of goods sold of 1,200,000 and average inventory at cost of 200,000 has 6 turns and about 61 inventory days. Valuing the same stock at retail, say 300,000, would produce 4 turns and understate performance. The error is common when the stock system reports retail value and the accounts report cost, and it makes comparison between categories unreliable.

  • Using revenue instead of cost of goods sold, which inflates turns in high-margin businesses.
  • Using closing inventory only, which ignores a stock build during the period.
  • Annualising a quarter without adjusting for seasonality.
  • Mixing retail and cost values across categories in one calculation.

Read turns by category and by item

A company-wide turns figure is an average, and averages hide the problem. Split turns by category, supplier, or warehouse and compare each group with its own demand pattern. Consumables should turn far more often than spare parts held for a long service obligation, and a single target across both is meaningless.

Item-level turns are noisy because one large order can distort a month. Use a rolling twelve-month cost of goods sold at item level, then review only the items outside their category range. That keeps the list short and the analysis stable.

Build the aging report

Age each stock line from its last movement date, not its original purchase date. A line replenished last week is not old stock because the first receipt was two years ago. Where the system only keeps receipt dates, use first-in-first-out layers and say so in the report notes.

Bucket value into 0 to 30, 31 to 60, 61 to 90, 91 to 180, and over 180 days, and show units, cost value, and share of total value for each bucket. A large unit count in the oldest bucket matters less than a small count with high value.

Aging buckets and the decision each one invites
BucketUsual meaningAction
0 to 30 daysNewly received or fast movingMonitor unless cover is excessive
31 to 60 daysNormal holding for many categoriesCheck against the reorder point
61 to 90 daysSlower than planPause replenishment and review demand
91 to 180 daysSlow movingDiscount, bundle, or return to supplier
Over 180 daysLikely obsolete or excessWrite down, scrap, or record a hold decision

Set exception rules

A report listing every stock line gets ignored. Write rules that produce a short list each month, and attach an owner and a decision date to every item on it.

The decision is usually one of four: sell at a discount, return to the supplier, write down, or hold with a stated reason and a review date. Recording the reason matters as much as the decision, because it stops the same item returning to the list every month.

  • No movement for 90 days with a cost value above the review threshold.
  • Stock cover above 12 months at the current run rate.
  • Turns below the category floor for two consecutive quarters.
  • Negative stock, or a balance with no receipt in the period, which usually signals a data error.
  • Perishable stock where more than a quarter of the batch expires within 60 days.

Put both reports on one page

A useful monthly page shows total inventory value, turns, days, the aging profile, and the exception list. Add a short bridge explaining the change in value since last month: purchases, cost of sales, write-offs, and revaluations. If the bridge does not close, the stock ledger and the report are using different data.

Review the page with the people who buy stock, not only with finance. Turns and aging are buying decisions before they are accounting ones.

Frequently asked questions

Should stock turns use revenue or cost of goods sold?+

Cost of goods sold. Revenue includes margin, so using it makes turns look better in high-margin businesses and prevents comparison between product lines. Keep the stock value at cost too.

How should stock that is replenished continuously be aged?+

Age it from the last movement date and disclose the rule. If the system supports layers, age each receipt separately so new stock does not disguise old stock in the same bin.

What is a good stock turn figure?+

There is no universal number. Compare with your own history, the supplier lead time, and the shelf life of the category. A turn target that ignores lead time encourages stockouts.

How often should the aging report be reviewed?+

Monthly for the full profile, with the exception list worked weekly. Aging changes slowly, but a blocked item can sit for months if nobody owns it.

Need help applying this?

Get help with Dashboards & BI.

Review the service scope or tell us what you are trying to improve. We will reply with a clear next step.

Free KPI definition template

Related reading