Tuesday, April 7, 2026
8 changes · saas-18.3
Enhancements to existing features
This update adds labels to cash basis journal entries to clearly identify the original documents that triggered them. This improves traceability and simplifies reconciliation processes within the accounting system. The change enhances clarity and auditability for financial reporting.
Original PR description
To have a more explicit reference from which documents a cash basis base line was created, now we put the name of the two journal entries that triggered the caba. target: 18.0 -> master Task [link](https://www.odoo.com/odoo/project.task/5883344) task-5883344 Forward-Port-Of: odoo/odoo#257019 Forward-Port-Of: odoo/odoo#246610
Resolved issues and error corrections
This update fixes an issue where the table toolbar wasn't appearing correctly when selecting columns in a table. Specifically, it ensures the toolbar aligns with the actively selected cells, providing a more intuitive user experience. This enhancement improves the usability of the HTML editor within Odoo.
Original PR description
**Current behavior before PR:** Steps to reproduce: - Create a 3 x 3 table. - Select 3rd column and wait for toolbar. Currently, the toolbar is positioned at the start of the table even when the last column is selected. This happens because selecting cells in the 3rd column creates a DOM selection range that starts at the first cell and ends at the last cell of the column, traversing all intermediate elements. As a result, browser's range rectangle does not match the actual custom-selection rect. **Desired behavior after PR is merged:** Now, Toolbar is positioned correctly above the custom selected cells. task-5935587 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#257608 Forward-Port-Of: odoo/odoo#248964
This update fixes a misleading error message users saw when trying to edit property fields without a parent category. The message has been changed to a clearer instruction: "Oops! A <parentFieldLabel> is needed to add property fields." This improves usability and guides users correctly.
Original PR description
Issue: ------------------------------------------ - When using property fields (e.g., products where categories are optional), users trying to edit properties without a parent document receive a…
Issue: ------------------------------------------ - When using property fields (e.g., products where categories are optional), users trying to edit properties without a parent document receive a broken warning: "Oops! You cannot edit the Category 'undefined'." - This message is misleading and does not explain the actual dependency. How to reproduce: ------------------------------------------ 1. Create or edit a record (e.g., product) without setting its parent (e.g., category). 2. Click the cog menu and select "Edit Properties". Cause of the issue: ------------------------------------------ - In the `PROPERTY_FIELD:EDIT` bus handler, when `definitionRecordId` is missing, `checkDefinitionWriteAccess` returns `false`, which then calls `_getPropertyEditWarningText`. That method accesses `false[1]` on the unset field, resulting in "undefined" in the warning message. Solution: ------------------------------------------ - Added a check in `_getPropertyEditWarningText` to return an appropriate message when `definitionRecordId` is missing: "Oops! A `<parentFieldLabel>` is needed to add property fields." task-4589393 Forward-Port-Of: odoo/odoo#205107
This update resolves an issue where the width of avatar names was incorrectly set to zero, causing display problems. The fix ensures that avatar names are displayed at their intended size, improving the visual consistency of user profiles and communications within Odoo.
Original PR description
This commit fix the width of the displayName option of the Avatar component which was fixed to zero (bootstrap class 'w-0') Task-5122979
This update fixes several issues within the odoo spreadsheet library, improving its reliability and functionality. Specifically, it addresses date formatting problems, enhances error handling, and modernizes the testing environment. These changes ensure a smoother and more accurate spreadsheet experience for users.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/b5e1d35c57 [REL] 18.3.41 [Task: 0](https://www.odoo.com/odoo/2328/tasks/0)…
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/b5e1d35c57 [REL] 18.3.41 [Task: 0](https://www.odoo.com/odoo/2328/tasks/0) https://github.com/odoo/o-spreadsheet/commit/c8e3f24c0a [FIX] Grid: hide the table resizer in readonly mode [Task: 6054035](https://www.odoo.com/odoo/2328/tasks/6054035) https://github.com/odoo/o-spreadsheet/commit/5911d26f6c [FIX] formats: bypass date format for invalid dates [Task: 6032998](https://www.odoo.com/odoo/2328/tasks/6032998) https://github.com/odoo/o-spreadsheet/commit/b863739c61 [FIX] Formats: properly format dates with 3 year digits [Task: 6032998](https://www.odoo.com/odoo/2328/tasks/6032998) https://github.com/odoo/o-spreadsheet/commit/d0bf86df89 [FIX] package: update types/jest to match jest version [Task: 6092447](https://www.odoo.com/odoo/2328/tasks/6092447) https://github.com/odoo/o-spreadsheet/commit/cb4d3a2177 [FIX] tests: add missing tsconfig.json [Task: 0](https://www.odoo.com/odoo/2328/tasks/0) https://github.com/odoo/o-spreadsheet/commit/49ee6ba090 [FIX] config: move to ESM release tool [Task: sotg](https://www.odoo.com/odoo/2328/tasks/sotg) https://github.com/odoo/o-spreadsheet/commit/f08865bf8e [IMP] Errors: Add error origin position for #SPILL errors [Task: 5959985](https://www.odoo.com/odoo/2328/tasks/5959985) 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>
The session reports generated from Point of Sale orders with decimal quantities were displaying excessive decimal places. This update rounds the final totals to two decimal places, ensuring accurate reporting of sales data. This improves the clarity and reliability of sales reports.
Original PR description
When selling a lot of product with different quantities (quantities with decimals) the session report total by category might have a lot of decimals instead of 2. Steps to reproduce: ------------------- * Open PoS * Make an order with a lot of product and modify the quantities to have random values with decimals * Close the session * Generate the session report > Observation: The total qty by category has a lot of decimals instead of the 2 expected. The same error also happens for the total price Why the fix: ------------ We round each value with their respective precision to make sure we don't have 15 decimals. opw-6039016 Forward-Port-Of: odoo/odoo#256038
This update resolves issues causing unreliable test results in the HTML editor's testing framework. By ensuring tests wait for the editor's full initialization, the tests are now more consistent and predictable, reducing the risk of false failures. This improves the overall stability of the HTML editor module.
Original PR description
See individual commits.
This update adds a required field to Milestone actions to ensure the Odoo database remains stable during upgrades. The change addresses a technical constraint within the Odoo database structure that prevents both an action ID and a custom Python method from being defined simultaneously. This ensures smooth database updates and prevents potential issues.
Original PR description
Add an empty `python_method` field to the Milestones embedded actions. This is necessary to satisfy the `_check_only_one_action_defined` constraint during database upgrades. The `ir.embedded.actions` model enforces an XOR constraint between `action_id` and `python_method`, preventing both fields from being set simultaneously. Related PR: https://github.com/odoo/odoo/pull/254102 task-5993183