Inventory Aging Reports for Multichannel Sellers
On 1 January 2026, bol.com starts charging for Logistiek via bol stock that has been stored for more than 180 days. Amazon FBA already treats aged and excess inventory as a direct performance and fee problem, with Seller Central guidance pushing sellers toward roughly 30 to 60 days of expected sales cover. For a seller running Shopify, bol.com, Amazon, Zalando, Kaufland and a 3PL in parallel, that turns inventory aging from a finance report into a weekly operations queue.
The old question was simple: “Which products have not sold?” The better question is more specific: “Which stock is aging in the wrong place, on the wrong channel, under the wrong cost structure, while another channel could still sell it?” That is the difference between a spreadsheet of dead stock and a working inventory aging report for multichannel sellers.
Why aged inventory is different in multichannel ecommerce
Most inventory aging advice is written for a single warehouse. It says to group products by days in stock, then discount the oldest items. That is too blunt for multichannel sellers. A SKU can be stale in one location and still profitable elsewhere. Fifty units in Amazon FBA might be close to an aged inventory surcharge, while the same SKU sells steadily through Shopify if the stock sits in your own warehouse. The average age hides the decision you actually need to make.
That is why an operational aging report should combine stock age with channel context. You need the receiving date, quantity, value, warehouse, marketplace pool, listing status, recent order velocity, margin, and known marketplace rules in one view. ChannelDock’s inventory overview is built around that kind of operational visibility: stock is not just a number, it is a promise across every channel where the SKU is live.
Aging inventory is not just slow inventory. In multichannel commerce it is inventory that is aging in the wrong place: FBA while bol.com demand is rising, a 3PL shelf while Shopify ads are paused, or a marketplace warehouse where a fee clock has already started.
The buckets that matter: 0-30, 31-60, 61-90, 91-180, 180+
A practical report uses simple age bands that non-finance teams can act on. The common ecommerce bands are 0-30 days, 31-60 days, 61-90 days, 91-180 days and 180+ days. The point is not that every category behaves the same. The point is that every bucket needs a different decision.
Fresh stock, from 0 to 30 days, should validate the purchase: is it listed everywhere, is the title searchable, are the product images accepted by the marketplaces, and are stock quantities actually visible? The 31 to 60 day bucket is the monitoring zone. If sales are slower than forecast, it is still early enough to adjust ads, pricing, product data or marketplace exposure without hurting margin. At 61 to 90 days, the SKU needs a named owner. At 91 to 180 days, the cost of waiting starts becoming visible in warehouse space, cash conversion cycle and marketplace fee risk. At 180+ days, the question should no longer be “should we do something?” It should be “which recovery path loses the least margin?”
- 1Use receipt date, not listing dateAge begins when units enter your sellable network: own warehouse, 3PL, FBA, LVB, or another marketplace warehouse.
- 2Split stock by location and channelOne SKU can be healthy in Shopify and dangerous in FBA. Keep each stock pool visible.
- 3Add velocity and margin next to ageOld units with high margin and seasonal demand need a different action than old units with no clicks.
- 4Choose an action per bucketTransfer, bundle, discount, marketplace outlet, supplier return, donation, or write-off. Do not leave “review later” as the action.
- 5Sync the decision back to inventory rulesUpdate reorder points, safety stock, marketplace buffers, and PIM content so the same SKU does not age again.
Add channel intent before you choose a markdown
The most expensive mistake is treating all old stock as clearance stock. A blanket discount on your webshop can train repeat customers to wait. A low marketplace price can start a repricing race. A flash sale can move units but damage the premium position of a product line. In many cases, the better first move is not discounting, but moving inventory to the channel where demand already exists.
For example, Amazon Seller Central points sellers toward Outlet deals and excess-inventory actions when units age in FBA. Bol.com’s LVB voorraad analyse lets sellers see products stored longer than 180 days in bol distribution centers. Those are channel-specific signals. A multichannel report should show them next to your own warehouse stock, Shopify velocity, bol.com listing health, Amazon rank, Zalando or Kaufland offer status, and the 3PL location where the units physically sit.
Generic aging report
- One age bucket per SKU
- No marketplace fee context
- No channel-specific sell-through
- Action stays in a spreadsheet
Multichannel aging controlRecommended
- Age by SKU, warehouse, marketplace and batch
- Shows FBA, LVB and own-warehouse risk separately
- Pairs age with velocity, margin and listing status
- Triggers stock transfer, markdown and replenishment rules
The data fields your report should include
A useful inventory aging report has fewer columns than a data dump, but each column should explain a decision. Start with SKU, barcode or EAN, product title, batch or lot number where relevant, receipt date, first sellable date, available quantity, reserved quantity, unit cost, retail price, gross margin and total value. Then add the operational columns: warehouse or 3PL location, sales channel, marketplace warehouse type such as FBA or LVB, listing status, last sale date, 30-day units sold, 90-day units sold, days of supply, reorder status and recommended action.
The two columns most sellers miss are listing status and replenishment status. Listing status tells you whether “old” stock is actually being exposed to demand. A SKU cannot sell on bol.com if the offer is inactive, the content is rejected, or the stock is mapped to the wrong EAN. Replenishment status tells you whether purchasing is about to make the problem worse. If a SKU has 180+ day stock and an open purchase order, the aging report should flag the PO before more cash gets trapped.
Aging priority = age bucket + stock value + days of supply + channel fee risk + listing health + margin recovery path. Age alone shows what is old. The full formula shows what to do first.
How to read the report each week
Run the report weekly for active sellers and daily during peak season, buying cycles or marketplace fee cutoffs. Start with the highest-value 91-180 and 180+ buckets. Sort by total value first, not units. Ten expensive units can trap more cash than 600 cheap accessories. Then filter by location. FBA and LVB stock may carry different fee and removal options than your own warehouse or a 3PL location. Finally, filter by sales channel performance. If Shopify sold 40 units in the last 30 days while bol.com sold none, the action is not necessarily a discount. It might be stock transfer, listing repair, product content improvement, or channel-specific stock allocation.
This is where inventory management connects directly to marketplace integrations. A report that lives outside the systems that publish stock, receive orders and update product data will always lag. The best workflow is to let the report trigger operational actions: reduce a bol.com buffer, pause a reorder, move units from FBA to own warehouse, open a product-data fix, or create a bundle SKU.
If a product is old because demand is weak, a price action may help. If a product is old because it was never visible on the right channel, a markdown only hides the real problem. Fix visibility before sacrificing margin.
What competitors usually miss
Most ranking articles explain the accounting definition of aged stock, give an Excel formula, and list generic tactics such as “discount, bundle, donate.” That is useful, but it stops before the multichannel decision. Sellers do not only need to know that SKU A is 181 days old. They need to know whether SKU A is 181 days old in FBA, whether a duplicate pool sits in the 3PL, whether bol.com shows the product as live, whether Shopify sold the same item yesterday, and whether the next PO can still be cancelled.
The gap is actionability. A generic report tells finance that inventory is aging. A multichannel report tells operations what to do by channel, by warehouse and by SKU. That is the standard sellers should expect from modern stock software, especially when they operate across marketplaces with different fee rules, product-data requirements and delivery promises.
Connect aging to replenishment, not just clearance
Aging reports become powerful when they change future buying. If the same SKU repeatedly crosses 90 days, the problem may be supplier MOQ, forecast bias, marketplace content, wrong safety stock or a purchase cadence that ignores channel velocity. Replenishment rules should read the aging signal. A SKU with rising 91-180 day stock should not be treated as healthy just because one channel sold a few units last week.
The same applies to marketplace buffers. Sellers often hold a safety buffer to avoid overselling across channels. That is sensible for fast sellers, but dangerous for slow movers. If a low-velocity SKU has ten units hidden as buffer across five channels, the aging report will show available stock as low while real stock quietly gets older. A weekly review should ask: are buffers protecting customers, or are they hiding old stock from demand?
- Treat aged stock as an operational queue, not a finance report that gets reviewed once a quarter.
- Use 60, 90 and 180 day thresholds as decision points, but tune them by category, season and marketplace fee rules.
- Move inventory toward demand before discounting it. A channel transfer can preserve margin that a blanket clearance sale destroys.
- Connect the report to reorder, stock sync, PIM and warehouse rules so the same stock mistake does not repeat.
FAQ
What is an inventory aging report for ecommerce?
What age makes stock dead stock?
Why is aging inventory harder for multichannel sellers?
Should aged inventory always be discounted?
How does ChannelDock help with aging inventory?
Conclusion
An inventory aging report is not a graveyard list. Used well, it is a routing system for trapped cash. It tells you which stock should move, which listing should be fixed, which purchase order should pause, which marketplace fee deadline matters, and which SKU should finally leave the assortment.
For multichannel sellers, the winning report is not the prettiest dashboard. It is the report that separates stock by channel and location, names the next action, and connects back to the tools that control inventory, orders, PIM and warehouse movement. That is how old stock becomes a managed queue instead of a quarterly surprise.