Daily updates from Odoo
Wednesday, June 18, 2025
7 changes · saas-18.3
Resolved issues and error corrections
This fix corrects spacing problems in the Map settings page that appeared after changes to search result highlighting. Users will see a cleaner, more consistent layout when configuring map-related options.
Original PR description
Since https://github.com/odoo/odoo/pull/205922, the highlighting system for settings search results was changed and although undesired tags are removed with https://github.com/odoo/odoo/pull/211832, there are still spacing issues that are addressed here.
This fixes a communication issue with the Belgian POS blackbox where repeated status messages could interfere with later requests. It improves reliability for certified point-of-sale operations by ensuring the system receives the expected device response instead of stale status information.
Original PR description
We did not send an `ACK` after asking for blackbox status, leading in BlackBox sending it again. This lead to situations where we sent requests to the BlackBox, and received the status instead of the actual response. In addition, the repeated status responses were missing the leading `ACK`, resulting in our log: `sent 1 NACKS without receiving response, giving up.` More, if we sent a command too soon to the BlackBox (before it finished instanciating), we were receiving its `certified ref` instead of the actual response, due to the `_push_status` method called from the `run` method of the BlackBox Driver parent class. This `run` method is now overridden by the BlackBox driver Task: 4750435
The reconciliation model suggestion logic now skips bank statement lines that lack a payment reference. This prevents unreliable matching data from being used, helping accounting teams get more accurate automated reconciliation behavior.
Original PR description
Commit 687e237 introduced auto-creation of reconciliation models based on user behavior, primarily analyzing the last 5 statement lines. However, it did not account for lines without a payment_ref. Since the payment_ref is used to build the matching key, we now restrict the logic to only fetch statement lines that have one. opw-4846098
The bank reconciliation search dialog now avoids loading every matching accounting line when it opens. This improves performance and responsiveness, especially for companies with large accounting datasets, while preserving the ability to calculate remaining amounts for selected lines.
Original PR description
Before this commit, when entering the search view dialog a searchRead was done to create a dict of displayed move line per id. This dict is useful to compute the residual amount when selecting a line. The problem is that we don't have any limit on the search which is bad perf wise. no task id
The website generator's scheduled task no longer crashes when it finishes and updates its own progress. This keeps automated website generation running reliably without manual intervention.
Original PR description
The website generator cron crashed when trying to deactivate itself due to crons no longer being able to modify themselves. Now use _commit_progress() instead and check only in the cron and not during write()
The VoIP transfer screen now has a better-aligned back button and more consistent small transfer buttons. This improves the call transfer experience by making the interface cleaner and easier to scan.
Original PR description
This commit fixes the alignment of the "back" button of the transfer view. It also removes the label from small "Transfer" buttons to remain consistent with the other buttons of the same type. task-4875960 | Before | After | |--------|--------| |  |  | |  |  |
Bank reconciliation no longer fails when Odoo tries to automatically create a reconciliation rule and cannot find a shared text pattern in previous payments. This prevents an RPC error and lets users continue assigning expense accounts without interruption.
Original PR description
When we set an expense account in Bank reconciliation, we get a RPC error followed by a traceback In this commit we fix the following trackback when there is no common substring is matched Traceback-…
When we set an expense account in Bank reconciliation, we get a RPC
error followed by a traceback
In this commit we fix the following trackback when there is no common substring is matched
Traceback-
```py
Traceback (most recent call last):
File "/home/odoo/src/odoo/saas-18.3/odoo/http.py", line 2167, in _transactioning
return service_model.retrying(func, env=self.env)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/odoo/src/odoo/saas-18.3/odoo/service/model.py", line 165, in retrying
result = func()
^^^^^^
File "/home/odoo/src/odoo/saas-18.3/odoo/http.py", line 2134, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/odoo/src/odoo/saas-18.3/odoo/http.py", line 2396, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/odoo/src/odoo/saas-18.3/odoo/addons/base/models/ir_http.py", line 349, in _dispatch
result = endpoint(**request.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/odoo/src/odoo/saas-18.3/odoo/http.py", line 758, in route_wrapper
result = endpoint(self, *args, **params_ok)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/odoo/src/odoo/saas-18.3/addons/web/controllers/dataset.py", line 32, in call_kw
return call_kw(request.env[model], method, args, kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/odoo/src/odoo/saas-18.3/odoo/service/model.py", line 84, in call_kw
result = method(recs, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/odoo/src/enterprise/saas-18.3/account_accountant/models/account_bank_statement.py", line 617, in set_account_bank_statement_line
new_rule = self._check_and_create_reconciliation_rule(account_id, self.env.company.id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/odoo/src/enterprise/saas-18.3/account_accountant/models/account_bank_statement.py", line 660, in _check_and_create_reconciliation_rule
rule_data = self._prepare_reconciliation_rule_data(previous_statement_lines, account_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/odoo/src/enterprise/saas-18.3/account_accountant/models/account_bank_statement.py", line 676, in _prepare_reconciliation_rule_data
common_substring = self._get_common_substring(payment_refs).strip()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'strip'
```