Skip to content
DevMarket
Odoo ModulesWordPress PluginsWordPress ThemesShopify ThemesApp TemplatesScripts & UtilitiesBlogSell on DevMarket

Audit Log for Odoo 19 documentation

A guide to the audit log: choosing what to audit, reading the logs and the history of a record, access rights, clean-up and the limits.

Documents version 1.0.0Updated Oct 23, 2026

Start here

In plain words: Somebody changed the price, the customer's address, or deleted a record, and nobody knows who or when. Odoo's chatter tracks only a few fields and cannot track deletions. Audit Log records every creation, change and deletion of the models you choose, with who did it, when, from which IP address, and the old and the new value of each field.
The list of changes, the old and new value of a change, and the history of one record.
The list of changes, the old and new value of a change, and the history of one record.
Tip: The logs are read only. Nobody, not even an administrator, can edit or delete them from the interface; they are removed only by the clean-up of old logs, if you set one.

What you get

FeatureWhat it does
Audit rulesChoose the models to audit and what to log: creations, changes, deletions.
Old and new valueEvery changed field with its value before and after.
Who, when, whereThe user, the date and time, the company and the IP address of the request.
DeletionsA deleted record is logged with all its fields, so you can see what was lost.
Audit historyAn Audit history entry in the Action menu of every audited form and list.
Narrow it downLog only some fields, ignore noisy fields, ignore a user such as an integration.
SafePasswords, keys and technical fields are never logged. A log failure never blocks the operation.
Clean-upDelete the logs older than a number of days, every day.
ArabicEverything is translated and works right to left.

Requirements

ItemDetails
Odoo19.0 (Community or Enterprise)
Apps neededNone beyond the Odoo base (base, mail)
LicenseOPL-1 (Odoo Proprietary License v1.0)

Install

  1. Unzip the package. Inside is taqnix_audit_log.zip; unzip it to get the folder taqnix_audit_log.
  2. Copy the folder into one of the addons_path folders of your Odoo server and restart Odoo.
  3. Log in as an administrator, activate Developer mode, open Apps and press Update Apps List.
  4. Remove the “Apps” filter, search Audit Log and press Install.
# or from the command line
./odoo-bin -c odoo.conf -d YOUR_DATABASE -i taqnix_audit_log --stop-after-init

Choose what to audit

In plain words: Open Settings → Audit Log → Audit Rules. Press Add the usual models to audit sales orders, purchase orders, journal entries, contacts, products, transfers, users, employees, leads and tasks (those that are installed), or press New to choose a model yourself.
One rule per model, with the number of logs it produced.
One rule per model, with the number of logs it produced.
A rule: what to log, and how to narrow it down.
A rule: what to log, and how to narrow it down.
FieldMeaning
ModelThe model to audit. The audit log itself and transient models cannot be audited.
Log creations / changes / deletionsTick what you want to record.
Only these fieldsEmpty: every stored field. Choose fields to log only those.
Ignored fieldsFields never logged for this model, for example a computed counter.
Ignored usersChanges made by these users are not logged, for example an integration user.
ActiveSwitch a rule off without deleting it.

Read the logs

In plain words: Settings → Audit Log → Audit Logs lists every operation: date, user, operation, model, record, number of fields and IP address. Creations are green, deletions red. Filter by operation, by today or the last 7 days, group by user or model, or search a record name.
Every change, with the user and the IP address.
Every change, with the user and the IP address.
In plain words: Open a log to see each field with its old value and new value. For a deletion you see the values the record had.
A price changed from 289 to 329 and a product renamed.
A price changed from 289 to 329 and a product renamed.

History of one record

In plain words: Once a model is audited, every one of its forms and lists has Action → Audit history. It opens the logs of that record only (or of the records you selected in the list).
The Audit history entry in the Action menu of a contact.
The Audit history entry in the Action menu of a contact.
The three changes made to one contact, by three users.
The three changes made to one contact, by three users.
Tip: The chatter shows the fields tracked by that model and only some of them. The audit log covers every stored field and also deletions.

Who can read the logs

GroupCan
Audit Log: AuditorRead the audit logs. Administrators are auditors automatically.
AdministratorRead the logs, manage the audit rules and the settings.
In plain words: Add a user to the Auditor group (Settings → Users) to let a manager read the logs without making them an administrator.

Settings and clean-up

In plain words: Settings → Audit Log.
The shortcut to the rules and the number of days to keep the logs.
The shortcut to the rules and the number of days to keep the logs.
SettingWhat it does
Keep the logs for (days)A daily job deletes the logs older than this. 0 keeps them for ever.
Audit rulesA shortcut to the list of rules.
Important: Logs can grow quickly on busy models such as journal entries. Choose the models you really need and set a number of days.

Arabic and right to left

The audit logs in an Arabic interface.
The audit logs in an Arabic interface.
In plain words: Labels and menus are translated. The record names and the field values are shown as they were stored.

Limits

LimitDetail
Only the Odoo ORMChanges made with the ORM (screens, imports, RPC, code) are logged. Direct SQL changes are not.
Stored fieldsComputed fields that are not stored are not logged.
Binary and large valuesImages and files are not logged; long texts are shortened.
Not tamper-proof against the databaseLogs cannot be changed from Odoo, but someone with access to the database can edit it.
Disk spaceOne row per change. Use the clean-up setting.

For developers

In plain words: Skip this chapter if you only use the module.
ItemDetails
Modelstaqnix.audit.rule, taqnix.audit.log and taqnix.audit.log.line.
HookThe module extends base: create, write and unlink check one cached rule per model.
SkipPass tx_no_audit=True in the context to skip the log, for example in a mass migration.
env['taqnix.audit.rule'].create({'model_id': env['ir.model']._get_id('sale.order')})

# a migration that must not be logged
records.with_context(tx_no_audit=True).write({'state': 'done'})

# the logs of a record
env['taqnix.audit.log'].search([('model_name', '=', 'sale.order'), ('res_id', '=', order.id)])

Troubleshooting

ProblemWhat to do
Nothing is loggedCheck that the rule exists, is active, and that the operation (create, change, delete) is ticked. A listed ignored user or ignored field is skipped.
I do not see the Audit Log menuYou need the Auditor group, or to be an administrator.
“This model is already audited”A model has one rule. Edit it instead of creating another.
“Audit logs cannot be deleted”This is by design. Use Keep the logs for (days) to remove old logs.
The Audit history entry is missingIt appears when a rule exists for the model; reload the page.

Updating and removing

Replace the folder with the new version, restart Odoo and run -u taqnix_audit_log. Rules and logs are kept. Removing the module deletes its rules and logs.

Support

Installation help and bug fixes are included for 6 months, with lifetime updates. Contact us through the marketplace page where you bought the module or write to support@taqnix.com with your Odoo version and a screenshot.