A collection can look healthy when the team reviews total units. Look one level deeper and the picture changes: the black dress has sold through in medium and large, while 38 extra-small units and 24 coral units have not moved in 96 days. Those units still carry value on the balance sheet, but their selling window is closing.
Inventory aging gives operators a way to see that problem early. The goal is not to label everything old as bad. It is to identify which style-color-size combinations deserve a transfer, bundle, markdown, vendor conversation, or change to the next buy.
This guide shows how to build an inventory aging report with data most apparel brands already hold. It also explains how to run the review without creating a new spreadsheet relay between ecommerce, wholesale, finance, and the warehouse.
What inventory aging measures for a seasonal apparel collection
Inventory aging measures how long sellable units have been held or how long they have gone without a sale. Those are related but different signals. A receipt-date view answers, “How long has this stock been here?” A last-sale view asks, “How long has demand been quiet?”
For example, 60 units received 120 days ago may be healthy if 10 sell every week and the style is seasonless. Another 60-unit colorway received 45 days ago may need attention if it had one launch-week sale and none since. That is why a useful aging analysis keeps both dates.
Age also is not the same as inventory turnover. MIT’s accounting notes define inventory turnover as units sold divided by average units in inventory, a period-level measure rather than a unit-level clock (MIT OpenCourseWare). A brand needs both views: turnover for category performance and age buckets for action on specific variants.
Inventory aging does not prove demand is weak. A future wholesale ship window, a temporary stockout in core sizes, an unpublished product page, or units reserved against open orders can all make stock look older than its real commercial status. Treat age as a prompt to investigate.
Build an inventory aging table that follows style, color, and size
A flat SKU export is only a starting point. Apparel teams need enough context to see a broken size run, a slow colorway, and stock sitting in the wrong channel.
Use one row per sellable variant and include:
| Field | Why it belongs |
|---|---|
| Style, color, size, season | Keeps the merchandising hierarchy visible |
| Sellable units and unit cost | Shows unit exposure and inventory value |
| First receipt and latest receipt | Separates original age from replenishment |
| Last-sale date | Finds variants that stopped moving |
| 30/60/90/180-day units | Makes action groups easy to filter |
| Channel and location | Shows where units can and cannot sell |
| Open orders and reservations | Prevents committed stock from looking idle |
| Returns in transit | Flags stock that may soon re-enter availability |
| Open purchase-order units | Exposes more supply arriving behind slow stock |
| Damaged or hold units | Keeps unsellable inventory out of the decision |
Inventory value should use the company’s consistent accounting cost. The University of Oklahoma’s inventory guidance explains that FIFO assumes costs flow to revenue in the order incurred, while weighted average applies an average acquisition cost to ending inventory (University of Oklahoma). The aging table does not replace the accounting method; it should use the value finance recognizes.
Define the bucket clock before the first review. Some brands use days since first receipt. Others use days since the latest receipt or last sale. Keep multiple dates in the source data, then state which one drives the bucket so buyers and finance interpret the table the same way.
Worked inventory aging example for a fictional resort collection
The following numbers are illustrative. They are not Blastramp customer data or an apparel benchmark.
Assume a brand reviews its “Harbor Linen Shirt” on July 31:
| Variant | Sellable units | Unit cost | Inventory value | Days since first receipt | Days since last sale | Current location |
|---|---|---|---|---|---|---|
| White / S | 18 | $24 | $432 | 74 | 6 | DTC warehouse |
| White / XL | 31 | $24 | $744 | 74 | 41 | DTC warehouse |
| Coral / S | 26 | $24 | $624 | 103 | 78 | DTC warehouse |
| Coral / M | 34 | $24 | $816 | 103 | 92 | 3PL |
| Navy / M | 12 | $24 | $288 | 32 | 3 | DTC warehouse |
| Navy / L | 9 | $24 | $216 | 32 | 2 | DTC warehouse |
The total is 130 units worth $3,120. At style level, that may not look alarming. Variant level shows $1,440 tied up in coral small and medium, with no sale for 78 and 92 days. White XL is a different problem: its age is moderate, but the size run may be losing balance.
Before acting, the COO checks four things. There are no wholesale orders reserved against coral. Six coral returns are in transit. A purchase order with 40 more coral units is still open. The style leaves the homepage in three weeks. Those facts make the open purchase order and the seasonal cutoff more urgent than the raw 90-day label.
The team can compare this view with its inventory accuracy method and KPI definitions. An aging decision built on incorrect on-hand quantities will send the wrong units to markdown or transfer.
Use a 30/60/90/180-day action matrix without treating it as a rule
There is no universal “bad” bucket. A 90-day age may be normal for a replenished denim core and late for a six-week holiday capsule. Set thresholds by season length, margin, lead time, replenishment model, and channel.
| Review group | Questions | Possible actions |
|---|---|---|
| 0–30 days | Did the launch and size curve behave as planned? | Hold, correct setup, support launch |
| 31–60 days | Is demand concentrated by channel, size, or color? | Transfer, rebalance presentation, test a bundle |
| 61–90 days | Is there enough season left to sell at full price? | Reduce rebuy, targeted promotion, vendor discussion |
| 91–180 days | What protects the most cash and margin now? | Markdown, return to vendor if allowed, wholesale offer |
| 180+ days | Is there a credible selling path and owner? | Liquidation path, donation, write-down review, stop rebuying |
A transfer makes sense when the same variant sells in another location or channel. A bundle works when the item complements a proven seller and the combined margin still meets the brand’s floor. A return to the vendor is only an option when the purchase terms allow it. A markdown should have a target exit date and unit goal, not remain live indefinitely.
Age buckets are operational prompts, not accounting conclusions. US GAAP inventory valuation and any write-down decision belong with finance and the company’s accounting adviser.
Total-SKU averages hide broken size runs and slow colorways
Suppose a dress sells 100 units in 30 days. That sounds strong. If 82 sales are black medium and large while lilac extra-small and extra-large record four sales combined, the style average hides two different buying lessons.
Review three levels together:
- Style: Is the product concept working?
- Color: Is demand concentrated in a narrow palette?
- Size: Does the current size curve match actual sales and returns?
Then add a channel. A color that is slow on DTC may have open wholesale demand, while a size that looks available company-wide may be reserved for retailer orders. The fashion demand forecasting guide can help teams separate an aging observation from the next forecast decision.
Returns can distort the view too. The National Retail Federation estimated that retailers would receive $849.9 billion in returns during 2025, equal to 15.8% of annual sales (NRF). A returned size that spends 12 days in transit and inspection has a different story from a size that stayed sellable and untouched for 12 days.
Run a weekly exception review and monthly buying review
A brand with 1,800 variants does not need 1,800 weekly discussions. It needs an exception queue.
Each week, filter for variants that crossed a bucket, have no recent sale, carry an open purchase order, or have a material mismatch between locations. Assign an owner and a due date. A 25-minute meeting can cover the top 15 exceptions if the data is ready before the call.
Each month, review broader buying lessons: color concentration, size-curve shifts, aged value by season, and how much stock moved after each action. Record the decision in the same workflow as the inventory and order data. That avoids a spreadsheet being emailed to merchandising while purchasing acts from an older version.
Blastramp HQ centralizes multichannel inventory and order data for fashion brands. That can reduce manual handoffs around an operator-built aging process, but it should not be presented as a named or automatic aging module. Teams comparing the cost of connected data with their current process can use the fashion inventory software ROI guide.
Avoid four inventory aging mistakes
First, do not use the receipt date alone. Replenished core products can have old first receipts and current demand. Keep first receipt, latest receipt, and last sale.
Second, do not ignore seasonality. A swimsuit and a black T-shirt should not share the same intervention point merely because both reached 75 days.
Third, separate sellable units from damaged, quality-hold, and return-inspection units. Otherwise, merchandising may plan a promotion around stock the warehouse cannot ship.
Fourth, do not treat high age as proof of bad demand. Check page status, stockouts in key sizes, open orders, channel placement, price changes, and future commitments. Age tells the team where to look; the surrounding facts tell it what to do.
Inventory aging checklist for the next monthly close
- Confirm one row per style-color-size-location combination.
- Reconcile sellable on-hand units before assigning buckets.
- Show first receipt, latest receipt, and last-sale dates.
- Separate reserved, damaged, and return-inspection units.
- Add open orders, returns in transit, and purchase-order commitments.
- Set thresholds by collection and replenishment model.
- Assign an owner, action, target date, and expected units affected.
- Review results from the prior transfer, bundle, or markdown.
- Feed the lesson into the next buy rather than archiving the file.
Inventory aging FAQ for fashion operators
What is an inventory aging report?
It is a table that groups inventory by time held or time since activity. For apparel, it should show style, color, size, location, value, commitments, and sellable status.
Is 90-day inventory always aged inventory?
No. Ninety days can be late for a short capsule and normal for a replenished core. Use the selling window, margin, lead time, and channel plan to set the threshold.
Should returns restart the age clock?
Usually not without context. Preserve the original commercial history and add return dates and inspection status. Restarting the clock can make old stock appear new.
How often should a fashion brand review dead stock inventory?
Review exceptions weekly and buying implications monthly. During a short seasonal launch, the cadence may need to be faster.
Can Blastramp create an aging workflow?
Blastramp can centralize verified inventory and order data that an operator uses in the workflow. Ask the team to confirm how your present fields and stack would support the method.
Turn age into a decision before the season decides for you
The useful output of inventory aging is not a colorful table. It is a dated decision for each meaningful exception, backed by accurate variant, location, order, return, and purchase-order data.
Review Blastramp pricing if manual stock reconciliation is consuming operator time. To see whether your current inventory and order data can support a reliable aging workflow, request a demo.