Accounting
Distribution
ERP
Inventory Management
Inventory Aging Report: How to Build and Use It, With a Template

Last updated: October 9, 2026 · Independent guide · We do not sell rankings or coverage.
An inventory aging report shows how long the stock you hold today has been on hand, split into age buckets such as 0-30, 31-60, 61-90, 91-180, 181-365 and over 365 days, with quantity and extended cost for each item. You use it to find slow-moving and dead stock before it ties up more cash, and to give your controller the evidence behind the excess and obsolete (E&O) reserve you use to apply the ASC 330 lower of cost and net realizable value rule. Below is a working template, how FIFO layers and lot dates set each unit’s age, and where to find the report in NetSuite, Business Central, Acumatica and inventory apps.
How to use this template
Part A fixes the report settings, Part B is the line-level layout you export from your ERP, Part C rolls the lines into a bucket summary that feeds the reserve review, and Part D is the month-end checklist. Copy the tables into a spreadsheet or use them as the specification for a system report. All quantities, costs and reserve rates in the template are an illustration for a distributor with about $4.6 million of inventory, not benchmarks.
The inventory aging report template
Part A: Report settings (decide once, review each year)
| Setting | What to decide | Recommended entry | Your entry |
|---|---|---|---|
| As-of date | The date the report ages to | Last day of the period being closed | |
| Primary age basis | Receipt date of the remaining FIFO layer, or date of last movement | Receipt date of remaining layers for the reserve; last movement as a second column for slow-mover review | |
| Buckets | Number and length of age bands | 0-30, 31-60, 61-90, 91-180, 181-365, over 365 days | |
| Lot-dated items | Whether expiry date overrides receipt age | Add a days-to-expiry column for every lot with an expiration date | |
| Scope | Entities, locations, consigned and in-transit stock | Owned stock only, by legal entity and location; in-transit on its own line | |
| Control total | The GL balance the report must equal | Inventory asset accounts before the reserve (contra) account |
Part B: Line-level columns (one row per item, location and layer or lot)
| Column | What it holds | Example (illustration) | Used for |
|---|---|---|---|
| Item, item class, location | SKU master data and warehouse | VLV-2040, 2” brass ball valve, Plumbing | Grouping, buyer assignment |
| Layer or lot reference | Receipt, production output or lot number still open | Receipt of May 20, 2026 | Tracing age back to a transaction |
| Remaining quantity and unit cost | Units left in that layer and their cost | 100 units at $13.00 | Extended cost |
| Age in days and bucket | As-of date minus layer date | 133 days, 91-180 | Bucket totals |
| Last sale or issue date | Most recent outbound movement for the item | September 28, 2026 | Separating slow from dead stock |
| 12-month usage and months of supply | Units sold or consumed, and on-hand divided by average monthly usage | 1,320 units; 4.5 months | Excess quantity test |
| Expiry date (lot items) | Expiration recorded on the lot | Not applicable for this SKU | Expired and short-dated stock |
| Status and action owner | Active, slow, excess, obsolete; who acts | Slow; plumbing buyer | Follow-up and reserve review |
Part C: Bucket summary and reserve review (illustration)
| Age bucket | Extended cost (illustration) | Review action | Reserve input (illustrative policy rate) |
|---|---|---|---|
| 0-90 days | $2,950,000 | None unless damaged or discontinued | 0% |
| 91-180 days | $820,000 | Buyer confirms demand; stop reorders on excess | 0%, plus specific reserves for known problems |
| 181-365 days | $540,000 | Return to vendor, transfer or markdown plan | 25% ($135,000) |
| Over 365 days | $310,000 | Liquidate, scrap or document why it will sell | 75% ($232,500) |
| Total | $4,620,000 | Ties to GL inventory before reserve | $367,500 before item-level adjustments |
Part D: Month-end checklist
- Post all receipts, shipments, production output and adjustments for the period first.
- Run the report as of period end and confirm the total extended cost equals the inventory asset accounts in the general ledger.
- Investigate negative quantities, zero-cost layers and on-hand items with no receipt history.
- Send the over-180-day list to buyers with a due date for an action on each line, and explain material movements from last month.
- Give the controller the summary, exceptions and buyer comments as reserve support, and save the output with the close file.
Walking through each part of the template
Receipt date or last movement: pick the basis for the job
Receipt-based aging tells you how long the specific units on the shelf have been there. Movement-based aging tells you how long it has been since anyone bought or used the item. You need both, because a fast-moving SKU can still carry an old layer. Business Central’s Item Age Composition report uses receipt age, while Acumatica’s Dead Stock form uses movement.
How FIFO layers and lot dates set the age
Under FIFO, each receipt creates a cost layer and sales consume the oldest layer first, so the stock left at period end belongs to the newest receipts. Microsoft documents this directly: for FIFO, standard and average cost items, Business Central applies each inventory decrease to the increase “with the earliest posting date,” and the unapplied balance stays open in the Remaining Quantity field. Acumatica records FIFO costs in layers, “each of which is identified by the receipt date.”
Here is an illustration. You hold 500 units of VLV-2040 on September 30, 2026. This year you received 200 units on January 15 at $12.00, 300 on May 20 at $13.00 and 400 on August 10 at $14.00, and sold 400. FIFO leaves 400 units from August 10 (51 days old, $5,600 in the 31-60 bucket) and 100 units from May 20 (133 days old, $1,300 in the 91-180 bucket). A report that ages everything from the last receipt date would show all 500 units at 51 days and hide the older layer.
Lot-controlled stock adds a second date. NetSuite lets you record an expiration date on each lot number record, and lot numbered items carry “the specific cost for each lot.” For food, chemicals and other dated goods, days to expiry is often more useful than days since receipt, and Business Central has a separate Item Expiration – Quantity report for it. For more on lot setup, see our guide to lot and serial tracking in ERP.
Reconcile to the general ledger before anyone reads it
An aging report that does not tie to the inventory accounts will not survive an audit. Run it from the same cost data as your valuation report. In NetSuite, the Inventory Valuation Detail report (Reports > Inventory/Items > Inventory Valuation > Detail) lists the transactions that affect inventory value, which helps you trace differences. Aged quantities are only as good as the on-hand balance, so see our guide to cycle counting software as well.
Using the summary to support the E&O reserve under ASC 330
ASC 330-10-35-1B requires inventory measured using FIFO or average cost to be carried at the lower of cost and net realizable value, where net realizable value is the estimated selling price in the ordinary course of business less reasonably predictable costs of completion, disposal and transportation. LIFO and retail-method inventory stays on the lower of cost or market test under 35-1C. Both rules come from ASU 2015-11, issued in July 2015.
The aging report does not set the reserve by itself. The policy rates in Part C are a starting estimate that you adjust item by item for known demand, vendor return rights and recent selling prices. PwC’s inventory guide notes that a write-down at the close of a fiscal year creates a new cost basis that cannot be marked back up later (ASC 330-10-35-14 and SEC Staff Accounting Bulletin Topic 5.BB). If you use standard costing, our article on standard cost vs actual cost explains how variances affect the cost figure you are aging.
Tax is narrower than book accounting. Treasury Regulation 1.471-2(c) values subnormal goods at “bona fide selling prices less direct cost of disposition” and defines a bona fide selling price as an actual offering of the goods within 30 days after the inventory date. Ask your tax adviser before assuming a book reserve is deductible.
Common mistakes
- Aging from the item’s last receipt date. One new receipt resets the age of the whole balance and hides older layers, as the example above shows.
- Using movement date alone for the reserve. One small sale makes a slow item look current even if most of its quantity is years old.
- Resetting age on transfers. Check whether your report ages transferred stock from the original receipt or the transfer receipt.
- Applying one rate to every item. A spare part with a 15-year service life and a seasonal consumer item should not share a reserve rate.
When to move from a spreadsheet to software
A spreadsheet works while you can export open layers and rebuild the report quickly each month. Move to a system report when you have thousands of SKUs, several locations, lot-controlled stock or auditors re-performing the calculation.
Microsoft Dynamics 365 Business Central has the strongest native option of the three ERPs. Report 5808, Item Age Composition by Quantity and Value, became generally available on April 1, 2026 and replaces the separate quantity and value reports, which Microsoft is deprecating. It ages open inbound entries into three equal periods before an ending date, plus amounts before and after those periods, so you may need two runs to reproduce this template’s six buckets.
Oracle NetSuite supports FIFO, LIFO, average, group average, lot numbered, specific and standard costing, but its help center does not list a native inventory aging report. Practitioners on the NetSuite Professionals community describe building one from saved searches, custom development or a BI tool, so budget administrator or partner time.
Acumatica provides the Dead Stock form (IN405500) for movement-based review, showing dead stock quantity, average days in stock and last sale date. A receipt-based aging report is not standard yet: an Acumatica product manager wrote on April 14, 2026 that the company is “working on an Inventory Aging Report as a standard feature,” and the 2026 R2 announcement of September 30, 2026 does not mention it. Velixo, which sells an Excel reporting add-in, publishes an Acumatica inventory aging template.
Inventory apps can fill the gap. Inventory Planner’s Aging Analysis assumes FIFO and uses buckets from 0-30 to over 365 days with stock cost and retail value. Extensiv Order Manager groups stock into bands from under 3 months to over 12 months by warehouse, brand and buyer. Neither replaces the general ledger tie-out.
How we researched this
We read the pages ranking for “inventory aging report” on October 9, 2026, including Shopify’s blog, Buske Logistics (a 3PL) and the Inventory Planner and Extensiv help centers. None combines a usable template with FIFO layer logic, ASC 330 and system guidance. We then checked FASB guidance via PwC Viewpoint, the eCFR and vendor documentation on October 9, 2026. No vendor paid for inclusion. For a related template, see our AR aging report template.
Related guides
- ABC Analysis in Inventory: Classify Items and Use Results
- Inventory Reconciliation: Count, Records and GL Tie-Out
- Lot Tracking Software: How It Works and How to Choose
Frequently asked questions
What is the difference between inventory aging and days inventory outstanding?
Days inventory outstanding is one average figure for the whole business, calculated from inventory and cost of goods sold. An inventory aging report breaks the on-hand balance into age buckets item by item. A healthy average can hide hundreds of SKUs in the over-365-day bucket.
Should inventory be aged by receipt date or last sale date?
Use receipt date of the remaining FIFO layers for the reserve, because it shows how long the specific units have been held. Use last sale or issue date to spot items with no demand. Showing both columns on one report covers both jobs.
Does NetSuite have a standard inventory aging report?
NetSuite’s help center documents valuation reports such as Inventory Valuation Detail but does not document a native inventory aging report. Companies typically build one with saved searches, custom development or a reporting tool that reads FIFO layers or lot data.
Can I book the E&O reserve straight from aging percentages?
Aging percentages are a reasonable starting estimate, but ASC 330 asks whether cost exceeds net realizable value. Adjust the result for items with firm demand, vendor return rights or known selling prices, and keep the item-level support with your close file.
Sources
- PwC Viewpoint, ASU 2015-11, Inventory (Topic 330): Simplifying the Measurement of Inventory, full text, July 2015. viewpoint.pwc.com
- PwC Viewpoint, Inventory guide, section 1.3 Cost (lower of cost and NRV, new cost basis), no date shown. viewpoint.pwc.com
- eCFR, 26 CFR 1.471-2, Valuation of inventories, up to date as of October 7, 2026. ecfr.gov
- Microsoft Learn, Item Age Composition by Quantity and Value (report 5808), last updated April 1, 2026. learn.microsoft.com
- Microsoft Learn, Modernizing analytical reports for inventory, 2026 release wave 1 plan, last updated August 27, 2026. learn.microsoft.com
- Microsoft Learn, Inventory and warehouse reports and analytics in Business Central, last updated April 30, 2026. learn.microsoft.com
- Microsoft Learn, Design details: Item application, last updated March 17, 2026. learn.microsoft.com
- Oracle NetSuite Help, Costing Methods, created May 6, 2016. docs.oracle.com
- Oracle NetSuite Help, LIFO/FIFO Inventory Costing and Advanced Receiving, created May 6, 2016. docs.oracle.com
- Oracle NetSuite Help, Lot Numbered Items, created May 6, 2016. docs.oracle.com
- Oracle NetSuite Help, Inventory Valuation Detail Report, created May 6, 2016. docs.oracle.com
- NetSuite Professionals community archive, “NetSuite still doesn’t have a native inventory aging report,” March 2, 2022. archive.netsuiteprofessionals.com
- MYOB Acumatica Online Help (MYOB’s edition of Acumatica), Dead Stock (IN405500), no date shown. help.myob.com.au
- MYOB Acumatica Online Help, Item Costs and Valuation Methods, no date shown. help.myob.com.au
- Acumatica Community, “Inventory Aging Report: We’re working on it and need your input,” April 14, 2026. community.acumatica.com
- Acumatica Community, “Introducing Acumatica Cloud ERP 2026 R2,” September 30, 2026. community.acumatica.com
- Velixo (sells an Excel reporting add-in), AC-IN-RT6 Inventory Aging Analysis, last modified July 20, 2026. help.velixo.com
- Inventory Planner Help (sells inventory planning software), Aging analysis report, August 22, 2025. help.inventory-planner.com
- Extensiv Help (sells Extensiv Order Manager), Analytics: Inventory Aging, September 11, 2025. help.extensiv.com