Monday, September 15, 2025
8 changes · master
Enhancements to existing features
The Argentina electronic invoicing test certificates were refreshed so Odoo can keep connecting to ARCA's testing services. This prevents test failures caused by expired digital certificates and keeps validation workflows running smoothly.
Original PR description
Homologation certificates are required to connect Odoo with ARCA's test web services. When they expire, electronic invoicing tests fail, displaying a “Digital certificate expired” warning. In this PR, I'm updating the certificates so we can continue using the testing environment for our tests. Odoo Task 1359 Adhoc Task 57144 Forward-Port-Of: odoo/enterprise#94128
This update removes duplicate shortcuts in Belgian accounting add-ons and uses the standard accounting settings action instead. It also simplifies related bank statement source handling, reducing maintenance without changing day-to-day accounting workflows.
Original PR description
#### [IMP] l10n_be_{codabox,soda}: remove obsolete actions
Currently the modules `l10n_be_codabox` and `l10n_be_soda`
define their own actions to open the accounting settings.
Such an action exists already in `account`. So they can be removed.
To remove
- `l10n_be_codabox.action_open_accounting_settings`
- `l10n_be_soda.action_open_accounting_settings`
Use instead
- `account.action_account_config`
#### [IMP] account: remove `__get_bank_statements_available_sources`
The function `__get_bank_statements_available_sources` is pointless
and can just be replaced with `_get_bank_statements_available_sources`
(single underscore version).
See related community PR. (odoo/odoo/pull/226347)
#### References
task-NoneResolved issues and error corrections
Payslip simulations now use the normal default pay period instead of forcing the employee contract start date. This helps avoid errors when salary rule parameters are not available for older contract dates, making payroll simulations more dependable.
Original PR description
Issue: by specifying the payslip date_from to the contract date start when simulating a payslip, there was a risk that some salary rule had no parameter for that date. Solution: not specify the date and let the payslip compute the default dates, which will default to this month. Forward-Port-Of: odoo/enterprise#94601
This fixes an issue where state or government checks in an audit could not be turned off. Businesses can now manage audit checks as intended, reducing unnecessary review steps when those checks are not needed.
Original PR description
State/Governement checks inside an Audit couldn't be disabled. Forward-Port-Of: odoo/enterprise#94614
The Planning app now handles schedules grouped by multiple fields more safely. This prevents an error screen when users group planning data without choosing resource as the first grouping, making schedule review more reliable.
Original PR description
Steps to reproduce: - Open planning and use multi groupby. - Dont use resource as first groupby. Issue: - Traceback Reason: - When we multi-groupby each row has a id, and we try to extract resource id, but we dont get it undefined/open rows. - Missed proper error handling. Fix: - Add better error handling to prevent further traceback using optional chaining. task-5065999 Forward-Port-Of: odoo/enterprise#93922
The AI live chat snippet now handles cases where the standard live chat widget is not present, such as a new database without demo data or deleted live chat channels. This prevents website visitors from encountering an error when starting a chat with the AI agent.
Original PR description
Steps to reproduce: - Go to the livechat app. - Delete all the livechat channels. - Open the website app. - Click on edit -> Contacts & Forms and add the ai_livechat snippet. - Set the 'AI Agent' on the snippet and save. - Start chatting with the ai agent using the snippet. - An error occurs. This error will happen in any case such that the livechat isn't available. For example: - Deleting all the livechat channels. - Installing a fresh db without demo data. This will result in the element '.o-livechat-root' not appearing on the website. This causes the ai_livechat component to have an error when trying to hide that element. This commit fixes the issue by adding optional chaining before accessing the class list of the element '.o-livechat-root'. Forward-Port-Of: odoo/enterprise#94622
This fix makes the AI assistant more reliable when gathering information from discussion records. It prevents errors in cases where related conversation details are not available, helping users avoid interruptions.
Original PR description
This commit adds optional chaining to access thread properties in the getRecordInfo function. Forward-Port-Of: odoo/enterprise#94555
A display issue on account return cards has been corrected so users no longer see two "Reset" buttons. This reduces confusion when managing accounting and Intrastat returns and ensures the form shows the right action controls.
Original PR description
Two buttons "Reset" are shown in the card of an account return. This is due to the invisible attributes that wrongly computes the value. Indeed, it is not possible to write something like "type_id.is_intrastat_return_type" in an invisible condition, so we need to make a related field. Forward-Port-Of: odoo/enterprise#94393