> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vortexiq.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Slow-Moving Inventory (>90d no movement), SAP

> Slow-Moving Inventory (>90d no movement): inventory value with no goods movement in over 90 days. Aged stock is cash trapped on the floor.

**Metrics type:** [Key Metrics](/nerve-centre/overview#metrics-types-explained)  •  **Category:** [Ecommerce Platform](/nerve-centre/connectors#connectors-by-type)

> 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%**   |

181+ buckets together = 15.5% of total. Just over the 15% alert threshold. Card fires.

Five things to notice:

1. \*\*15.5% in the 181+ buckets means $8.92M of cash is trapped in stock unlikely to sell at full price.** At a 5% annual carrying cost (storage + insurance + capital), that is $446K/year of pure waste. Add the markdown loss when these eventually clear (typically 30 to 50% off list), and the recoverable value is $4 to $6M.
2. **The 365+ bucket at \$2.08M is the dead-stock candidate.** Pair with [Dead Stock Value](/nerve-centre/kpi-cards/sap/dead-stock-value) to confirm zero-velocity. Most of these will become full write-downs at year-end audit.
3. **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.
4. **Action playbook:** drill into the top 50 SKUs in the 181+ bucket using [Top SKUs by Inventory Value](/nerve-centre/kpi-cards/sap/sap-top-skus-value). Pareto applies: 20% of materials drive 70% of aged value. Markdown the top 50 first.
5. **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](/nerve-centre/kpi-cards/sap/sap-total-inventory-value)                 | The denominator.                                                    |
| [Dead Stock Value](/nerve-centre/kpi-cards/sap/dead-stock-value)                               | The 365+ bucket's zero-velocity subset, the write-down candidate.   |
| [Inventory Carrying Cost](/nerve-centre/kpi-cards/sap/sap-inventory-carrying-cost)             | The cost of the aged stock continuing to sit.                       |
| [Inventory Turnover Ratio](/nerve-centre/kpi-cards/sap/inventory-turnover-ratio)               | The velocity that aging measures the inverse of.                    |
| [Top SKUs by Inventory Value](/nerve-centre/kpi-cards/sap/sap-top-skus-value)                  | Drill into which materials dominate the aged buckets.               |
| [Dead Stock with Active Ad Spend](/nerve-centre/kpi-cards/sap/dead-stock-with-active-ad-spend) | The cross-platform 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 (`F2961`)
> **Slow-Moving Stock** Fiori app
> **Stock on Hand by Period** Fiori app
> **Embedded Analytics**: CDS view `I_MaterialStockMovement` joined to current stock

Direct deep-link: `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.                                                               |

**Cross-connector reconciliation:**

| Card                                                                                           | Direction      | Notes                                                                      |
| ---------------------------------------------------------------------------------------------- | -------------- | -------------------------------------------------------------------------- |
| [Dead Stock with Active Ad Spend](/nerve-centre/kpi-cards/sap/dead-stock-with-active-ad-spend) | Cross-platform | The 365+ aged bucket joined to ad-platform spend is the kill-shot finding. |

## Known limitations / merchant FAQs

**Healthy distribution mix?**
B2B distributors typically run 50 to 65% in 0-90 buckets, 25 to 35% in 91-180, 10 to 15% in 181+. Higher 181+ percentages signal overstocking.

**Seasonal businesses, the aging looks worse mid-cycle?**
Yes by design. Winter coats stocked in August will age into the 91-180 bucket by mid-October before selling out in November. Configure a seasonality calendar so the alert does not fire on expected seasonal builds.

**FIFO vs LIFO?**
SAP supports both via Material Ledger. The card defaults to FIFO ageing for the dashboard view (which makes operational sense: which physical units are oldest); the GL valuation may differ if the Material Ledger uses LIFO for tax purposes.

**Configurable bucket boundaries?**
Yes via field map. Industry defaults: distribution 0-30 / 31-60 / 61-90 / 91-180 / 181-365 / 365+. Slow-fashion: 0-90 / 91-180 / 181-365 / 365+. Spare parts (long lifecycle): 0-180 / 181-365 / 365-730 / 730+.

**Per plant or rolled up?**
Both. Default rolled up; drill-down per plant is one click.

**Materials with planned high-stock buffers (e.g. spare parts), should they show in the alert?**
Configure them as exempt via material master custom field or material group. The alert can exclude designated buffer-stock materials.

**Inventory Carrying Cost calculation, what rate?**
Default 25% per annum (storage 8% + insurance 2% + capital 12% + obsolescence 3%). Adjustable per merchant in field map.

**T-codes for drilling in?**
MMBE (stock overview), MB52 (stock list with filters), CKM3N (material price analysis), MBEW (valuation table direct).

***

### Tracked live in Vortex IQ Nerve Centre

*Inventory Aging* is one of hundreds of KPI pulses Vortex IQ tracks across SAP and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English.

[Start for free](https://app.vortexiq.ai/login) or [book a demo](https://www.vortexiq.ai/contact-us) to see this metric running on your own data.
