Dead Stock & Slow-Moving Analytics
Dead/slow stock aging, tied-up capital and liquidation suggestions with a live dashboard
Dead Stock & Slow-Moving Analytics
Dead/slow stock aging, tied-up capital and liquidation suggestions with a live dashboard
Dead Stock & Slow-Moving Analytics finds the products quietly tying up your cash: items that have not moved out in a long time but are still costing you warehouse space and working capital. Every product is scored, bucketed and given an actionable liquidation suggestion so you always know what to discount, liquidate or write off next.
Key Features
Last-Move Aging Buckets
Every product is classified into a configurable aging bucket (Fresh, Slow-Moving, Dead, Obsolete) based on days since its last outgoing stock move; products that never moved fall into the most stale bucket automatically.
Tied-Up Capital
On-hand quantity times unit cost is computed per product and rolled up per aging bucket, showing exactly how much cash is frozen in slow and dead stock.
0-100 Inactivity Score
A single score blends how long a product has been idle with how much capital it ties up, using configurable age and capital weights, so the worst offenders always sort to the top.
Liquidation Suggestions
Each aging bucket carries a suggested discount percentage and a recommendation (monitor, discount, liquidate, write off), with obsolete products idle past a configurable limit escalated to write off.
Configurable Analysis Policies
Multiple dead.stock.config records let you set aging thresholds, discount percentages, score weights, included stock locations and a product domain filter, e.g. one policy per warehouse or category.
One-Click or Scheduled Recompute
Run an analysis on demand from the configuration or let the ir.cron job recompute every configuration flagged for auto-recompute, with failures on one config logged without blocking the others.
Auditable Run History
Every recompute is kept as a dead.stock.run snapshot with its own per-product result lines, run state (running/done/failed) and bucket counts, giving a full audit trail over time.
Searchable Product Fields & Dashboard
Aging bucket, days since last move, tied capital, inactivity score and suggested action are written onto the product template and variant as stored, groupable fields, feeding a live pivot/graph/list dashboard filterable by bucket.
Use Cases
Screenshots
01 Dashboard Pivot
02 Liquidation Candidates Li
03 Config Form
04 Run Form
05 Analysis History Pivot
Why Choose This Module
Slow-moving and dead stock is one of the most overlooked drains on working capital: it sits on the balance sheet as an asset while actually costing warehouse space and opportunity cost every day it stays unsold. This module turns raw stock-move history into a live, auditable dashboard so finance and operations teams can agree on what to discount, liquidate or write off, backed by a repeatable, configurable scoring engine rather than a one-off spreadsheet.
Specifications
- Compatible: Odoo 18.0 / 19.0 / 20.0
- License: OPL-1
- Languages: 35+
- Author: Pokutsoft
- Dependencies: stock, product
- Support: support@pokutsoft.com
- Update date: 2026-10-02
Related modules
ABC/XYZ Inventory Classification
ABC/XYZ product classification by value and demand variability, with auto-recompute and stock-policy suggestions
Cycle Counting ABC / Inventory Record Accuracy
ABC/XYZ product classification, level-loaded cycle count scheduling, blind counting with recount gates and Inventory Record Accuracy (IRA) tracking
Expiry FEFO & Shelf-Life Control
FEFO enforcement, customer minimum remaining shelf-life gating, near-expiry quarantine, markdown and write-off for perishables