What Is an Inventory Aging Report?
An inventory aging report is the obsolescence early-warning system for any product-based business. It answers the question that standard inventory on-hand reports cannot: not just how much do we have, but how long has it been sitting there?
Every day inventory stays in the warehouse, it carries a cost. There is the working capital cost — cash tied up in product that is not generating revenue. There is the physical carrying cost — warehouse space, handling, insurance, and storage costs. There is the risk cost — the increasing probability that an item aging in inventory will eventually need to be marked down, returned to supplier, donated, or written off. And in industries with expiry dates — food, pharma, chemicals, cosmetics — there is the compliance and disposal cost of items that reach their expiry date before sale.
The inventory aging report makes all of these risks visible and quantifiable. By calculating the exact number of days each unit or lot has been in stock — and sorting items into aging buckets — it surfaces the specific items, locations, and product categories that represent the highest obsolescence risk. This visibility is what enables proactive management: running a targeted promotion to sell down a slow-moving category, negotiating a supplier return on items that have not moved in six months, transferring slow-movers to a location with higher demand, or deciding to take the write-down now rather than carrying the item for another two quarters at full cost.
Without a systematic inventory aging report, obsolescence is discovered reactively — at year-end when auditors request aging analysis, when a physical count reveals shelves full of products that cannot be identified, or when the balance sheet write-down in Q4 surprises the executive team. The companies that manage inventory aging proactively avoid these surprises and carry leaner, more profitable inventory positions.
Why Organizations Use Inventory Aging Reports
- Obsolescence Prevention and Proactive Disposition The most valuable use of an inventory aging report is taking action while there is still time to recover value. An item that has been in stock for 45 days may still be saleable at full price with a promotional push. The same item at 120 days may require a 20% markdown. At 180 days, it may be returnable to the supplier at a restocking charge. At 270 days, it may be a complete write-off. Each of these stages requires a different response — and the inventory aging report provides the visibility that determines which response is appropriate before the window closes.
- GAAP Obsolescence Reserve Calculation GAAP requires that inventory be carried at the lower of cost or net realizable value (LCM rule, ASC 330). When slow-moving or obsolete inventory is identified, a reserve or write-down may be required to reduce the carrying value to reflect realizable value. The inventory aging report — stratified by aging bucket — is the primary input to the obsolescence reserve calculation. Finance teams apply reserve rates by aging bucket (e.g., 10% reserve for 90–180 days, 50% reserve for 180–270 days, 100% write-off for 270+ days with no movement) to produce the required allowance for inventory obsolescence.
- Physical Count Prioritization Inventory that has been in stock the longest is the highest priority for cycle counting — both because it is most likely to have been damaged or misplaced during extended storage, and because count accuracy for aged inventory is most critical for obsolescence reserve calculations. Inventory aging reports feed cycle count priority lists, directing the counting team to the highest-risk aging buckets first.
- Purchasing and Replenishment Control Inventory aging analysis is a critical input to purchasing decisions. When a buyer is considering a new purchase order for an item that already has 90 days of stock on hand, the aging report surfaces this risk — preventing additional purchasing that would extend the time that excess inventory carries on the books. Integrating aging data into purchasing workflows — flagging items with DOH above a defined threshold before approving new POs — directly reduces inventory buildup.
- Supplier Negotiation and Return Programs Many supplier agreements include provisions for stock rotation or return-to-vendor (RTV) programs — allowing distributors to return slowmoving inventory to the supplier for credit within a defined window. The inventory aging report identifies the items eligible for RTV before the return window closes, generating return candidates that can be presented to suppliers during contract renewal or performance reviews.
- Warehouse Space Management Slow-moving and dead stock inventory consumes warehouse space that could be used for faster-turning items. Inventory aging reports that show locationlevel aging data — which aisles and bays contain the oldest inventory — give warehouse managers the data they need to make strategic slotting decisions: consolidating aged inventory into designated slow-mover zones, freeing prime pick locations for high-velocity items, or identifying excess space that could be reduced or sublet.
- Expiry Date Management (Perishable and Regulated Inventory) For food, pharmaceutical, chemical, and cosmetics distributors and manufacturers, inventory aging takes on an additional urgency: items approaching their expiry or best-before date must be identified and managed before they expire in the warehouse. Near-expiry inventory alerts — generated automatically from the aging report when an item’s expiry date is within a defined number of days — allow operations teams to prioritize the sale, transfer, or disposal of expiring inventory before it becomes a compliance problem or a waste cost.
Common KPIs and Data Elements
Item / Lot Level Aging Data
- Item Number / SKU
- Item Description
- Product Category
- Warehouse / Location
- Lot Number / Batch Number
- Receipt Date
- Days in Inventory (calculated)
- Last Movement Date
- Days Since Last Movement
- Aging Bucket Assignment
- On-Hand Quantity (this lot / this location)
- Unit Cost
- Extended Value (quantity × unit cost)
- Expiry Date (if applicable)
- Days Until Expiry (if applicable)
- Near-Expiry Flag (expiry within X days) Supplier / Vendor
Customer / Category Aging Summary
Total Inventory Value in Each Aging Bucket ($ and %)
Number of SKUs in Each Aging Bucket
% of Total Inventory Value in 90+ Days Bucket
% of Total Inventory Value in 180+ Days Bucket
Top 10 Highest-Value Aged Items (90+ days)
Top 10 No-Movement Items (zero sales in 180+ days)
Product Categories with Highest Aging Concentration
Reserve and Write-Down Metrics
- Obsolescence Reserve — Current Period
- Obsolescence Reserve — Prior Period
- Reserve Movement (current minus prior)
- Reserve as % of Total Inventory Value
- Items Requiring Full Write-Off (270+ days, no prospect of sale)
- Estimated Disposition Proceeds (if markdown or RTV is planned) Net Inventory Value After Reserve
Expiry Management Metrics (Perishable/Regulated)
- Total Inventory Expiring Within 30 Days
- Total Inventory Expiring Within 60 Days
- Total Inventory Expiring Within 90 Days
- Value of Inventory at Risk of Expiry Waste
- FEFO Compliance Rate (% of shipments in FEFO sequence)
- Expiry Waste Cost (prior period actual)
Common Filters and Parameters
- As-Of Date — current aging or historical point-in-time for any prior date
- Aging Basis — receipt date, production date, or last movement date
- Aging Bucket Configuration — standard buckets or custom definitions
- Warehouse / Location — single location or multi-location consolidated
- Product Category / Line — filter by category hierarchy
- Supplier / Vendor — all items from a specific supplier
- Minimum Value Threshold — suppress items with extended value below $X Bucket Filter — show only 90+ day items, only 180+ day items, or all buckets
- Expiry Date Range — items expiring within X days
- Movement Status — no-movement items only, slow-movers only, or all
- Reserve Rate Set — apply standard rate table or custom rates
- ABC Class — focus on high-value (A class) aged items first
- Lot Detail vs. Item Summary — lot-level aging or item-level roll-up
Common Reporting Challenges
Aging Basis Inconsistency
Inventory aging can be measured from the receipt date, the production date, or the date of last movement — and each basis tells a different story. An item received 120 days ago but sold 15 days ago is not meaningfully "aged" — its last movement was recent. Using last-movement-date aging rather than receipt-date aging for items with regular but slow sales activity produces a more accurate picture of true obsolescence risk. Organizations must define and consistently apply their aging basis — and the report must clearly disclose which basis is being used.
Lot-Level vs. Item-Level Aging
Lot-Level vs. Item-Level Aging For businesses that receive the same item in multiple lots at different times, item-level aging — using the first or oldest receipt date — misrepresents the actual aging position. If 500 units were received 180 days ago and 500 units were received 30 days ago, an item-level report showing 1,000 units at the average age of 105 days obscures both the fully aged lot (which should be flagged for action) and the fresh lot (which should not be reserved). Lot-level aging, showing each receipt separately, is more accurate and more actionable.
Last Sale Date vs. Last Movement Date
A transfer from one warehouse to another, a return to stock, or an internal adjustment counts as a "movement" in most WMS systems — but these movements do not represent genuine sales activity. An item that was transferred between locations 30 days ago but has not been sold in 18 months is a dead stock candidate, not a recentlyactive item. Distinguishing sales-and-consumption movements from internal operational movements when calculating the last-activity date requires careful data filtering.
Reserve Rate Calibration
The accuracy of the obsolescence reserve depends entirely on the reserve rates applied to each aging bucket. Reserve rates that were calibrated to historical writeoff experience five years ago may not reflect current market conditions, product mix changes, or supply chain dynamics. Organizations should review and update their reserve rate tables at least annually — and the audit team will scrutinize whether the rates are reasonable and supportable. Automating the reserve calculation does not substitute for the judgment required to set appropriate rates.
No Integration With Purchasing
An inventory aging report that lives in a silo — reviewed monthly by the finance team but never connected to the purchasing workflow — misses its most valuable use case: preventing additional inventory from being purchased for items that are already aged. Integrating aging flags into the purchase order approval workflow — requiring a buyer or manager to acknowledge an aging alert before approving a new PO for an aged item — is one of the highest-ROI ways to use aging data operationally.
Expiry Date Management in High-SKU Environments
Food, pharma, and chemical distributors may manage thousands of expiring lots simultaneously. Manual monitoring of expiry dates across this volume is not feasible. Automated near-expiry alerts — generated when an item reaches 30, 60, or 90 days before expiry — must be generated daily, delivered to the appropriate operations and sales team members, and tracked through to resolution (sale, transfer, return, or disposal) to be operationally effective.
Automation and Scheduling Options
- Daily Aging Calculation Engine We build SQL Server aging calculation engines that compute each item’s and lot’s current days-in-inventory every day — based on the current date minus receipt date, production date, or last movement date — and update aging bucket assignments automatically. No manual aging calculations or report runs required.
- Automated Obsolescence Reserve Calculation We build reserve rate tables by aging bucket and connect them to the daily aging calculation — automatically producing the current period obsolescence reserve, comparing it to the prior period reserve, calculating the reserve movement, and generating the journal entry support — ready for the month-end close without manual spreadsheet work.
- Near-Expiry Alert Automation We build automated near-expiry alert systems that identify every lot with an expiry date within a configurable threshold (30, 60, or 90 days) and generate daily alert reports — delivered to warehouse managers, sales teams, and procurement — with item, lot, quantity, location, expiry date, and extended value for each at-risk lot.
- Purchasing Integration Flag We build inventory aging flag integration with purchasing workflows — tagging items with 90+ day aging in the purchase order system and triggering a review requirement before new POs can be approved — preventing additional inventory buildup on already-aged items.
- No-Movement Identification We build automated no-movement detection that identifies every item with zero sales or consumption activity in the trailing 90, 180, or 365 days — generating a dead stock candidate list with extended value, location, and suggested disposition action for management review.
- Scheduled Aging Report Delivery Weekly aging summaries, monthly reserve reports, and daily near-expiry alerts can be scheduled for automatic generation and delivery — to warehouse managers, buyers, operations directors, and finance teams — on defined schedules without manual preparation.
Delivery Methods
ReportingGuru delivers capital account statement automation across the full range of platforms your team and your LPs rely on:
SSRS (SQL Server Reporting Services)
Parameterized inventory aging reports by product line, location, aging bucket, or supplier — with lot-level detail and item-level summary views — delivered automatically on weekly and monthly schedules. Scheduled subscriptions deliver near-expiry alerts daily to operations and sales teams.
Crystal Reports
Many ERP platforms generate aging reports through Crystal Reports templates. ReportingGuru modernizes Crystal Reports inventory aging packages — improving lot-level detail, adding expiry date tracking, incorporating reserve calculations, and migrating to SSRS or Power BI where appropriate.
Power BI
Interactive inventory aging dashboards with aging bucket distribution charts, slowmover heat maps by product category, near-expiry countdown timers by lot, obsolescence reserve trend analysis, and top-aged-items rankings. Refreshed daily from the SQL Server aging calculation engine. Drill-through from portfolio summary to individual item and lot detail.
Excel Automation
Excel inventory aging workbooks driven by live SQL Server data — for finance teams preparing obsolescence reserve calculations, for buyers reviewing no-movement candidates, and for management presentations — automatically populated without manual ERP exports or aging recalculations.
Scheduled PDF Reports and Email Delivery
Daily near-expiry alerts, weekly slow-mover summaries, and monthly obsolescence reserve reports automatically delivered by email to the appropriate operations and finance recipients — with action-oriented formatting that surfaces the highestrisk items at the top of every report.
Related Report Pages
Income statement and P&L reporting connects directly to every financial, GL, and investor reporting workflow ReportingGuru supports. Explore the complete library of related solutions:
Financial & GL Reporting Pages
Balance Sheet — Automate point-in-time financial position reporting alongside period P&L production — both derived from the same GL data model.
Statement of Cash Flows — Reconcile net income to operating cash flow using the indirect method — the income statement is the starting point for every cash flow statement.
Trial Balance — The foundational GL data that drives every revenue and expense line on the income statement — extracted, validated, and exception-checked at every close.
Budget vs Actual — P&L actuals vs. budgeted revenue and expense with variance analysis, departmental accountability, and rolling forecast integration.
Inventory & Warehouse Pages
Inventory & Warehouse Reporting — Overview of all inventory and warehouse reporting solutions from ReportingGuru.
Inventory On Hand — The quantity foundation of every inventory valuation — on-hand units by SKU and location that the valuation cost method is applied to.
Inventory Valuation — The financial value of aged inventory — cost method valuation by lot that determines the dollar impact of the obsolescence reserve.
Investor & Fund Reporting Pages
Financial Statements & KPI Reporting — Fund and portfolio company financial statements incorporating inventory on-hand balances and turnover metrics.
Fund Performance Reporting — Days-on-hand, stockout rates, and inventory turnover tracked as PE portfolio company operational KPIs.
Frequently Asked Questions
How is inventory aging calculated?
Inventory aging is calculated by subtracting each item’s receipt date (or last movement date) from the current date to derive the number of days the item has been in inventory. Items are then assigned to aging buckets — typically 0–30 days, 31–60 days, 61–90 days, 91–180 days, and 180+ days. For lot-tracked items, aging is calculated at the lot level — each lot showing its own age separately — rather than averaging all lots of the same item together.
What is the typical obsolescence reserve rate by aging bucket?
Reserve rates vary by industry, product type, and company historical write-off experience, but common industry practice for manufacturing and distribution environments applies: 0% reserve for 0–90 days, 10–15% reserve for 91–180 days, 25–50% reserve for 181–270 days, and 75–100% reserve for 270+ days with no sales activity. Food, pharma, and technology companies typically apply more aggressive reserve rates due to higher obsolescence risk. Reserve rates should be calibrated to actual historical write-off data and reviewed at least annually.
What should a company do with dead stock inventory?
Dead stock inventory — items with no movement in 180+ days — has several potential disposition paths: (1) run a targeted promotion or markdown to generate sell-through; (2) return to supplier under a stock rotation or RTV program; (3) transfer to another location or channel with stronger demand; (4) sell to a liquidator at below-cost recovery; (5) donate (with potential tax deduction) if the item has donation value; or (6) dispose of and write off if no recovery is possible. The inventory aging report identifies the candidates — management judgment determines the appropriate disposition.
How does inventory aging connect to the obsolescence reserve on the balance sheet?
The obsolescence reserve (also called the allowance for inventory write-down) is calculated by applying reserve rates to the inventory value in each aging bucket from the aging report. The total reserve reduces gross inventory to net carrying value on the balance sheet. The reserve movement (current period reserve minus prior period reserve) is recorded as an increase or decrease to cost of goods sold on the income statement. The aging report at period-end is the primary audit support for the adequacy of the obsolescence reserve.
How is inventory aging different from accounts receivable aging?
AR aging measures how long invoices have been outstanding since billing — tracking money owed to the company. Inventory aging measures how long goods have been sitting in the warehouse since receipt — tracking the age of the company’s stock. Both use time-based bucket stratification and both feed reserve calculations, but AR aging is used to manage collections risk while inventory aging is used to manage obsolescence risk. The concept of bucket stratification and reserve calculation is structurally similar, but the underlying data and business context are entirely different.
Can inventory aging reports track items by expiry date rather than receipt date?
Yes. For perishable and regulated inventory, aging can be measured in both directions: backward (days since receipt) and forward (days until expiry). Days-until-expiry aging sorts items by how close they are to their expiry date — identifying items that need to be sold, transferred, or disposed of before they expire. We build inventory aging reports that show both days-in-stock and daysuntil-expiry for every lot, with configurable near-expiry alert thresholds and automated notification workflows.
How often should inventory aging reports be reviewed?
Finance teams should review the full inventory aging report at every month-end close to assess the adequacy of the obsolescence reserve. Warehouse managers and buyers should review aging data weekly — or more frequently for fast-changing product categories — to identify actionable items before they age further into higher-risk buckets. For perishable inventory, near-expiry aging should be monitored daily with automated alerts for lots approaching critical thresholds.