Log every create, read, write and delete on any Odoo model with old/new field values for full, exportable traceability. One-time license from $249.00 USD for Odoo 17, 18, 19 — includes 12 months of updates and support.

Log every create, read, write and delete on any Odoo model with old/new field values for full, exportable traceability.
No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.
Regulators, auditors and finance controllers all ask the same question: "Who changed this record, when, and what was the value before?" Odoo core keeps a lightweight message log on chatter-enabled models, but it does not give you a complete, field-level, tamper-evident audit trail across every model your business runs on. This is a build-to-order Audit Trail / Audit Log module that ECOSIRE designs, builds, installs and supports specifically for your database.
ORM-level interception of create(), read(), write() and unlink() on any nominated model, so nothing slips past the log
Per-field old-vs-new value diff on every write, storing both the prior value and the new value rather than just a change flag
Tracking of custom and overridden methods (e.g. action_confirm, button workflows) beyond the four standard CRUD operations
Captures the acting user, exact timestamp, model, record ID and record display name for every logged event
Records the operation source — web UI, XML-RPC/JSON-RPC API call, automated action, or scheduled cron job — for full provenance
Configurable tracking rules per model, per field and per operation so you log only what compliance actually requires
The module hooks the ORM lifecycle — the create(), read(), write() and unlink() methods — on any models you nominate, capturing the operation type, the acting user, the timestamp, the source (UI, XML-RPC/JSON-RPC, automated action or cron), and a per-field diff of the old value versus the new value. Instead of a vague "record updated" line, you get a structured, queryable log: field list_price on product.template changed from 149.00 to 199.00 by user Jane at 14:32 from the web client. Every entry is stored in dedicated audit models with proper indexing so retrieval stays fast even as the log grows into the millions of rows.
Because we build it for your instance, the logging is scoped and configurable rather than a blunt "log everything" switch that bloats your database. You define which models are tracked, which fields matter, which operations (including read access for sensitive data) are recorded, and which users or record domains are in or out of scope. Configurable retention and volume-limiting rules keep the log lean; automated purge/archive actions roll off old entries on a schedule you approve.
Security is first-class. Access to the audit log itself is governed by ir.model.access.csv and record rules so only your compliance or admin group can read it, and standard users cannot see or delete entries about their own activity. Views are delivered as clean list, form, search and pivot layouts (XML/OWL) with saved filters for per-user and per-model drill-down, plus a QWeb PDF audit report and one-click export to XLSX/CSV for handing to external auditors. The module runs on Odoo Community and Enterprise and is delivered tested for Odoo 17, 18 and 19.
This is not an instant download. After purchase, ECOSIRE runs a short scoping call, builds the module against your exact model list and compliance requirements, installs it on your staging and production environments, trains your team, and backs it with a support window. Typical delivery is 2 to 4 weeks depending on how many models and edge cases are in scope.
Needs demonstrable, field-level change history across finance, HR and inventory data to satisfy auditors and regulators. Wants a single, restricted place to answer 'who changed what, when, and from what value' without asking IT to dig through raw tables.
Responsible for the integrity of financial records in Odoo Accounting and Sales. Wants tamper-evident tracking of edits to prices, invoices, journal entries and master data, plus clean exports for the external audit.
Runs the Odoo instance and must implement change-tracking without bloating the database or degrading performance. Wants configurable, scoped logging with proper indexing and automated retention rather than a crude log-everything toggle.
Must prove who accessed sensitive personal or financial records. Needs optional read-access logging on protected models and strict access control over the audit log itself.
Buy the license on ecosire.com and download the Audit Trail / Audit Log module ZIP from your account dashboard.
Extract the ZIP into your Odoo custom addons folder on the server (or upload via Apps > Install from file on Odoo.sh / runbot).
Activate Developer Mode, open Apps, click Update Apps List, search for Audit Trail / Audit Log, and press Install.
Open the new menu, paste your ECOSIRE license key, connect any external credentials (Shopify, Amazon, Stripe, etc.), and save.
Run the built-in connection test, sync your first 10 records, and schedule the recurring cron. Contact support if anything fails.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Field-level old-vs-new value capture on any model | Full diff (old and new value) on every tracked field | Possible but you design and test the diff logic yourself | Varies; many log only that a field changed, not both values | |
| Coverage of read/delete and custom methods | create, read, write, unlink plus nominated custom methods | Whatever you build and maintain | Usually create/write/unlink; read-logging rare | |
| Scoped, configurable to control log volume | Per-model, per-field, per-operation, per-domain rules from day one | Achievable with in-house effort | Often all-or-nothing per model | |
| Access control over the audit log itself | ir.model.access.csv + record rules; users can't alter their own entries | You must implement and verify the security model | Basic group restriction; depth varies | |
| Compliance export (PDF + XLSX/CSV) in auditor format | QWeb PDF report + one-click export formatted to your auditor's needs | Build your own report and export | Export sometimes present, rarely tailored | |
| Retention / auto-purge of old entries | Scheduled cron archive/purge on your approved timeline | You schedule and test the cron yourself | Occasionally offered | |
| Fit to your exact models and edge cases | Built and installed for your database by ECOSIRE | Fully bespoke but all effort and risk on you | Generic; you adapt your process to the app | |
| Delivery model | Build-to-order: scoped, built, installed, trained, supported (2-4 wks) | Your team's timeline and resourcing | Instant download, self-install, self-support | |
| Odoo version coverage | Tested and delivered for Odoo 17, 18 and 19 | You port and re-test each version | Version support varies per listing |
This is a build-to-order module, not an instant download. After purchase we run a short scoping call to confirm which models, fields and operations you need tracked, then build, test and install it on your environments. Typical delivery is 2 to 4 weeks, depending on how many models and edge cases are in scope. Simple single-model trails land at the faster end; broad multi-model coverage with read-logging and custom retention sits toward 4 weeks.
Every build ships with a defined post-go-live support and bug-fix window. During that window we fix any defect in the delivered module at no extra charge. We also keep the module compatible across Odoo 17, 18 and 19 point releases; when you upgrade Odoo we validate and, if needed, adjust the module. Longer-term maintenance and enhancement retainers are available if you want ongoing coverage beyond the initial window.
That is exactly why this is scoped and configurable rather than a blunt log-everything switch. You choose which models, fields and operations are tracked, and we add domain filters and field exclusions to limit volume. Audit entries live in dedicated, indexed models kept separate from your business tables, and scheduled archive/purge rules roll off old data on a timeline you approve — so the trail stays complete without dragging on performance.
Yes. On every tracked write the module stores a per-field diff — the prior value and the new value — along with the user, timestamp and source. So instead of a generic 'record updated' note you get, for example, 'list_price changed from 149.00 to 199.00 by Jane via web UI on 14 Mar 14:32'. Create events record the initial values and delete events record the final state before removal.
It works on both. The module is built on standard ORM interception, ir.model.access.csv security, record rules, XML/OWL views and QWeb reports — all available in Community and Enterprise. We deliver and test it against your specific edition and version (17, 18 or 19). If you use Enterprise-only models, we track those too as part of the agreed scope.
Yes. Alongside the in-app list, form and pivot views with per-user and per-model filters, the module includes a QWeb PDF audit report and one-click XLSX/CSV export. We format the export to match what your external auditor expects, so handing over a filtered, date-bounded trail is a one-click job rather than a manual database extract.
Log every create, read, write and delete on any Odoo model with old/new field values for full, exportable traceability.