Inventory value bucketed by days-on-hand. Aged stock is cash trapped on the floor.
At a glance
Inventory value bucketed by days-on-hand: 0-30, 31-60, 61-90, 91-180, 181-365, 365+. Aged stock is cash trapped on the floor: capital tied up, warehousing cost, write-down risk. The single-most-cited inventory health metric for SAP-running B2B distributors.
| What it counts | For each material with on-hand stock (MARC.LABST > 0), compute the age of the oldest unit using FIFO logic on the goods-receipt history (MSEG records). Sum valuation value into 6 age buckets. Reconciles to the standard SAP “Inventory Aging” report variant. |
| Tax treatment | n/a, balance-sheet stock. |
| Shipping | Inbound freight loaded onto valuation if procurement-conditions configured. |
| Discounts | Procurement discounts net into moving-average price. |
| Refunds | n/a. |
| Cancelled / voided orders | n/a. |
| Currency | Group Currency for consolidated views. |
| Plant / Storage location scope | Respects dashboard filter. Excludes consignment / blocked / restricted by default. |
| Buckets | 0-30D, 31-60D, 61-90D, 91-180D, 181-365D, 365+D. Bucket boundaries configurable per merchant (slow-fashion can use 0-90 / 90-180 / 180+). |
| Time window | RT |
| Alert trigger | >15% in 180+ bucket |
| Sentiment key | inv_aging |
| Roles | owner, finance, operations |
Calculation
Calculated automatically from your SAP 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 US enterprise B2B distributor on S/4HANA Cloud. Snapshot 03 May 26.| Bucket | Value (USD, Group Currency) | % of total |
|---|---|---|
| 0-30 days | $14,820,000 | 25.8% |
| 31-60 days | $12,420,000 | 21.6% |
| 61-90 days | $9,840,000 | 17.1% |
| 91-180 days | $11,420,000 | 19.9% |
| 181-365 days | $6,840,000 | 11.9% |
| 365+ days | $2,080,000 | 3.6% |
| Total | $57,420,000 | 100% |
- **15.5% in the 181+ buckets means 446K/year of pure waste. Add the markdown loss when these eventually clear (typically 30 to 50% off list), and the recoverable value is 6M.
- The 365+ bucket at $2.08M is the dead-stock candidate. Pair with Dead Stock Value to confirm zero-velocity. Most of these will become full write-downs at year-end audit.
- Compare to last quarter’s snapshot. A worsening aging curve (181+ growing month over month) is the primary leading indicator of overstocking. A flattening curve means clearance is working.
- Action playbook: drill into the top 50 SKUs in the 181+ bucket using Top SKUs by Inventory Value. Pareto applies: 20% of materials drive 70% of aged value. Markdown the top 50 first.
- Multi-Company-Code view. Aging is computed per material per plant; rolled up to Company Code. CC 1000 (US) at 16.8% and CC 3000 (MX) at 22.1% suggests the MX warehouse has worse rotation than US. Could be local demand softness or excess inbound shipments.
Sibling cards merchants should reference together
| Card | Why pair it with Inventory Aging |
|---|---|
| Total Inventory Value | The denominator. |
| Dead Stock Value | The 365+ bucket’s zero-velocity subset, the write-down candidate. |
| Inventory Carrying Cost | The cost of the aged stock continuing to sit. |
| Inventory Turnover Ratio | The velocity that aging measures the inverse of. |
| Top SKUs by Inventory Value | Drill into which materials dominate the aged buckets. |
| Dead Stock with Active Ad Spend | The cross-channel kill shot: aged stock you are still advertising. |
Reconciling against the vendor’s own dashboard
Where to look in S/4HANA Cloud:Inventory Aging Fiori app (Direct deep-link:F2961) Slow-Moving Stock Fiori app Stock on Hand by Period Fiori app Embedded Analytics: CDS viewI_MaterialStockMovementjoined to current stock
https://my{tenant}.s4hana.cloud.sap/sap/bc/ui2/flp#InventoryAging-display
Why our buckets may legitimately differ from the Inventory Aging Fiori app:
| Reason | Direction | Why |
|---|---|---|
| Bucket boundaries | Either | Default 0-30 / 31-60 / 61-90 / 91-180 / 181-365 / 365+. SAP’s Fiori app uses configurable boundaries; align via field map. |
| FIFO vs LIFO assumption | Small | Card uses FIFO ageing by default. Materials with LIFO valuation may show different ages in SAP reports. |
| Plant scope | Either | Card respects dashboard CC filter; Fiori app may default to user’s authorisation scope. |
| Stock type | Either | Card excludes blocked / restricted / consignment by default. |
| Card | Direction | Notes |
|---|---|---|
| Dead Stock with Active Ad Spend | Cross-platform | The 365+ aged bucket joined to ad-platform spend is the kill-shot finding. |