Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Extra Tools
  3. Track Deleted Records v 19.0
  4. Sales Conditions FAQ

Track Deleted Records

by HOUSE OF APPS https://apps.odoo.com/apps/browse?repo_maintainer_id=1201204
Odoo

$ 500.00

v 19.0 Third Party
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Discuss (mail)
Lines of code 1962
Technical Name track_deleted_records
LicenseOPL-1
Websitehttps://apps.odoo.com/apps/browse?repo_maintainer_id=1201204
Versions 18.0 19.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Discuss (mail)
Lines of code 1962
Technical Name track_deleted_records
LicenseOPL-1
Websitehttps://apps.odoo.com/apps/browse?repo_maintainer_id=1201204
Versions 18.0 19.0
  • Description
  • License
HOUSE OF
Premium Odoo Modules
📄 Know who deleted what, when, and why — and bring it back with one click.

Track Deleted Records

A complete audit trail for every deletion in your Odoo system. The moment any record is removed — a customer, an invoice, a product, a purchase order — this module captures a full snapshot of it, logs who pressed delete and from where, and stores it safely in an immutable, tamper-proof audit log. Managers get instant alerts for suspicious bulk activity or deletions on sensitive models. And when something is deleted by mistake, restore the original record in a single click.

📄 Full Audit Log 🔄 One-Click Restore 🔐 Tamper-Proof Entries 🚨 Suspicious Activity Alerts 🔴 Critical Model Alerts 📊 Dashboard & Reports 📋 PDF & CSV Export 🌟 Zero Dependencies
At a glance

Complete deletion governance in one module

Track Deleted Records covers every stage of the deletion lifecycle — from capture and verification to alerting, recovery, and long-term retention management.

100%
Models covered automatically
SHA‑256
Integrity hash on every entry
1‑click
Full record restore from snapshot
0
External packages required
Features

Everything you need to know about every deletion

From the moment a record is removed, Track Deleted Records captures, protects, and presents every detail — without touching your existing workflows or data.

📄
Automatic Audit Log
Every time any record is deleted — anywhere in your Odoo — a log entry is created automatically. It records which record was removed, which model it belonged to, who deleted it, the exact date and time, and the IP address of the session.
📷
Full Data Snapshot
Before the record disappears, the module captures a complete snapshot of all its field values — text, numbers, dates, linked records, tags, and more. You can review exactly what the record contained at the time it was deleted, right from the audit log form.
🔄
One-Click Restore
Select any log entry and click Restore Record to recreate the deleted record from its stored snapshot. Related records that still exist are automatically re-linked. Fields that reference since-deleted data are gracefully skipped and reported.
🚨
Suspicious Activity Alerts
The module watches for bulk deletions. When a single user deletes more records than the configured threshold within a rolling time window, a Suspicious Activity Alert is raised immediately — and managers are notified by email.
🔴
Critical Model Alerts
Mark any model as Critical — such as customers, invoices, or contracts — and receive an immediate alert every time a record from that model is deleted, regardless of volume. Each alert links directly back to the audit log entry.
🔐
Immutable, Tamper-Proof Log
Audit entries cannot be edited or manually deleted — not even by administrators. Every entry is protected by a SHA-256 integrity hash that can be verified at any time to confirm the record has not been altered since it was created.
📊
Dashboard & Analytics
An Alert Overview dashboard shows unacknowledged suspicious and critical alerts at a glance. The audit log also offers pivot and graph views so you can visualise deletion patterns by model, by user, or over time.
📋
PDF Report & CSV Export
Select any set of log entries and generate a formatted PDF audit report directly from the Print menu. The Action menu also provides a CSV export covering all key fields — ready to share with auditors or compliance teams in seconds.
🕐
Retention Rules & Auto-Cleanup
A scheduled job automatically purges log entries older than your configured retention period. You can set a global default (90 days by default) and override it per model — for example keeping invoice logs for 3 years while cleaning up draft records after 30 days.
Quick Start

Up and running in minutes

No configuration is required to start capturing deletions. Everything works from the moment the module is installed.

1
Install the module. From that moment, every deletion anywhere in your Odoo is automatically logged — no setup required.
2
Open Deleted Records → Audit Log to browse all captured deletions. Filter by model, user, date range, or search by record name.
3
Open any log entry to see the full data snapshot of what the record contained, who deleted it, when, and from which IP address.
4
If a record was deleted by mistake, click Restore Record to recreate it from the snapshot — with all its original field values.
5
Go to Configuration → Critical Models to mark sensitive models for immediate alerting on any deletion.
6
Visit Configuration → Settings to tune the suspicious-activity threshold, monitoring window, and per-model retention periods.
Tip: From any log entry you can also click Exclude This Model to stop tracking future deletions for that model, or Watch This Model to add it to the Critical Models list — both changes take effect immediately without a restart.
Alert System

Two layers of protection — always watching

Track Deleted Records runs two independent alert mechanisms in parallel. Together they catch both accidental mass deletions and targeted removals on your most sensitive records.

⚠️
Suspicious Activity Alert
Triggered by volume within a time window
  • Fires when a single user deletes more records than the threshold within the monitoring window
  • Default: 50 deletions within 10 minutes — fully configurable
  • Deduplication prevents alert spam — one open alert per user per window
  • Managers receive an email notification with the user name, count, and window details
  • Managers can view the related log entries directly from the alert with one click
  • Alerts stay open until a manager acknowledges them
  • Set the threshold to zero to disable this check entirely
🔴
Critical Model Alert
Triggered per deletion on watched models
  • Fires immediately for every deletion on any model you have marked as Critical
  • Works regardless of volume — even a single deletion raises the alert
  • Typical use cases: customers, confirmed sales orders, posted invoices, contracts
  • Each alert records the exact record name and ID that was removed
  • Each alert includes a direct link to the audit log entry with the full snapshot
  • Managers receive an email notification naming the model and the user who deleted
  • Add or remove critical models at any time from the Configuration menu
🌟 Both alert types share the same workflow

Unacknowledged alerts appear highlighted in red on the Alerts Overview dashboard with live counters. Managers can acknowledge alerts individually or in bulk using the Action menu. Acknowledged alerts remain in the system for the record — they are never silently deleted.

Restore & Recovery

Bring deleted records back — exactly as they were

✓
Open the audit log entry for the deleted record and click Restore Record — available to managers from the form header.
✓
The module recreates the record using the stored field values from the snapshot — name, email, phone, dates, linked records, and more.
✓
Related records are re-linked automatically if they still exist — for example, a partner's country, category, or company parent.
✓
After a successful restore, Odoo opens the newly created record directly so you can review and verify it.
⚠
Fields that reference other since-deleted records are skipped and listed in a partial restore notification — you are always informed of what could not be recovered.
⚠
The restored record receives a new ID. It is a clean recreated copy — existing relationships such as journal entries or confirmed orders are not automatically reconnected.
🔄 Restore is also available from the list view

Select a single log entry in the list and use Action → Restore Record — useful when quickly hunting through a filtered list of recent deletions.

What is captured in the snapshot
Text fields, numbers, dates, booleans, linked records (Many2one), and tag lists (Many2many). Binary attachments and computed fields with no stored value are intentionally excluded.
Large batch snapshot control
When a single bulk deletion exceeds the configured cap (default 100 records), the module logs all metadata but skips the full field snapshot to keep performance smooth. The cap is configurable in Settings.
Snapshot preview in the browser
Every log entry displays a clean, human-readable Snapshot Preview tab inside the form view — no need to read raw data. Many2one links show the display name; Many2many lists are shown as comma-separated tags; booleans appear as Yes / No badges. The raw data is also available on the same page for technical review if needed.
Security & Integrity

An audit log you can trust

The audit log is designed to be as trustworthy as the events it captures. Multiple layers of protection ensure that entries cannot be silently altered or removed.

🔒
Read-only by design
Log entries cannot be edited by any user — including system administrators — through the normal Odoo interface. Any attempt to modify a log field raises an access error immediately.
🔑
Deletion protection
Individual log entries cannot be deleted manually. Removal is only possible through the authorised Cleanup Old Logs wizard — which managers access from the Configuration menu — or the scheduled auto-cleanup job.
🛡️
SHA-256 integrity hash
Every log entry carries a SHA-256 fingerprint computed from its key fields at the moment of creation. Click Verify Integrity on any entry to confirm it has not been altered — a green confirmation or a red tamper warning is shown immediately.
📌
Weekly integrity scan
A scheduled weekly job re-verifies the SHA-256 hash of every stored entry in the background. Entries that no longer match their hash are flagged with an Integrity Failed indicator and managers are notified by email.
👥
Two-tier access control
Users can view the audit log and acknowledge alerts. Managers additionally access configuration, retention rules, the cleanup wizard, and the restore function. Access is controlled by two dedicated security groups included with the module.
🌐
IP address capture
Each log entry records the IP address of the session that triggered the deletion — including proper handling of requests behind load balancers or reverse proxies via the forwarded-for header.
Cascade Tracking

Child records deletion? Tracked too.

When deleting a parent record causes Odoo to automatically remove related child records, every child deletion is also captured — and each child log entry is linked back to the parent that triggered it.

Parent-triggered deletions are linked
Each child log entry records the parent model and parent record ID that triggered the cascade. This tells you exactly why the child record was removed, not just that it was. You can filter the audit log by Cascade Deletions to see only records removed as part of a parent cascade.
Full coverage across all models
The cascade tracking context is set once at the top-level deletion and flows automatically through every child removal Odoo performs — you get a complete picture of everything that was affected, even deeply nested child records, without any extra configuration.
Retention & Cleanup

Keep what matters, clean up what doesn't

Long-term log management is fully automated — with fine-grained control per model for organisations with different retention requirements across business areas.

Global retention period
Set a single global retention period in days (default: 90 days). A daily scheduled job purges log entries older than this threshold automatically. Set it to zero to keep all logs indefinitely.
Per-model retention rules
Override the global period for any individual model. For example: keep invoice logs for 5 years, keep draft records for 30 days, and keep system logs forever — all managed from Configuration → Retention Rules.
Manual cleanup wizard
Run a one-time cleanup from Configuration → Cleanup Old Logs. Pick a date, preview exactly how many entries and which models will be affected, then confirm. No surprises — you always see the count before anything is deleted.
Setting Default Effect
Global Retention 90 days Log entries older than this are purged daily
Per-Model Rule — Overrides global for a specific model
Retention = 0 — Keep logs for that model forever
Snapshot Cap 100 records Skip full snapshot on large batch deletes
Auto-cleanup job Daily Runs in the background, no manual action needed
Integrity scan Weekly Re-verifies every SHA-256 hash in the log
Configuration

Everything tunable from one Settings page

A dedicated Settings screen under the module's Configuration menu puts all key options in one place — no need to hunt through system parameters.

🕐
Auto Cleanup Retention
How many days to keep log entries before the daily cleanup job removes them. Set to 0 to disable automatic cleanup entirely and keep all logs forever.
🚨
Suspicious Activity Threshold
The number of deletions a single user must perform within the monitoring window before a Suspicious Activity Alert is raised. Set to 0 to turn off this detection entirely.
⏱️
Monitoring Window
The rolling time period in minutes used to count deletions for the suspicious-activity check. Default is 10 minutes — tune it to match your typical workflow volumes.
📷
Snapshot Cap
When a single batch deletion exceeds this record count, the full field snapshot is skipped to protect performance. Metadata (who, when, what model) is always logged regardless of the cap.
🚫
Model Exclusions
Select models that should never be logged — useful for high-volume internal system models where you do not need an audit trail. Exclusions can also be added with one click directly from any log entry using Exclude This Model.
🔴
Critical Models List
Add any model to the Critical Models list from Configuration — or directly from a log entry using Watch This Model. Active entries trigger an immediate alert on every deletion; deactivate a model at any time without deleting its past alerts.
Use Cases

Built for teams that need accountability

📆
Finance & Accounting Teams
Know immediately when a posted invoice, journal entry, or payment is removed. Set invoices and payments as Critical Models and keep their logs for years — independent of any other cleanup rule.
👥
CRM & Sales Teams
Recover accidentally deleted customers, leads, or opportunities. See if a salesperson is removing deals they do not want tracked in their pipeline — and restore the record from its full snapshot in seconds.
🔧
Operations & Inventory
Track removals of products, bills of materials, or stock moves. The cascade tracking feature captures every child line deleted alongside a parent document, giving operations teams a full picture of what changed.
📜
Compliance & Auditing
Produce a PDF or CSV audit report on demand — sorted, filtered, and formatted for auditors. The immutable log with SHA-256 hashes gives your compliance team documented proof that entries have not been altered.
🛡️
IT & System Administrators
Quickly identify runaway scripts or user errors that caused bulk deletions. The suspicious-activity alert fires before the damage spreads — and the full log tells you exactly which records were affected.
👑
Management & Executives
Get the Alert Overview dashboard as a daily check — unacknowledged suspicious and critical alerts surface instantly. Delegate acknowledgement to team leads and use the log for dispute resolution or staff investigations.
Screenshots & Access Rules

See it in action

A complete walkthrough — from the first deletion to recovery, alerts, cleanup, and settings. Every stage shows what a Regular User can see and do versus what a Manager has access to.

1
Deletion
Captured
2
Audit Log
List
3
Log Entry
Form
4
Snapshot
Preview
5
Restore
Record
6
Suspicious
Alert
7
Critical
Alert
8
Alert
Dashboard
9
Analytics
10
Cleanup
Wizard
11
Settings
12
Integrity
Check
13
Cascade
Tracking
14
Retention
& Report
15
Watch
Model
16
Exclude
Model
1
A deletion happens anywhere in Odoo — instantly captured
👤 User & Manager
The moment any record is removed — a customer, a product, an invoice, a sale order — the module captures a full log entry automatically. No manual action required. The entry appears in the Deleted Records menu within seconds.
Deleted Records → Audit Log (list view)
Audit Log list view showing a newly captured deletion entry highlighted in amber — columns: Record Name, Model, Deleted By, Date & Time, IP Address, Integrity OK
The new log entry appears immediately — record name, model, who deleted it, exact timestamp, and originating IP address. The Integrity indicator shows green: the SHA-256 hash was stamped at creation.
2
Browsing the Audit Log — different Action menus by role
👤 User — read & filter 👑 Manager — + bulk actions
Both roles see the full list of deletions and can filter, group, and search freely. The difference is in the Action menu — Managers see additional bulk operations that are completely hidden from Regular Users.
Deleted Records → Audit Log 👤 Regular User
Audit log list view as seen by a Regular User — toolbar shows Filters / Group By / Favourites only, no Action dropdown button is present
Regular User: Toolbar has Filters, Group By, Favourites — no Action dropdown. User can read and search, nothing else.
Deleted Records → Audit Log 👑 Manager
Audit log list view as seen by a Manager — Action dropdown is open showing: Restore Record, Export as CSV, Verify Integrity options
Manager: An Action dropdown appears — Restore Record, Export as CSV, Verify Integrity — applicable to any selected rows.
Capability — Audit Log List 👤 User 👑 Manager
View all log entries✓✓
Filter by model / user / date✓✓
Group by model or month✓✓
Restore Record (Action menu)✗✓
Export as CSV (Action menu)✗✓
Verify Integrity (Action menu)✗✓
Print PDF Audit Report✗✓
3
Log Entry Form — header buttons differ by role
👤 User — read-only 👑 Manager — 4 action buttons
Both roles see the full log entry details — model, record name, who deleted it, timestamp, IP address, and cascade parent info. The form header buttons are completely different between a Regular User and a Manager.
Audit Log → [log entry] 👤 Regular User
Log entry form as seen by a Regular User — form header contains only the breadcrumb and navigation arrows, no Restore / Verify / Exclude / Watch buttons
Regular User: Full record details visible — model, record name, deleted by, timestamp, IP address — but no action buttons. The entire form is read-only.
Audit Log → [log entry] 👑 Manager
Log entry form as seen by a Manager — form header shows four buttons: Restore Record (primary purple), Verify Integrity, Exclude This Model, Watch This Model
Manager: Four action buttons in the header — Restore Record (primary), Verify Integrity, Exclude This Model, and Watch This Model.
4
Data Snapshot Preview — what the record looked like before deletion
👤 User & Manager
The Snapshot Preview tab inside every log entry renders all captured field values in a clean two-column table. No raw code — just field names and human-readable values.
Log Entry → Snapshot Preview tab
Snapshot Preview tab inside a log entry form — two-column table showing: Name: Acme Corp | Email: info@acme.com | Phone: +1 555 0100 | Country: United States | Customer Rank: 5 | Tags: Customer, VIP | Active: Yes | Created: 2024-01-15 09:22
Many2one links show the display name — not a raw ID. Many2many tags appear as a comma-separated list. Booleans render as Yes or No. The raw JSON is also available in the adjacent tab for technical review.
5
Restoring a Deleted Record — Manager only
👑 Manager only
Click Restore Record on any log entry. Odoo asks for confirmation, then recreates the record from the stored snapshot and opens it immediately — with all original field values intact.
Deleted Records → Audit Log → [log entry]
Log entry form — manager view showing four header buttons: Restore Record (primary), Verify Integrity, Exclude This Model, Watch This Model
Step A: Restore Record is the primary (purple) button in the form header — visible only to Managers.
Confirmation — Restore Record
Odoo confirmation dialog: Attempt to recreate this deleted record from the stored snapshot? Fields referencing deleted records will be skipped. Ok / Cancel buttons.
Step B: Odoo asks for confirmation before recreating. Click Ok to proceed — Cancel leaves the log entry untouched.
Step C — Odoo opens the recreated record automatically
The restored Contact form: Screenshot Test Contact — all original field values restored: address 123 Demo Street San Francisco, Phone +1 555 0199, Email screenshot@test.com. Breadcrumb shows path from Deleted Records Audit Log.
Odoo navigates directly to the recreated contact with every original field value restored — name, address, phone, email. The breadcrumb shows it was opened from the Deleted Records audit log. The chatter records "Contact created" confirming the restore was successful.
6
Suspicious Activity Alert — bulk deletion detected
👤 User — acknowledge only 👑 Manager — full access + email
When a user deletes more records than the configured threshold within the monitoring window, a Suspicious Activity Alert is raised and managers receive an email notification. Both roles can view alerts, but what they can do with them differs.
Deleted Records → Alerts → Suspicious Alerts (list view)
Suspicious Deletion Alerts list view — one row showing: OdooBot, 242 deletions, 10 min window, threshold 50, Acknowledged: No (red toggle)
The Suspicious Alerts list shows every alert with the triggering user, deletion count, time window, threshold, and acknowledgement status at a glance. Unacknowledged rows are highlighted — click any row to open the full alert form below.
Deleted Records → Suspicious Alerts 👤 Regular User
Suspicious activity alert form as seen by a Regular User — Acknowledged toggle is enabled/editable, all other fields (triggered user, deletion count, window, date) are greyed out read-only. No related log entries sublist shown.
Regular User: Can toggle Acknowledged — that is the only action available. All other fields are read-only and there is no related log entries sublist.
Deleted Records → Suspicious Alerts 👑 Manager
Suspicious activity alert form as seen by a Manager — all fields visible: triggered user, deletion count, window minutes, timestamp, Acknowledged toggle. Below the fields a Related Log Entries sublist shows each individual deletion that triggered the alert.
Manager: All alert fields visible plus a Related Log Entries sublist linking to every individual deletion that triggered the alert. Bulk-acknowledge is available via the list Action menu.
Capability — Suspicious Activity Alert 👤 User 👑 Manager
View the alert (triggered user, count, window)✓✓
Toggle Acknowledged on a single alert✓✓
See the Related Log Entries sublist✗✓
Bulk-acknowledge from list Action menu✗✓
Email notification on alert creation✗✓
7
Critical Model Alert — every deletion on a watched model
👑 Manager only — menu hidden from User
When a deletion occurs on a model marked as Critical — such as customers, confirmed orders, or posted invoices — an immediate per-deletion alert is raised. Regular Users do not see the Critical Alerts menu item at all.
Deleted Records → Critical Alerts
Critical Alerts list view — rows showing: Model (Customer Invoice), Record Name (INV/2024/0042), Deleted By (Mitchell Admin), Date, Acknowledged (red No badge). Unacknowledged rows highlighted in light red.
Each row names the model, the exact record deleted, who deleted it, and acknowledgement status. Unacknowledged rows are highlighted.
Critical Alerts → [alert form]
Critical alert form showing: Model = Customer Invoice, Record Name = INV/2024/0042, Deleted By = user name, Date & Time, Acknowledged toggle, and a clickable Audit Log Entry link field pointing to the full log record
The alert form includes a direct link to the full Audit Log Entry — one click opens the complete data snapshot of what the record contained.
8
Alert Dashboard — live open-alert counters
👑 Manager only — menu hidden from User
The Alert Overview dashboard shows live counts of all unacknowledged suspicious and critical alerts. Click either counter to jump straight to the filtered alert list.
Deleted Records → Alert Overview
Alert Overview dashboard showing two large clickable counter cards side by side — left card: Open Suspicious Alerts: 3 (orange background), right card: Open Critical Alerts: 1 (red background)
Two clickable counter cards — Open Suspicious Alerts (orange) and Open Critical Alerts (red). Numbers refresh on each open. Click either card to filter to only open alerts of that type.
9
Analytics — pivot table and graph views
👤 User & Manager
Switch the Audit Log to Pivot or Graph view to analyse deletion patterns by model, by user, by month, or any combination — using Odoo's standard analytics controls.
Audit Log → Pivot view
Pivot table view of the audit log — rows grouped by Model Description, columns grouped by Deleted By user, cells show deletion counts. Models listed: Contact (34), Customer Invoice (8), Sale Order (12), Product (5).
Rows = model, columns = user. Cells show deletion counts. Drill down further by adding month or cascade groupings.
Audit Log → Graph view
Bar chart showing weekly deletion counts grouped by model — X-axis is week dates, Y-axis is number of deletions, bars colour-coded by model with a legend below
Bar chart of deletion volume per week, colour-coded by model. Spot spikes in deletion activity at a glance.
10
Cleanup Wizard — preview exactly what will be removed
👑 Manager only
The Cleanup Wizard shows you how many log entries and which models will be purged before anything is deleted. Confirm only when satisfied with the preview.
Configuration → Cleanup Old Logs
Cleanup Old Logs wizard form — field: Delete logs older than [date picker: 2024-01-01]. Below: read-only preview fields — Log Entries to be Removed: 342, Models Affected: 7, Oldest Log: 2023-08-14. Apply Changes and Cancel buttons at the bottom.
Pick a cut-off date and the wizard instantly previews: total entries to remove, number of models affected, and the date of the oldest entry in scope. Nothing is deleted until you click Apply Changes.
11
Configuration Settings — all parameters in one screen
👑 Manager only — entire Configuration menu hidden from User
Every configurable parameter lives on one Settings screen — retention period, suspicious-activity threshold, monitoring window, snapshot cap, and model exclusions. Changes take effect immediately. Regular Users do not see the Configuration menu at all.
Configuration → Settings
Track Deleted Records settings form — fields: Auto Cleanup Retention: 90 days, Suspicious Threshold: 50, Monitoring Window: 10 minutes, Snapshot Max Records: 100, Excluded Models: many2many tag widget with some models listed. Apply Changes and Reset Defaults buttons.
All parameters in one form. Apply Changes saves immediately — no server restart required.
Configuration → Critical Models
Critical Models list view — rows showing watched models: Customer Invoice (active: yes), Contact (active: yes), Sale Order (active: no, greyed). New button to add more models.
Add any model to watch. Toggle Active to pause alerting for a model without losing its history.
Menu Item / Capability 👤 User 👑 Manager
Deleted Records → Audit Log✓✓
Deleted Records → Suspicious AlertsRead only✓
Deleted Records → Alert OverviewHidden✓
Deleted Records → Critical AlertsHidden✓
Configuration → SettingsHidden✓
Configuration → Critical ModelsHidden✓
Configuration → Retention RulesHidden✓
Configuration → Cleanup Old LogsHidden✓
12
Integrity Verification — detect tampering in seconds
👤👑 Both roles
Every audit log entry is sealed with a SHA-256 hash at creation time. Click Verify Integrity on any entry — the module re-computes the hash and compares it to the stored value. A green notification confirms the record is intact; a red warning flags any tampering. The full hash is always visible on the Integrity tab for manual cross-checking.
Audit Log → [entry] → Verify Integrity
Green toast notification in the top-right corner: 'Integrity Verified ✓' title and 'This log entry matches its hash. No tampering detected.' body. The audit log entry form is visible behind the notification.
Green toast confirms the entry is untampered. A red toast appears if the hash does not match — indicating possible data manipulation.
Audit Log → [entry] → Integrity tab
Audit log entry form with the 'Integrity' tab selected, showing a read-only field 'Integrity Hash' containing a full 64-character SHA-256 hex digest. The green verification toast is still visible in the top-right corner.
The Integrity tab displays the full 64-character SHA-256 digest. Copy it to a log aggregator or SIEM for independent verification at any time.
13
Cascade Tracking — follow every child deletion to its root cause
👤👑 Both roles
When a parent record (e.g. a Sales Order) is deleted, Odoo's database cascade automatically removes all child records (order lines, stock moves, etc.). The module captures the root cause for every child: the CASCADE INFORMATION section of each child log entry shows which model and which record ID triggered the deletion — so you always know why a record disappeared, not just when.
Audit Log → [child entry] → form view
Audit log entry form for a Sale Order Line. A 'CASCADE INFORMATION' section shows two fields: 'Triggered by Model: sale.order' and 'Triggered by Record ID: 72'. The Data Snapshot tab below shows the product fields that were stored before deletion.
The CASCADE INFORMATION section pins the exact parent model (sale.order) and its database ID (72) so you can trace every cascade deletion back to a single root action.
14
Retention Rules & PDF Audit Report — govern and export your data
👑 Manager only
Retention Rules let managers set model-specific retention periods — entries older than their rule are removed automatically by a daily scheduled action, keeping storage lean without manual cleanup. The PDF / HTML Audit Report exports selected log entries into a printable, company-branded report complete with cascade lineage, suitable for audits, compliance reviews, or incident reports.
Configuration → Retention Rules
Retention Rules list view — 5 rows: Contact / 365 days, Journal Entry / 1825 days, Sales Order / 730 days, Transfer / 180 days, Message / 30 days. A tooltip is visible on the Days to Retain column header. New button in the top-left to add more rules.
Five rules configured: contacts kept 1 year, journal entries 5 years, sales orders 2 years. A daily cron job enforces them automatically.
Audit Log → select entries → Print → Audit Report
Deleted Records Audit Report — company header at the top, generated date shown. Table with columns: Deleted On, Model, Record Name, Record ID, Deleted By, IP Address, Cascade From. Three rows visible including one showing 'sale.order [72]' in the Cascade From column.
Select any log entries, print the Deleted Records Audit Report. The Cascade From column links child deletions back to their parent record — ready for auditor sign-off.
15
Watch This Model — add any model to Critical Alerts in two clicks
👑 Manager only
Spotted a deletion that should never go unnoticed? Click Watch This Model on any log entry form. A confirmation dialog explains the effect, and after you click Ok a green toast confirms the model is now on the Critical Models list — every future deletion on that model will immediately raise a Critical Alert, regardless of volume.
Audit Log → [entry] → Watch This Model
Confirmation dialog: 'Add this model to Critical Models? Any future deletion will immediately raise a Critical Alert.' with Ok and Cancel buttons. The log entry form for Preparation orders is dimmed behind the dialog.
Step 1 — Confirmation: A safety dialog explains the effect before committing. Click Ok to add the model to the Critical Models list.
Audit Log → [entry] → Watch This Model → Ok
Green toast notification top-right: 'Model Watched' title — '\
Step 2 — Confirmed: Green toast — "Preparation orders" added to Critical Models. Any future deletion will immediately raise a Critical Alert.
Configuration → Critical Models
Critical Models list — 3 rows: Contact (Active ✓), Sales Order (Active ✓), Preparation orders (Active ✓). Pagination shows 1-3 / 3.
Step 3 — Result: "Preparation orders" now appears in the Critical Models list. Toggle Active off at any time to pause alerting without deleting the entry.
16
Exclude This Model — silence system noise without leaving the log
👑 Manager only
Some models generate high-volume, low-value deletions — session records, bus presence, scheduled action progress. Click Exclude This Model on any log entry for that model. After confirming, all future deletions on that model are silently ignored. The excluded model appears immediately in Configuration → Settings → Model Exclusions and can be removed there at any time.
Audit Log → [entry] → Exclude This Model
Confirmation dialog: 'Stop tracking future deletions for this model? You can re-enable it via the excluded_models system parameter.' with Ok and Cancel buttons. The log entry form for User Presence (bus.presence) is dimmed behind.
Step 1 — Confirmation: Dialog warns that future deletions will be silently ignored. Click Ok to exclude the model.
Audit Log → [entry] → Exclude This Model → Ok
Green toast notification top-right: 'Model Excluded' title — '\
Step 2 — Confirmed: Green toast — "User Presence" will no longer be tracked. To undo, open Configuration → Settings → Model Exclusions.
Configuration → Settings → Model Exclusions
Track Deleted Records Settings form showing Model Exclusions section with a tag chip 'User Presence ×' — the model can be removed from the exclusion list by clicking the × on the chip.
Step 3 — Result: "User Presence" appears as a removable tag in Settings. Click the × on the chip and save to resume tracking that model at any time.
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

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with