Items with on-hand value > 0 and zero sales in 180 days. Direct write-down candidate.
At a glance
Total dollar value of Items with on-hand inventory > 0 AND zero sales (Item Ledger Entry.Entry Type = 'Sale') in the trailing 180 days. Direct write-down candidate.
| What it counts | SUM(Item.Inventory × Item.Unit Cost) filtered to Items where Inventory > 0 AND MAX(Item Ledger Entry.Posting Date WHERE Entry Type = 'Sale') < TODAY - 180. Items never sold but still on-hand are also counted (no Sales entries at all). |
| Velocity threshold | 180 days zero sales is the default. Configurable to 90D (fast-moving categories) or 365D (slow-fashion, durables) per workspace. |
| Stock excluded | Quarantined, In-Transit (configurable), Reserved (still committed). |
| Currency | Multi-Company: each Company’s dead stock value translated to Reporting Currency. |
| Manufactured items | Components in WIP not counted (they are not finished goods). Finished Items with zero sales but Production Order outputs in progress flagged separately. |
| New launches | Items with Item.Created Date > TODAY - 180 are excluded by default (not enough history to call dead). Configurable. |
| Time window | RT (real-time snapshot) |
| Alert trigger | >$25k dead (any Company crossing $25K total triggers sentiment) |
| Sentiment key | dead_stock |
| Roles | owner, finance, operations |
Calculation
Calculated automatically from your Microsoft Dynamics 365 data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.Worked example
A UK omnichannel apparel brand on Business Central. Snapshot 14 Apr 26.| Metric | Value |
|---|---|
| Total Inventory Value | £2,622,000 |
| Items with on-hand > 0 (SKU count) | 4,820 |
| Items with zero sales > 180D AND on-hand > 0 (dead) | 218 |
| Dead Stock Value (this card) | £284,400 |
| Dead Stock as % of total inventory | 10.8% |
- £284K of dead stock is 10.8% of total inventory. Apparel benchmark is 5 to 8% in healthy operations; 10%+ signals merchandising or buying issues. The Vortex IQ trendline shows this rose from 6.2% to 10.8% over 12 months, suggesting a 2025 over-buy.
- 218 SKUs is the actionable list. The Top 10 dead-stock SKUs concentrate £142K (50%). The Vortex IQ drill-down ranks them by value descending so the merchandising team works the largest first.
- The cross-channel kill-shot: of the 218 SKUs, 14 still have active Google Ads or Meta Ads spend. £4,840/month going to advertise products that have not sold in 6 months. See Dead Stock with Active Ad Spend.
- Alert (>$25K) fires. The Controller flags this in the monthly close meeting.
- Action playbook: (1) pause ads on the 14 paid-traffic offenders, (2) move the 218 SKUs to a clearance section at 30 to 50% off, (3) for the 365D+ slice (£80K), book an Inventory Provision via Inventory Reclassification Journal at fiscal year-end.
Sibling cards merchants should reference together
| Card | Why pair it with Dead Stock Value |
|---|---|
| Inventory Aging | Different lens: receipt-date vs sales-velocity. Heavy overlap. |
| Total Inventory Value | The denominator. Dead Stock as % of total is the key ratio. |
| Dead Stock with Active Ad Spend | Cross-connector kill-shot: the SKUs you should pause ads on TODAY. |
| Top SKUs by Inventory Value | Identifies which dead SKUs concentrate the value. |
| Dead Stock Threshold Breach | The alert fired when this card crosses threshold. |
| Margin by SKU | Dead stock often has compressed margins from past markdowns. |
| Inventory Carrying Cost | The annual cost of carrying this dead value. |
Reconciling against the vendor’s own dashboard
Where to look in Business Central:Reports > Inventory > Inventory Aging by Item (filter to zero-velocity items) Item Statistics page > Last Sale Date column Power BI > Inventory Performance > Slow Moving Items tile (if installed)BC does not have a single “Dead Stock” report. Most merchants build a saved view: filter the Item List to
Inventory > 0 AND Last Date Modified (proxy for last sale) older than threshold.
Why our number may legitimately differ from BC’s reports:
| Reason | Direction | Why |
|---|---|---|
| Velocity threshold | Either | Default 180D; configurable. BC reports often use 90D or 365D. |
| New launch exclusion | Card lower | Card excludes Items created < 180D ago. BC reports do not. |
| Sales vs Sales Returns | Either | Card uses Sales Entry Type only; some reports include both directions. |
| Multi-Company aggregation | Card materially higher |
| Card | Direction | Notes |
|---|---|---|
| Dead Stock with Active Ad Spend | Subset cross-channel | The intersection with active paid-ad spend. |
| shopify.product_no_sales_90d | Different lens | Shopify-side velocity check. Should overlap heavily for SKUs synced to Shopify. |
Known limitations / merchant FAQs
Why 180 days as the threshold? Industry default for apparel and consumer goods. Fast-fashion uses 90D. Slow-fashion / durables use 365D. Configure per workspace in the field map. Are Items in Quarantine counted? No. Quarantined inventory is held for QC review, not stuck due to lack of demand. Excluded. What about Items with negative inventory? Excluded. Negative on-hand indicates a posting error, not dead stock. Does the card include WIP? No, only finished goods. Components in WIP are tracked separately. My BC tenant uses Production Orders. Do they affect this? Production Orders create Item Ledger Entry rows of typeOutput. The card uses Sale only for the velocity check. So a manufactured Item that had Output but no Sale in 180D is still flagged as dead.
How does this interact with Inventory Aging?
Aging asks “when did this stock arrive?”. Dead Stock asks “when did this SKU last sell?”. An Item that arrived 60 days ago but never sold is in 0-90D aging but is dead-stock. An Item that arrived 240 days ago but sells slowly (last sale 60 days ago) is in 181-365D aging but NOT dead-stock. The two metrics complement each other.
Multi-Company: what about intercompany transfers?
A transfer between Companies posts as a Sale on the From-Company and a Purchase on the To-Company. The card sees the From-side as a real Sale, so the From Company’s Item is not flagged dead. The To Company’s Item just received stock; if it sits there 180D without further sale, it becomes dead.
Is this for write-down accounting?
Yes, this card is what auditors will ask for. Combine with the 365D+ slice from Inventory Aging to support FRS 102 / IFRS / ASC 330 inventory provisions.
Power BI parity?
Power BI’s Inventory Performance “Slow Moving Items” tile uses a sales-velocity check similar to this card. The threshold defaults differ; align them via field map.