When tracking Json fields an error pops in v19
Maintainers usually reply within 1 day
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 75/100
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
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)
- go tot seettings-technical model, choose model res.partner
- custom tracking active
- automatic configuration on, update
- 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
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from OCA/server-tools
-
dataclasses and python > 3.7Possibly taken A pull request linked to this issue is open or already merged. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
OCA/server-tools#3859 ·
Maintainers usually reply within 1 day
-
[18.0] base_exception: swallow_base_exception_error never runs the decorated testPossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
OCA/server-tools#3784 · 1 comment ·
Maintainers usually reply within 1 day
-
[17.0] auto_backup: Cron: Database backup failed, UnicodeDecodeError: utf-8 codec can't decode byte 0x8b in position 690: invalid start bytePossibly taken @xecanto claimed this 33 days ago. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
OCA/server-tools#3768 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 65/100
OCA/server-tools#3368 · 1 comment ·
Maintainers usually reply within 1 day
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 72/100
OCA/server-tools#3139 · 1 comment ·
Maintainers usually reply within 1 day
All issues in OCA/server-tools
Similar issues
-
plot_graph crashes when a mesh node has no m2m edgePossibly taken @tygvi claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
mllam/neural-lam#883 · 1 comment ·
Maintainers usually reply within 2 days
-
enhancement possible-duplicate
Difficulty 1/5 1-3 hours Newbie friendliness 78/100
AOSSIE-Org/PictoPy#1715 · 2 comments ·
Maintainers usually reply within 6 days
-
SQLite connector omits generated columns from the catalog, and drops relationships sourced on themOpen
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
NVIDIA/auto-ontology#511 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
ethereum/execution-specs#3996 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
cpp-best-practices/project_validator#267 ·
Maintainers usually reply within 1 day