Skip to Content

Odoo 20 moves field tracking into a new module.

Put the mail_tracking module on your Odoo 20 go-live list. Here's why.

Odoo 20 moves field tracking into a new module.


After an upgrade, check whether it should be installed.

So put the mail_tracking module on your Odoo 20 go-live list. Here's why.


While migrating Nova Forms to Odoo 20, AI development & migration skills spotted it: 

The model mail.tracking.value has moved out of mail into a brand  new m​​od​​ule →  mail_tracking 


🔗 From the GitHub commit.

Moved the `mail.tracking.value` model to a dedicated module for better separation of concerns. 
- Makes tracking optional, modular, and easier to maintain. 
- Existing mail functionality remains unaffected. 
- Reduces database size for systems that do not require tracking.


The tracking= attributes are still set on the fields, all over the standard modules. Nothing breaks. However ...

  • mail_tracking is not installed by default.
  • No auto_install. So the chatter may still log that something happened, but the old → new values are no longer stored anywhere.


That's on a fresh Odoo 20 database.

Whether the official Odoo upgrade installs mail_tracking for databases that already carry tracking history, I don't know yet (those upgrade scripts aren't public).


I'm curious how this evolves. Until now it seems all or nothing, per database.

Because what I'd expect next is configurable tracking: rules per model, eg defined by a domain.

  • Track res.partner only for customers and vendors.
  • Track account.move only once it's posted.


It seems a decisive move. Lean core, opt-in audit trail.


But when your database requires compliance, or your users simply expect to see who changed what, this one matters.


Put mail_tracking on your Odoo 20 migration and go-live list.​

Rich Text field
A field people can actually write. Rich text features you configure per field.