Monday, December 15, 2025
14 changes · saas-18.4
New functionality added to Odoo
This update adds a crucial link to documentation for Pinelabs payment terminals within the Odoo Point of Sale settings. This ensures that users can easily find the information they need to properly configure and utilize Pinelabs payment processing, improving operational efficiency and reducing potential support requests.
Original PR description
In this commit: =============== - We have added a missing documentation link in the settings for the Pinelabs payment terminals. Task: 5407021
Resolved issues and error corrections
This update resolves a potential error that occurred when creating invoices with zero amounts in a different currency (CL). The fix prevents a division-by-zero error during currency calculations, ensuring invoices can be confirmed reliably. This improves the stability of the CL accounting module.
Original PR description
Steps to reproduce:
--------------------
1. Install l10n_cl and switch to the CL company
2. Create a new invoice:
- Change the currency to a value different from the company currency
(e.g., from CLP to USD)
- Add an invoice line with a price value of 0
- Remove the default tax value
3. Try to confirm the invoice
Issue:
------
A traceback occurs:
`ZeroDivisionError: float division by zero`
Cause:
------
Since the price value is 0, the `amount_total` of the move becomes 0.
When computing the currency rate, it tries to divides by `amount_total`, resulting in a ZeroDivisionError.
Solution:
---------
Add a conditional check before division to ensure the `amount_total` is non-zero
Related enterprise PR: https://github.com/odoo/enterprise/pull/99518
opw-5247058
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#239247
Forward-Port-Of: odoo/odoo#235252Documentation and clarification updates
This pull request updates the legal agreement for contributions from Jaco Waes of jaco-tech. It establishes the terms under which jaco-tech's code can be incorporated into the Odoo project. This ensures proper licensing and compliance for all contributed code.
Original PR description
Corporate Contributor License Agreement for jaco-tech. This CLA covers contributions from: - Jaco Waes (@jwaes) Forward-Port-Of: odoo/odoo#239516
This update fixes a potential error that could prevent invoices from being confirmed when specific currency and pricing settings are used. The fix adds a check to ensure invoice amounts are non-zero before calculations, preventing a division-by-zero error and improving invoice processing stability. This ensures invoices can be correctly processed, particularly when dealing with different currencies.
Original PR description
Steps to reproduce: -------------------- 1. Install l10n_cl and switch to the CL company 2. Create a new invoice: - Change the currency to a value different from the company currency (e.g., from CLP to USD) - Add an invoice line with a price value of 0 - Remove the default tax value 3. Try to confirm the invoice Issue: ------ A traceback occurs: `ZeroDivisionError: float division by zero` Cause: ------ Since the price value is 0, the `amount_total` of the move becomes 0. When computing the currency rate, it tries to divides by `amount_total`, resulting in a ZeroDivisionError. Solution: --------- Add a conditional check before division to ensure the `amount_total` is non-zero Related community PR: https://github.com/odoo/odoo/pull/235252 opw-5247058 Forward-Port-Of: odoo/enterprise#101695 Forward-Port-Of: odoo/enterprise#99518
This update corrects a recent change during the forward port process. The automatic recalculation of the 'checked' status for bank statements was unintentionally removed. Reintroducing this functionality ensures accurate tracking of statement processing and prevents potential discrepancies in financial reporting.
Original PR description
During the forward port of: https://github.com/odoo/enterprise/pull/94552 the recompute of the checked field was removed. It needs to be added back no task id
This update removes messages indicating the POS system's certification status. Currently, the POS is only certified by the LNE in version 18.0, and this change ensures users don't see outdated information until a higher certified version is released. This simplifies the user experience and avoids potential confusion.
Original PR description
The POS in only certified by the LNE in version 18.0. Until such time that we receive the certification in a higher version, we will disable the certification status messages. task-5386904 Forward-Port-Of: odoo/enterprise#102028
This update resolves a technical issue preventing stable IoT Box users from receiving correct websocket responses. A recent change removed a key data element, causing the controller to incorrectly search for session IDs. This fix ensures proper websocket communication for our IoT Box deployments.
Original PR description
In odoo/odoo#237586 we removed the `action_args` dict in the action response. As a result, websocket responses are ignored when using a stable IoT Box: the controller looked for `session_id` in `action_args`. Forward-Port-Of: odoo/enterprise#102044
This update resolves an issue where users didn't receive notifications when attempting to create timesheets for weekend shifts in calendar mode. The fix ensures that a notification is displayed when a shift isn't created, improving the user experience and preventing missed time tracking. This ensures accurate time reporting.
Original PR description
Steps to reproduce: - Open Timesheets and navigate to calendar mode (My Timesheets). - Click on weekend cell and no shift is created and no notification or explanation is given Issue: - No issue explanation why timesheets were not created. Fix: - Check if we have skipped creating record because we have no timesheets and raise the notification accordingly task-5076642
This update fixes an issue where users experienced confusing and unresponsive reordering of newsletter popup snippets. Now, only the relevant arrow (up or down) is displayed, and movement works correctly with a single click, improving the user experience when managing these snippets.
Original PR description
**Issue:** When editing a newsletter popup snippet, users could see both up and down reorder arrows, even when only one The direction made sense. Clicking the move up arrow did nothing, and moving the block down required clicking the move down arrow twice, which felt unresponsive. **Steps to reproduce the issue:** 1. Drag and drop a newsletter popup snippet 2. Click on the blank region above the center text in the snippet 3. You will see both up and down reorder arrows; nothing will happen on clicking the up arrow 4. You need to click on the down arrow twice to move the block down. **Fix:** Now, only the valid reorder arrow (up or down) is shown based on the block's position. Movement works as expected with a single click. task-[5016731](https://www.odoo.com/odoo/project/974/tasks/5016731)
This update to the spreadsheet component addresses several technical improvements and bug fixes. It includes optimizations for performance and resolves issues related to conditional formatting previews and focus changes. This ensures a smoother and more reliable spreadsheet experience within Odoo.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/580cb257f2 [REL] 18.4.20 [Task: 0](https://www.odoo.com/odoo/2328/tasks/0)…
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/580cb257f2 [REL] 18.4.20 [Task: 0](https://www.odoo.com/odoo/2328/tasks/0) https://github.com/odoo/o-spreadsheet/commit/b95f7ec021 [FIX] CorePlugins: Prevent dispatch during adaptRange [Task: 5380747](https://www.odoo.com/odoo/2328/tasks/5380747) https://github.com/odoo/o-spreadsheet/commit/d137668dfa [PERF] evaluation: cached dynamic dependencies [Task: 5407156](https://www.odoo.com/odoo/2328/tasks/5407156) https://github.com/odoo/o-spreadsheet/commit/86b6138e72 [FIX] cf: conditional formatting preview is truncated for nothing [Task: 5344000](https://www.odoo.com/odoo/2328/tasks/5344000) https://github.com/odoo/o-spreadsheet/commit/5ff759e9f5 [FIX] Package: ensure we ship style sheets in releases [Task: 0](https://www.odoo.com/odoo/2328/tasks/0) https://github.com/odoo/o-spreadsheet/commit/fc767dfac6 [FIX] figure: wrong focus change on figure unmount [Task: 5154025](https://www.odoo.com/odoo/2328/tasks/5154025) Co-authored-by: Florian Damhaut (flda) <flda@odoo.com> Co-authored-by: Anthony Hendrickx (anhe) <anhe@odoo.com> Co-authored-by: Alexis Lacroix (laa) <laa@odoo.com> Co-authored-by: Lucas Lefèvre (lul) <lul@odoo.com> Co-authored-by: Adrien Minne (adrm) <adrm@odoo.com> Co-authored-by: Ronak Mukeshbhai Bharadiya (rmbh) <rmbh@odoo.com> Co-authored-by: Dhrutik Patel (dhrp) <dhrp@odoo.com> Co-authored-by: Rémi Rahir (rar) <rar@odoo.com> Co-authored-by: Pierre Rousseau (pro) <pro@odoo.com> Co-authored-by: Vincent Schippefilt (vsc) <vsc@odoo.com> Co-authored-by: Marceline Thomas (matho) <matho@odoo.com>
This update resolves a minor visual glitch where the caret (cursor) within the record selector component was causing unexpected changes to the input field's width. This ensures a consistent and properly sized user interface for selecting records, improving the overall user experience.
Original PR description
This commit fixes an issue where, when visible, the caret of the record selector component would take space and thus change the width of the input. Task: [5354466](https://www.odoo.com/odoo/project/133/tasks/5354466) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#237054
This update corrects a technical issue where the text displayed in a confirmation window within the mass mailing module was not included in the translation files. This meant the text "Ready to unleash emails?" was not available for translation into other languages. The fix ensures this text is properly added to the translation files, allowing it to be translated and displayed correctly in the user interface for all supported languages.
Original PR description
Description of the issue/feature this PR addresses: The texts from the "confirm-title" attribute of a tag are missing from the POT files. Current behavior before PR: In this line there is a text (the caption of the confirmation window): https://github.com/odoo/odoo/blob/19.0/addons/mass_mailing/views/mailing_mailing_views.xml#L66 "Ready to unleash emails?" - This text is missing from the POT file. Desired behavior after PR is merged: * These texts will apeear in POT files * Someone needs to translated them * It will show up as translated texts in UI --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#239328 Forward-Port-Of: odoo/odoo#239034
This update resolves an issue where the 'Matching Existing Entries' tab wasn't displaying correctly when users accessed branch accounting data. The problem stemmed from a restriction in account access; the system couldn't retrieve relevant accounts due to the user's limited permissions. This ensures branch reconciliation functionality works as expected for users with branch access.
Original PR description
**Steps to reproduce:** - Install Accounting - Create a branch company - Switch to the branch - Create a Bank journal for the branch - Create a Sales journal for the branch (You can duplicate the journals from the parent company) - Make sure that the accounts configured on the journals are linked the branch - Grant only access to the branch to a user - Connect with that user - Create an invoice - In the bank journal, create a statement line matching the amount of the invoice - Select the statement line **Issue:** In the "Matching Existing Entries" tab, there is no entry. **Cause:** When retrieving the accounts required for the domain to fetch these entries, no account can be retrieved because the user doesn't have access to the parent company. opw-5181909 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#239281
This update ensures Odoo services restart reliably on IoT Boxes by correctly configuring threads as 'daemons'. Previously, thread settings were not consistently applied, leading to potential issues upon service restarts. This change enhances the stability and reliability of the Odoo service on this device.
Original PR description
To ensure all threads are killed when we restart the Odoo service on the IoT Box, we need to ensure they all have the `daemon=True`. Some already had the property set, but in the sub class attributes, so it was not properly taken into account. Task: 5410736 Forward-Port-Of: odoo/odoo#239873