Tuesday, April 7, 2026
8 changes · saas-18.4
Enhancements to existing features
Cash basis base journal items now show a clearer reference to the two journal entries that created them. This makes it easier for accounting users to trace cash basis entries back to the originating documents and understand how they were generated.
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#257795 Forward-Port-Of: odoo/odoo#246610
Resolved issues and error corrections
The website editor color picker now correctly previews gradient-based header color presets instead of showing a plain white background. This helps users see the actual design choice before applying it, reducing confusion while customizing pages.
Original PR description
Issue ----- When a colour preset that includes a gradient is applied to the header, the color picker preview shows a white background instead of the preset's gradient. Steps to reproduce ------------------ 1. Select any gradient for the given theme. 2. Apply the given theme to the header without selecting a custom colour or gradient. 3. The colour picker preview incorrectly displays a white background. Fix --- Use the correct CSS variable for the colour picker preview background so the applied colour combination gradient is displayed properly.
Website editors can now switch animation modes without losing access to the intensity slider for the selected effect. This keeps animation editing smoother and avoids extra reselecting steps when configuring page content.
Original PR description
Steps to reproduce: 1. Go to the website and enter edit mode. 2. Click any text in the footer. 3. Change the animation mode from _none_ to _on appearance._ 4. Select the _zoom out_ effect; the intensity slider is visible. 5. Change the animation mode to _on scroll_. Issue: The animation intensity slider is no longer visible. It only reappears after reselecting the same effect. Reason: The `apply` method of `SetAnimationModeAction` always adds the "**o_anim_fade_in**" class, even when an animation effect is already selected. When switching the animation mode, this additional class prevents the intensity slider from being displayed. task-5896549
Point of Sale session reports now round quantity and price totals correctly, avoiding long decimal values in category summaries. This makes reports easier to read and more reliable for end-of-session review.
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
Point of Sale order reports now calculate margins consistently in the company currency when a POS uses a different currency. This prevents overstated or misleading margin figures, helping businesses rely on accurate profitability reporting.
Original PR description
When making a pos order in a PoS that uses a different currency, the margin in the pos order report would not take the currency into account Steps to reproduce: ------------------- * Create a product with a price of 100€ and cost 0€ (margin = 100€) * Setup a PoS to use a different currency with a rate of 2 (so 1€=>0.5) * Create a PoS order for this product and validate it * Go to the pos order report and select the order you just made > Observation: The value of the margin is 200 expressed in the different currency, when the rest of the report is using the company currency. Why the fix: ------------ The currency was only applied on the product cost, we now apply it on the whole margin. opw-5927473 Forward-Port-Of: odoo/odoo#255344
The HTML editor now places the editing toolbar above the table cells a user actually selects, such as a full column. This removes confusion when working with tables because the toolbar no longer appears at the beginning of the table for selections elsewhere.
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#257779 Forward-Port-Of: odoo/odoo#248964
Users now see a clear explanation when they try to add or edit property fields before setting the required parent field, such as a product category. This replaces confusing or broken warnings with guidance that tells users what needs to be completed first.
Original PR description
Issue: ------------------------------------------ - When using property fields (e.g., products since 18.1 where categories are optional), users trying to add a property field without a parent…
Issue: ------------------------------------------ - When using property fields (e.g., products since 18.1 where categories are optional), users trying to add a property field without a parent document receive a generic warning: "You need edit access on the parent document to update these property fields". - 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. Try to add a property field. Cause of the issue: ------------------------------------------ - In `checkDefinitionWriteAccess`, when `definitionRecordId` is missing, the method returns `false`, triggering a generic access-rights warning. Solution: ------------------------------------------ - Added a check at the beginning of `onPropertyCreate` verify if `definitionRecordId` exists. - If missing, following error is raised using the parent field label: "You must set the '%s' field to create a property field." task-4589393 Forward-Port-Of: odoo/odoo#256328 Forward-Port-Of: odoo/odoo#205107
A display issue in the Mail module has been fixed so avatar names are no longer squeezed to zero width. This makes user names beside avatars visible again, improving readability in affected views.
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 Forward-Port-Of: odoo/odoo#257587