When tracking Json fields an error pops in v19

Open Beginner friendly
#3,796 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

@xecanto is already working on this.

Since Oct 22, 2026.

  • #3801 by @xecanto — open

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
75/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
python
Domain
backend

Research direction

Start in the tracking_manager module, especially models/mail_tracking_value.py, which appears in the traceback. Read how automatic configuration selects fields and check whether it excludes unsupported field types; reproduce by enabling custom tracking and automatic configuration, then updating a partner after Peppol validation. Done means JSON fields are omitted from automatic tracking and the reported error no longer occurs.

Written by the indexing model from the issue text.

Description

bug

Module

tracking_manager

Describe the bug

When tracking fields with type json errors popup:
Odoo Server Error

Occured on https://*********** on model account.move on 2026-10-20 07:57:48 GMT

Traceback (most recent call last):
File "/opt/odoo/odoo/odoo/http.py", line 2329, in _serve_db
return service_model.retrying(serve_func, env=self.env)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/odoo/odoo/odoo/service/model.py", line 190, in retrying
env.cr.flush() # submit the changes to the database
~~~~~~~~~~~~^^
File "/opt/odoo/odoo/odoo/sql_db.py", line 185, in flush
self.precommit.run()
~~~~~~~~~~~~~~~~~~^^
File "/opt/odoo/odoo/odoo/tools/misc.py", line 1175, in run
func()
~~~~^^
File "/opt/odoo/odoo/addons/mail/models/mail_thread.py", line 578, in _track_finalize
tracking = records.with_context(context)._message_track(fnames, initial_values)
File "/opt/odoo/odoo/addons/mail/models/mail_thread.py", line 664, in _message_track
tracking[record.id] = record._mail_track(tracked_fields, initial_values_dict[record.id])
~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/odoo/odoo/addons/mail/models/models.py", line 281, in _mail_track
[0, 0, self.env['mail.tracking.value']._create_tracking_values(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
initial_value, new_value,
^^^^^^^^^^^^^^^^^^^^^^^^^
col_name, tracked_fields[col_name],
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
self
^^^^
)])
^
File "/opt/odoo/addons-extra/tracking_manager/models/mail_tracking_value.py", line 15, in _create_tracking_values
return super()._create_tracking_values(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
initial_value, new_value, col_name, col_info, record
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/opt/odoo/odoo/addons/mail/models/mail_tracking_value.py", line 172, in _create_tracking_values
raise NotImplementedError(f'Unsupported tracking on field {field.name} (type {col_info["type"]}')
NotImplementedError: Unsupported tracking on field peppol_supported_documents (type json

The above server error caused the following client error:
RPC_ERROR: Odoo Server Error
RPC_ERROR
at makeErrorFromResponse (https:///web/assets/ed3b348/web.assets_web.min.js:3203:165)
at XMLHttpRequest. (https://
/web/assets/ed3b348/web.assets_web.min.js:3210:13)

To Reproduce

Affected versions:

Steps to reproduce the behavior:
(odoo enterprise, we are using peppol in belgium)

  1. go tot seettings-technical model, choose model res.partner
  2. custom tracking active
  3. automatic configuration on, update
  4. I did a peppol validation of the customer, which updates fields such as "available_peppol_edi_formats", "available_peppol_eas"

Expected behavior
Automatic config should not propose fields of type json
It should add "("ttype", "!=", "json")"

Additional context
Add any other context about the problem here. (e.g. OS, Python version, ...)

Dominant language
Python
Stars
960
Forks
1.7k
Avg merge
5d 23h
Merged PRs (30d)
15

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from OCA/server-tools

All issues in OCA/server-tools

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.