Installation
What Dead Stock & Inventory Ageing requires, how to install it, and how to check the install worked.
Requirements
- Odoo 18.0, Community or Enterprise
- The standard stock and mail modules
- No external Python packages
- PostgreSQL as supplied with your Odoo installation
On-premise
- Copy the stock_dead_ageing_report folder into a directory listed in addons_path:
cp -r stock_dead_ageing_report /opt/odoo/custom/- Restart Odoo:
sudo systemctl restart odoo- Enable developer mode, then Apps → Update Apps List.
- Search for Dead Stock & Inventory Ageing and press Activate.
Odoo.sh
Add the folder to your project repository on the Odoo 18.0 branch, commit and push, then install from Apps once the build is green.
From the ZIP
The release ZIP contains a single top-level folder. Extract it directly into your addons path:
unzip stock_dead_ageing_report_18.0.1.0.0.zip -d /opt/odoo/custom/What installation does
- Creates one PostgreSQL view, stock_dead_stock_report. No table is created and no existing row is touched.
- Adds a transient model for the analysis wizard.
- Adds two menu items under Inventory → Reporting.
- Adds a weekly scheduled action, Dead Stock: Weekly Digest, which is inert until you switch the digest on.
- Adds a record rule restricting the report to the reader's own companies.
The module never writes to stock_quant, stock_move_line or any other existing table. Uninstalling drops the view and leaves your data exactly as it was.
Verifying the install
- Inventory → Reporting → Dead Stock & Ageing should list your on-hand stock immediately — there is nothing to generate.
- Compare the On Hand total against Inventory → Reporting → Stock. They are built on the same quants and should agree.
- Settings → Inventory → Dead Stock & Ageing should show a live count and value.
Upgrading
odoo-bin -d YOUR_DATABASE -u stock_dead_ageing_report --stop-after-initThe view is dropped and recreated on every upgrade, which is safe: it holds no data of its own.
Uninstalling
Apps → Dead Stock & Inventory Ageing → Uninstall.
This drops the view, the wizard model, the menus, the scheduled action and the two configuration parameters. Your stock data is untouched, because the module never owned any of it.