INVENTORY

Inventory Aging & Inactive Stock CSV Analyzer

Analyze stock-lot receipt age, inactivity, and inventory value from a CSV using an explicit as-of date and inactive-stock threshold.

Inventory aging & inactivity calculator

Analyze stock-lot receipt age, inactivity, and inventory value from a CSV using an explicit as-of date and inactive-stock threshold.

How it works
record_id, sku, receipt_date, last_movement, quantity, unit_cost1,000 rows maximum

Adjust the example values to match your scenario.

YOUR RESULT LIVE CALCULATION
Stock with no movement for 90+ days
$1,450inactive value
AS OF 2026-10-17
0-30 days$800
31-60 days$0
61-90 days$0
91-180 days$1,000
181+ days$450
Total entered stock value
$2,250
Inactive lots / all lots
2 / 3
Value-weighted receipt age
111.5 days
Lots using receipt as movement baseline
1
0-30 days
$800 (1 lots)
31-60 days
$0 (0 lots)
61-90 days
$0 (0 lots)
91-180 days
$1,000 (1 lots)
181+ days
$450 (1 lots)

Age buckets use receipt dates; inactive flags use movement dates. Zero-quantity rows are not flagged. Review indicators are not write-off decisions.

Inventory lots: oldest receipt first

3 rows
RecordSKUReceipt dateLast movementQuantityUnit costValueReceipt age daysInactive daysReview
LOT-003PART-C2026-01-01Receipt baseline3015450289289Review
LOT-002PART-B2026-07-012026-07-1550201,00010894Review
LOT-001PART-A2026-10-012026-10-101008800167Not flagged
BEHIND THE NUMBER

How the calculation works

Each row represents one stock lot or record, with a unique record_id. Multiple lots may use the same SKU. Receipt-age buckets are 0-30, 31-60, 61-90, 91-180, and 181+ calendar days. Inactivity is calculated separately: a recently moved old lot remains old stock but is not necessarily inactive. A blank last_movement uses the receipt date as the baseline.

Receipt age = as-of date - receipt date; inactive days = as-of date - last movement (receipt date if blank); value = quantity x unit cost

When this calculation helps

Age and inactivity answer different questions. Receipt age describes how long a lot has been held; a last-movement date describes a different kind of activity history.

Check the interpretation

An old lot may be required safety stock, and a recently moved lot may still be obsolete. Keep ownership, quality status, expiry, and expected demand with the review. Aging flags are not automatic provisions, write-offs, or disposal authorizations.

Use YYYY-MM-DD dates, a consistent quantity and cost basis, and actual lot-level receipts. An inactive flag is not proof of obsolete, expired, or unsalable stock. Future dates and movement before receipt are rejected. Missing movement history can overstate inactivity.

Good to know

Does aging equal dead stock?

No. Receipt age and lack of movement are indicators for review, not an obsolescence or write-off decision.

Can the same SKU appear more than once?

Yes. Give each lot a unique record_id so different receipt dates are not blended into one misleading age.