| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Lines of code | 844 |
| Technical Name |
hst_recycle_bin |
| License | LGPL-3 |
| Website | https://www.hsxtech.net |
| Versions | 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Lines of code | 844 |
| Technical Name |
hst_recycle_bin |
| License | LGPL-3 |
| Website | https://www.hsxtech.net |
| Versions | 18.0 19.0 |
HST Recycle Bin
Description
Community + Enterprise
A powerful soft-delete system for Odoo that prevents accidental data loss. When a record is deleted from any configured model, it is captured and stored in a central Recycle Bin instead of being permanently removed. Administrators can review deleted records, restore them with a single click, or permanently purge them when no longer needed.
Each deleted record is serialized to JSON with a rich HTML summary preview, complete audit trail (who deleted it and when), and optional attachment preservation. Configure which models to track, set retention periods per model, and let the built-in auto-purge cron handle cleanup automatically. No more worrying about accidentally deleted sales orders, invoices, or contacts.
Features
- → Soft-delete: records are captured and stored before deletion, not permanently removed
- → One-click restore brings deleted records back to life with full data integrity
- → Relationship validation on restore — checks that Many2one and Many2many targets still exist
- → Attachment preservation — optionally saves file attachments alongside deleted records
- → Attachment restoration — recreates ir.attachment records when restoring
- → Rich HTML record summary with key information, financial data, order lines, and more
- → Complete audit trail — tracks who deleted each record and when
- → Configurable model tracking — choose exactly which models to protect via admin UI
- → Per-model retention period — set custom days before auto-purge (default 30 days)
- → Automatic daily purge via cron — old records are cleaned up without manual intervention
- → Permanent delete option — remove records from recycle bin with confirmation dialog
- → Bulk actions — restore or permanently delete multiple records at once from list view
- → Smart field handling — normalizes datetimes, validates numeric types, cleans relational data
- → Excluded system models — internal Odoo models (ir.*, bus.*, mail.*, etc.) are never tracked
- → Search and filter by model, deleted-by user, status, and date ranges
- → Group-by support — organize deleted records by model, user, status, or date
- → Status workflow — In Recycle Bin → Restored / Permanently Deleted
- → Raw JSON data tab — inspect the full serialized record data for technical debugging
- → System admin only — restricted to base.group_system
- → Depends only on the base module — no extra dependencies
How It Works
| Step | Description |
|---|---|
| 1. Configure | Go to Recycle Bin > Configuration and add the models you want to protect (e.g., sale.order, account.move, res.partner) |
| 2. Delete | When a user deletes a record from a tracked model, the data is automatically captured and stored in the Recycle Bin |
| 3. Review | Browse deleted records in the Recycle Bin list view with filters, search, and a rich HTML summary preview |
| 4. Restore or Purge | Click Restore to bring the record back, or Delete Permanently to remove it from the Recycle Bin forever |
| 5. Auto-Cleanup | A daily cron automatically purges records older than the configured retention period (default 30 days) |
Configuration Options
| Option | Default | Description |
|---|---|---|
| Model | — | Select the Odoo model to track deletions for (e.g., sale.order, res.partner) |
| Active | True | Enable or disable tracking for this model |
| Keep Attachments | False | Preserve file attachments when capturing deleted records |
| Retention Days | 30 | Number of days to keep deleted records before auto-purge |
Screenshots
Add Tracked Models
Every Deleted Record From Track Model Came here
You Can See Important Information About Deleted Record
Services
Please log in to comment on this module