$ 39.99
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Lines of code | 1033 |
| Technical Name |
no_smart_undo |
| License | OPL-1 |
| Website | https://apps.odoo.com/apps/modules/19.0/no_smart_undo |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Lines of code | 1033 |
| Technical Name |
no_smart_undo |
| License | OPL-1 |
| Website | https://apps.odoo.com/apps/modules/19.0/no_smart_undo |
Smart Undo
Never Lose Data Again
The Problem
Three everyday mistakes that cost teams hours of lost work.
A user selects the wrong records and hits delete. In standard Odoo, that data is gone forever.
Someone overwrites a phone number, price, or description. No change history. No way to revert.
Records get archived by mistake. Without tracking, finding and restoring them is guesswork.
One Module. Three Superpowers.
Replaces 3-5 separate modules with a single installation.
Recycle Bin with instant restore
✓ 10-second Undo toast
✓ Browsable Recycle Bin
✓ Batch restore
✓ Auto-purge (30 days)
Field-level change history
✓ One-click revert
✓ Batch revert
✓ Smart field filtering
✓ Auto-purge (90 days)
Track & revert archive operations
✓ Unarchive tracking
✓ Revert to previous state
✓ Batch operations
✓ Unified change log
How It Works
Intercepts operations at the ORM level. No workflow changes required.
Delete Undo Delete Flow
- User deletes records from list view, form view, or server action
- Smart Undo intercepts unlink() before the database query
- Active records are archived (active = False) instead of deleted
- A toast notification appears: "Moved to Recycle Bin - Undo"
- Click Undo to restore instantly, or visit the Recycle Bin later
Write Undo Write Flow
- User edits a record - changes a name, phone, price, or any field
- Smart Undo captures the old value before the write executes
- A change log entry is created with old and new values
- From Change History, any change can be reverted with one click
Archive Undo Archive Flow
- User clicks Archive or Unarchive on one or more records
- Smart Undo captures the current active state
- Revert from Change History to undo the archive/unarchive
See It in Action
Clean, native Odoo interface. No learning curve.
Recycle Bin - Trashed Records
Instant Undo Toast Notification
Change History - Field-Level Tracking
Settings Page
Restore a Trashed Record
Technical Details
What We Track vs. What We Skip
Smart field filtering ensures relevant changes are tracked without noise.
- char - Text fields (names, codes)
- text / html - Long text, rich text
- integer / float / monetary
- date / datetime
- boolean - Checkboxes
- selection - Dropdown values
- many2one - Stored as record ID
- one2many / many2many - Relational
- binary - File attachments
- Non-stored computed fields
- Related fields
- System fields (write_date, create_uid)
- Workflow fields (state, stage_id)
- Mail / activity fields
- active field (handled by archive tracking)
Installation
1. Copy the no_smart_undo folder into your Odoo 19 addons directory.
2. Go to Apps, click Update Apps List, then search for "Smart Undo".
3. Click Install. Done! All three features are immediately active with sensible defaults.
Configuration
Enable or disable the module with one switch
Shield every model with an active field
Toggle field-level change tracking
Auto-purge after N days (default 30)
Change history auto-purge (default 90 days)
Choose exactly which models to protect
Built-In Extras
10-second window with Undo button after every delete
Records changed together are grouped. Revert entire batches.
Two daily cron jobs keep your database clean
Users see own records. Managers see everything.
force_delete and skip_tracking contexts
System models are always excluded. No instability.
Replaces 3-5 Separate Modules
Recycle Bin + Change History + Archive Undo + Undo Toast - all in a single module. One installation. One settings page. Zero workflow changes.
🗑 Undo Delete 📝 Undo Write 📂 Undo Archive ✅ 25 Tests
Smart Undo - 3-in-1 Undo for Odoo 19
© Naim OUDAYET - OPL-1 License - Odoo 19 Community & Enterprise
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module