Inventory Turns: The Formula, the Benchmarks, and Why Your D365 Number Keeps Moving

Inventory turns measure how many times a business sells through and replaces its average stock over a period. The formula is cost of goods sold divided by average inventory at cost, so a company with $12 million in COGS carrying $2 million of average stock turns its inventory six times a year.

That part is settled. The part that causes arguments in month-end meetings is which COGS figure and which average inventory to use, because in Dynamics 365 Finance and Operations both numbers move after the period looks finished. Issue transactions post at a running average cost until inventory close settles them, and historical inventory value has to be reconstructed backwards from today instead of read from a stored balance. Two teams can pull inventory turns for the same month, on the same day, from the same system, and land a full turn apart.

This guide covers the formula, what good looks like against published industry data from January 2026, and the four specific places a D365 F&O turns number drifts.

What is an inventory turn, in plain terms?

An inventory turn is one full cycle of selling through the stock you normally hold. Hold about three months of stock on average and you turn roughly four times a year. Turns are a velocity measure, so they describe how fast capital moves through inventory rather than how much inventory sits on the floor.

Days inventory outstanding is the same measurement expressed in time, calculated as 365 divided by turns. Six turns is 61 days of stock. Twelve turns is 30 days. Finance teams tend to quote turns and planners tend to quote days of cover, and both are reading the same ratio from opposite ends.

How do I calculate inventory turns?

Inventory turns equal cost of goods sold for a period divided by average inventory at cost across the same period. Two rules decide whether the answer is usable. Both halves of the fraction have to be stated at cost, and both have to cover the identical window.

Inventory turns formula

Inventory turns = Cost of goods sold ÷ Average inventory at cost

Worked example

Cost of goods sold, 12 months: $12,000,000

Opening inventory at cost: $1,800,000

Closing inventory at cost: $2,200,000

Average inventory: (1,800,000 + 2,200,000) ÷ 2 = $2,000,000

Inventory turns: 12,000,000 ÷ 2,000,000 = 6.0 turns

Days inventory outstanding: 365 ÷ 6.0 = 61 days

Putting sales revenue on top while inventory sits at cost underneath inflates the result by the entire gross margin. That single mismatch explains a large share of the benchmark comparisons that look flattering and mean nothing.

Which average inventory should I use?

The two-point average of opening plus closing divided by two works for a stable business with flat demand. Seasonal or volatile inventory needs a rolling average built from monthly or weekly balances, because a two-point average taken across a peak conceals everything that happened between the endpoints. A distributor that finishes December at a trough after a heavy Q4 sell-through will report turns that look excellent and describe a year nobody actually lived through.

Twelve monthly balances is the practical standard. Getting those twelve balances out of D365 F&O is where the work actually is, which the section on historical inventory value covers below.

What is a good inventory turns ratio?

Good depends almost entirely on the industry, and the honest reference points come from published sector data rather than round numbers passed around in blog posts. The table below uses NYU Stern’s working capital ratios by sector, data as of January 2026, which reports inventory as a percentage of sales for US firms. The implied turns column is sales divided by inventory.

Sector (US)FirmsInventory / SalesImplied sales-based turns
Retail (Grocery and Food)155.49%18.2
Food Wholesalers136.62%15.1
Auto Parts3512.47%8.0
Electronics (Consumer & Office)813.63%7.3
Chemical (Basic)2915.65%6.4
Machinery10516.62%6.0
Retail (Distributors)6216.67%6.0
Apparel3519.25%5.2
Source: NYU Stern, Working Capital Ratios by Sector (US), data as of January 2026. Implied turns calculated as 1 divided by inventory-to-sales.

Read that last column carefully. It is sales-based, so a COGS-based turns figure calculated the correct way will land lower, scaled by roughly one minus gross margin. A machinery manufacturer running 35% gross margin and sitting exactly on the sector figure would report about 3.9 COGS-based turns against the 6.0 sales-based number. Benchmarking a properly calculated internal ratio against a sales-based external one manufactures a performance gap that does not exist.

The more useful comparison is against your own trailing twelve months at SKU family level, where mix effects stay constant and a real change in velocity actually shows up.

Is a high inventory turnover ratio always good?

No. Turns rise whenever inventory falls, and inventory falls for good reasons and for bad ones. A team that trims safety stock to hit a turns target will post a better ratio in exactly the quarter that fill rate slips, expedited freight climbs, and a few customers quietly move volume elsewhere. The ratio improved and the business got worse.

Turns only mean something read alongside service level, expedite spend, and lost sales. A genuine improvement moves all four in the right direction at once. In my experience, the fastest way to spot a cosmetic gain is to check whether the turns increase came from selling more or from buying less, because those two look identical in the ratio and nothing alike in the business. The wider set of measures worth pairing with it is covered in 12 inventory metrics executives track beyond stock levels.

Why does my inventory turns number change after month-end close?

Because the COGS on top of the fraction is provisional until inventory close runs. Microsoft’s documentation is direct about it. Transactions that decrease quantity post at the running average cost price regardless of the inventory model assigned to the item, and until inventory close or recalculation has been run, issue transactions carry that calculated running average. Inventory close then settles issues to receipts according to the valuation method in the item model group and posts the adjustment to the general ledger.

For FIFO, LIFO, and weighted average items, that adjustment is material in any month where purchase prices moved. Pull inventory turns on day three of the close and you are reading running-average COGS. Pull the same month a week later and you are reading settled COGS. Both came out of the ERP, and only one of them is final.

Microsoft also states that inventory close is a required step in the month-end closing procedure for every inventory model except moving average, which puts a hard dependency between the close calendar and any turns figure that leaves the building. A board pack published before close carries a cost basis that the ledger has not agreed to yet.

There is a second trap inside the close itself. During inventory close the system checks each financial dimension for more issues than receipts up to the closing date, which happens routinely when goods have been received and the vendor invoice has not arrived. In that situation the close cannot adjust all issues to the correct cost price, because there is not enough receipt information available. The warning goes into the inventory close log, and reporting teams almost never read it. Teams working to shorten that cycle will find the related mechanics in this guide to financial close automation in D365 F&O.

My on-hand quantity looks right but the value is wrong. What happened?

Quantity and value move at different moments in D365 F&O, and the turns calculation touches both. A purchase order receipt is a physical update that sets the transaction status to Received. The vendor invoice is the financial update that sets it to Purchased. On the issue side, a sales order packing slip is physical and sets Deducted, and the sales order invoice is financial and sets Sold.

So a warehouse can be holding stock that was received but not yet invoiced, carrying quantity with no financially updated value behind it. The inventory value report splits along exactly that line, with separate columns for financial quantity, physical quantity posted, and physical quantity not posted. Microsoft’s own guidance says to exclude the physical amount not posted when reconciling to the general ledger, because that amount was never posted there.

A turns calculation that reads quantity from the on-hand list and value from a different report, without matching the physical and financial basis, will never tie back to the ledger. The same mismatch is what makes inventory valuation and on-hand reporting in D365 F&O harder than it looks from the outside.

Why can’t I just pull last year’s average inventory out of D365?

Because F&O does not keep a month-end inventory balance sitting there to be read. The on-hand table holds the current position and is rebuilt from the inventory transactions table, so historical value gets reconstructed on demand rather than retrieved.

Microsoft is unusually blunt about what that costs. When an inventory value report is generated, the system works backwards from today and processes each inventory transaction record in reverse order as it goes. Look too far back and the volume of transactions to process can grow large enough that the system times out before the report finishes. The documentation goes further and warns teams to export stored reports before deleting them, because regenerating an old one later may simply not be possible.

That is why the twelve monthly balances a rolling-average turns calculation needs are so painful to produce on request. Version 10.0.44 added a large-volume option that splits historical inventory value generation into bundles, with 30,000 items per bundle as Microsoft’s suggested starting point. It relieves the timeout and leaves the underlying design intact.

The practical answer is to stop asking the ERP to rebuild history every time somebody wants a ratio. Snapshot inventory value by item, site, and warehouse on a schedule into an analytics layer, and average inventory stops being a batch job and becomes a stored series you can slice by product family, warehouse, or legal entity in seconds. That is the shape of a working inventory and warehouse analytics setup on top of D365.

Should raw material, WIP, and finished goods turns be tracked separately?

Yes, for anyone manufacturing. A blended plant-level turns number mixes three unrelated problems into one figure. Raw material turns respond to supplier lead time and minimum order quantities. WIP turns respond to schedule adherence and constraint capacity. Finished goods turns respond to forecast accuracy and channel behaviour. A single company number lets a serious raw material problem hide behind healthy finished goods movement for two or three quarters.

Splitting matters for costing too, because WIP sits in its own accounts. Inventory value reports carry a dedicated WIP column showing physical quantities and amounts for production orders that have been picked or reported as finished without being ended. Roll that into a single inventory figure and the turns denominator quietly absorbs work that has not become sellable stock yet. The reporting patterns behind the operational side are covered in warehouse management use cases in D365 F&O.

How do I actually increase inventory turns?

Every durable improvement comes from one of five levers, and each one needs data the ERP already holds.

  1. Cut the tail deliberately. Rank SKUs by contribution against months of cover. The slow tail usually holds a disproportionate share of value while contributing a small share of COGS, which drags the denominator with nothing on top.
  2. Size safety stock from variability rather than habit. A flat weeks-of-cover rule applied across a catalogue overstocks steady items and understocks erratic ones at the same time. Service level, lead time variability, and demand variability belong in the calculation.
  3. Shorten replenishment cycles before cutting quantities. Ordering more often at smaller quantities lifts turns without touching service level, provided supplier terms and inbound freight economics hold up.
  4. Fix planning master data. Stale lead times, wrong order multiples, and abandoned min and max settings inflate cover silently across thousands of items. This is the least glamorous lever and reliably the largest.
  5. Improve forecast accuracy at the level replenishment runs. A forecast that is accurate at national level and wrong at warehouse level still produces the wrong stock in the wrong building. The approach is covered in inventory demand planning using real operational data.

Measuring the effect of any of them requires a turns series that is calculated the same way every month, on settled cost, against a stored average inventory. Without that, an improvement programme spends its first two quarters arguing about whose number is right.

Inventory turns FAQs

Are inventory turns and the inventory turnover ratio the same thing?

Yes. Inventory turns, inventory turn, inventory turnover, and stock turnover ratio all describe the same calculation of COGS divided by average inventory. Retail and supply chain teams tend to say turns, finance and accounting teams tend to say turnover ratio.

Can an inventory turns ratio be a decimal?

Yes, and it usually is. A ratio of 4.7 means the average stock position sold through four and a bit times in the period. Ratios below 1.0 are normal for slow-moving spares, capital equipment, and aged inventory, and they indicate more than a year of cover.

Should inventory turns be calculated monthly or annually?

Calculate monthly and annualise for comparison, using a rolling twelve-month COGS over a rolling twelve-month average inventory. A single month annualised on its own swings wildly with seasonality and with the timing of large receipts.

What is a reasonable target for a distributor?

US retail distributors carried inventory equal to 16.67% of sales in the January 2026 NYU Stern data, which implies about 6.0 sales-based turns. A COGS-based figure at a 25% gross margin lands near 4.5. Treat that as an orientation point and set the actual target from your own trailing performance and service level commitments.

Getting a turns number the whole business trusts

The formula was never the hard part. The hard part is a COGS figure that stops moving after close, an average inventory built from stored monthly balances instead of a report that walks backwards through every transaction, and one definition that finance and supply chain both sign off on. Metrixs builds that layer on top of D365 F&O so inventory turns, days of cover, and aging come from one governed model rather than three spreadsheets. If your turns number changes depending on who pulled it, that is the problem worth fixing first.

Interested in learning more? Contact our sales team now.

Whether you need more details, a personalized demo, or expert advice, our sales team is here to assist you every step of the way.