Monday, May 18, 2026
19 changes · saas-19.2
New functionality added to Odoo
This update allows users to correctly account for VAT credits carried forward from previous months when preparing their French tax returns. Specifically, it addresses the requirement to adjust for information appearing on line 25 of the return, ensuring accurate reporting for new Odoo users. This improves compliance with French tax regulations.
Original PR description
This commit will add the possibility to do an adjustment on the line 25. Useful when you start using Odoo but have a VAT credit carried forward from the previous month (which should appear in box 25 of your return). task-6072474 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#256107
Enhancements to existing features
This update removes a restriction on the fiduciary VAT field in the connection wizard. This change provides greater flexibility for users configuring VAT settings related to Codabox, streamlining the process and improving usability. It allows for more adaptable configurations within the Odoo Enterprise system.
Original PR description
This commit will remove the readonly on the fiduciary_vat in the connection wizard. It will give more flexibility for fiduciary. task-6148930 Forward-Port-Of: odoo/enterprise#115752
Resolved issues and error corrections
This update simplifies the process of retrieving transactions from Codabox. Previously, users needed write access to the company record, which wasn't necessary after the initial connection was established. This change streamlines the process and improves efficiency.
Original PR description
Currently, we use the `_l10n_be_codabox_verify_prerequisites` method before trying to fetch transactions. This method checks if the user has write access rights on res.company model which should not be mandatory to fetch transactions from codabox when the connexion is already created. opw-6108811 Forward-Port-Of: odoo/enterprise#117097
This update aligns the subheaders and numerical data within Odoo's financial reports, ensuring a more professional and consistent visual appearance. Previously, the formatting was uneven, and this change corrects that to improve readability and user experience. This is a minor improvement to the reporting system.
Original PR description
Before this commit, subheaders of numeric columns were centered, while the figures in the columns were aligned to the end. This commit ensures that both the subheader and the figures are aligned the same way (center or end). task-6197223 Forward-Port-Of: odoo/enterprise#116578
This update corrects a bug where a new paragraph created after splitting a styled heading would inherit the heading's formatting (like color). The fix ensures that newly created paragraphs are empty and without inherited styles, aligning with the expected behavior. This improves the consistency and predictability of the HTML editor.
Original PR description
Problem: Pressing Enter at the end of a styled heading (e.g., with a color) creates a new paragraph that inherits the heading styles. This is no longer the expected behavior. The new paragraph should be empty and without inherited styles. Solution: When splitting a heading at its boundaries and creating a base container, fill it with a `br` instead of carrying over styles. Steps to reproduce: - Add a heading. - Apply a style (e.g., color). - Place the caret at the end of the heading. - Press Enter. - Observe that the new paragraph still has the heading color. task-6147897 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#264624 Forward-Port-Of: odoo/odoo#262150
This update fixes an issue where the FEC file parser would fail when encountering empty lines. The change now automatically skips these empty lines, ensuring that all valid FEC files are processed correctly and preventing potential data loss. This improves the reliability of the French localization import process.
Original PR description
It could happens that we have some empty lines in the fec files, the parser was returning an error when that happened. We still want to process the file so we will just skip the empty lines. task-6169168 Forward-Port-Of: odoo/enterprise#115758
A flaky test in the Live Chat module has been resolved. The issue stemmed from a race condition during agent joining, causing inconsistent test results. This update simplifies the test to ensure reliable execution and maintain coverage.
Original PR description
The `show looking for help duration in the sidebar` test has been flaky since [1]. The root cause is that the agent joins at the final step, resetting the state to in_progress, then immediately…
The `show looking for help duration in the sidebar` test has been flaky since [1]. The root cause is that the agent joins at the final step, resetting the state to in_progress, then immediately switches it back to `looking_for_help`. This creates several race conditions: - Bus notifications from `join_livechat_need_help`, new message events, and any other notification carrying stale state data. - Channel state fetched after the user joins via `/mail/data`. The mock server makes these races hard to guard against: notifications arrive one by one, and there's no UI signal that guarantees all stale data has been processed. This commit splits the test to preserve coverage while avoiding the problematic rapid state transition. runbot-242278 [1]: https://github.com/odoo/odoo/pull/252738 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#264666
A recent change in the Odoo system caused the remaining time estimates for sales projects linked to sales orders to disappear from the task display. This update restores the necessary context to accurately show the remaining time, ensuring sales teams have the correct information. The fix addresses a minor visual inconsistency.
Original PR description
Steps to Reproduce: - Open any project linked with a sales order - Open task and click on Sale Oder Item dropdown. Issue: - You can see that SOL's with time remaining don't show the amount of time left Reason: - In this PR https://github.com/odoo/odoo/pull/193079 a record (view_task_form2_inherit_sale_timesheet) has been removed. - So the context key `with_remaining_hours` required to show remaining time is missing. Fix: - Add the record back which updates context task-6170953 Forward-Port-Of: odoo/odoo#262746
This update corrects a display issue with the Folder report layout in Odoo when using Right-to-Left (RTL) languages like Arabic. The change adjusts the image styling to ensure proper rendering, preventing the header title from appearing broken. This ensures reports are consistently readable for all users, regardless of their language settings.
Original PR description
Steps: - Enable rtlcss - Install an RTL language (e.g Arabic or change english direction to rtl) - Enable RTL language - Go to settings - Configure report layout document - Select Folder type - Try to print an invoice - The header title style is broken the svg image used in the title should be mirrored to be displayed correctly on RTL opw-6140277 Forward-Port-Of: odoo/odoo#263115 Forward-Port-Of: odoo/odoo#262830
This update resolves a confusing issue where discount codes couldn't be re-applied after being discarded. Now, users can successfully re-apply codes even if no reward line was initially created, ensuring a smoother customer experience and eliminating a potential point of frustration. This improves the usability of our loyalty program.
Original PR description
Issue: --- ### Steps to reproduce: 1- Create a `Discount Code` program. 2- In SO, use `Coupon Code` wizard and use the code. 3- After available rewards are shown, discard the wizard. 4- Re-apply the code. Validation Error: The promo code is already applied. As the reward is not applied, this is functionally confusing. At this point We can see the reward only inside the rewards wizard view. If we allow re-apply the code in case no reward line is created for the `rule.program_id`, we can still see the reward by re-applying the same code, without any side effects. opw-6164198 Forward-Port-Of: odoo/odoo#264105 Forward-Port-Of: odoo/odoo#261950
This update corrects a technical issue where the Odoo payroll calculation process would fail when no payslips were generated for a payrun. The fix ensures the calculation works correctly even with empty payrun data, preventing potential errors and ensuring accurate payroll reporting.
Original PR description
If the payrun does not have any payslips, the _get_payslip_stp is called on an empty recordset, which causes the compute to fail. This commit fixes the _get_payslip_stp compute for empty recordset. task-6215823 Forward-Port-Of: odoo/enterprise#117198
This update resolves an issue where the payroll report would fail if a new employee didn't have a start date defined. The fix ensures the report checks for a start date before attempting comparisons, preventing errors and improving report reliability. This ensures accurate payroll processing.
Original PR description
If there is no start date on the veriosn, the report will fail as it'll try to compare a bool with a datetime. So we check first that there is a start date
This update fixes a UI inconsistency where the ‘Add Property’ button wasn’t reliably visible during property editing, especially when switching between records. Now, the button correctly resets to ‘Edit Properties’ when switching records or creating new ones, ensuring a smoother and more intuitive user experience for property editing.
Original PR description
Before this commit: - The “+ Add Property” button was not visible when switching between notebook pages if it was present initially. - when we are doing edit properties from the cog menu and without doing save properties if we are creating new record or switch to other record at that time button still shows “Save Properties.” leading to inconsistent UI behavior. After this commit: - The “+ Add Property” button remains visible when switching between pages. - When in property edit mode, switching records or creating a new record now correctly resets the button state back to “Edit Properties”, ensuring consistent UI behavior. task-6051322 ENT PR: https://github.com/odoo/enterprise/pull/113248 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes a UI inconsistency in the worksheet property editor. Previously, the ‘Add Property’ button would remain visible even when switching between records or creating new ones. Now, the button correctly resets to ‘Edit Properties’ ensuring a smoother and more reliable editing experience for users.
Original PR description
Before this commit: - The “+ Add Property” button was not visible when switching between notebook pages if it was present initially. - when we are doing edit properties from the cog menu and without doing save properties if we are creating new record or switch to other record at that time button still shows “Save Properties.” leading to inconsistent UI behavior. After this commit: - The “+ Add Property” button remains visible when switching between pages. - When in property edit mode, switching records or creating a new record now correctly resets the button state back to “Edit Properties”, ensuring consistent UI behavior. task-6051322
This update resolves a performance issue related to payroll processing in Hong Kong. The change moves a key calculation to the standard Odoo environment, streamlining the process and improving overall system speed. This ensures accurate and efficient payroll calculations for Hong Kong users.
Original PR description
backporting the fix done in this commit which moves `_work_intervals_batch` to std: https://github.com/odoo/enterprise/pull/101790/changes/70bfc31c3917d3bd96db63b2543937fb151670a1 task-id: 6212942
This update clarifies the Sale Order process for subcontracted products by hiding a confusing Manufacturing Order button. This prevents users from navigating to unnecessary back-end manufacturing documents, streamlining the workflow managed through Purchase Orders and Subcontracting Receipts.
Original PR description
The Manufacturing Order (MO) smart button on a Sale Order is confusing when the product is subcontracted. In a subcontracting flow, the user manages the process via the Purchase Order and the Subcontracting Receipt. This commit ensures the MO smart button is hidden when the fulfillment is handled through subcontracting to prevent user confusion and unnecessary navigation to back-end manufacturing documents. Task-id: 6173877 Forward-Port-Of: odoo/odoo#263105
This update corrects a technical issue where an approval rule was being applied incorrectly due to a duplicate XML ID. The change ensures that approval rules are applied correctly based on user and manager roles, improving the reliability of the approval process. This resolves a potential inconsistency in how approvals were handled.
Original PR description
The XMLID `approval_approver_manager` was defined twice, causing the rule to be applied with the last evaluated access configuration for both `group_approval_user` and `group_approval_manager`. This commit renames the first occurrence of the duplicated XMLID to `approval_approver_user` to restore the intended separation between user-level and manager-level approval access rules. task-6095010 Forward-Port-Of: odoo/enterprise#113480
This update resolves an issue where Point of Sale orders would fail if a product used an archived Unit of Measure. We've now implemented a fix to load archived UOMs within the POS, ensuring orders can be processed smoothly regardless of UOM status. This improves the reliability of the POS system for all users.
Original PR description
If a product uses an archived UOM and an order is then created in the POS with this product, an error would occur because it could result in trying to use a UOM that wasn't loaded in the POS since it was archived. To fix this issue, we now load archived UOMs in the POS. --- Task: https://www.odoo.com/odoo/project/1737/tasks/6197465 Forward-Port-Of: odoo/odoo#264837 Forward-Port-Of: odoo/odoo#263838
This update enhances how Odoo handles database errors during safe evaluation. By catching and retrying `IntegrityError` exceptions, the system now behaves consistently regardless of the code being executed, preventing unexpected disruptions. This improves overall stability and reliability.
Original PR description
It makes sense to bubble up the `psycopg2.IntegrityError` (as well as the subcase `ConcurrencyError`) so that the retry mechanism can handle this exception. In fact, this exception can be triggered without necessarily a problem with the "logic/business code". This ensures consistent behavior between the business logic and the code executed in `safe_eval`. Task-6215886 Forward-Port-Of: odoo/odoo#264838 Forward-Port-Of: odoo/odoo#264266