Monday, May 11, 2026
22 changes · 19.0
New functionality added to Odoo
A new German localization bridge module ensures the password policy component is installed whenever German localization is installed. This helps meet GoBD certification requirements automatically without extra manual setup.
Original PR description
Request of our GobD certificator: auth_password_policy shall be installed each time l10n_de is installed. Adds bridge module that auto-installs auth_password_policy whenever l10n_de is installed, ensuring GoBD certification requirements. task-6044175 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Enhancements to existing features
This update improves how accounting excludes certain accounts during bank reconciliation. It allows those account rules to be applied more directly, which can help performance without changing the user-facing workflow.
Original PR description
See https://github.com/odoo/enterprise/pull/115581 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#263207 Forward-Port-Of: odoo/odoo#261931
Resolved issues and error corrections
The web navbar now updates correctly when users move from a narrow mobile view to a wider screen, such as by zooming out or resizing the browser. This prevents menu items and the app icon from staying hidden when there is enough space to show them, improving navigation reliability.
Original PR description
**Issue:** In the navbar view, when a user starts in mobile view (narrow width) and then increases the screen width (e.g., by zooming out or resizing), the menu items and app icon do not reappear.…
**Issue:** In the navbar view, when a user starts in mobile view (narrow width) and then increases the screen width (e.g., by zooming out or resizing), the menu items and app icon do not reappear. The navbar remains stuck in mobile mode even when there is enough space to display the full layout. **Fix:** The navbar was relying on `env.isSmall`, which is only set during initialization and does not react to window resizing. This has been updated to use `this.ui.isSmall`, which is reactive and updates dynamically when the viewport size changes. **Before:** After resizing from mobile to a larger width, the navbar continued to behave as if it were still in mobile view, keeping menu items and the app icon hidden. **After:** When the screen width increases, the navbar correctly detects the change and re-renders, restoring the menu items and app icon as expected. opw-6107660 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#263482 Forward-Port-Of: odoo/odoo#263039
Documentation and clarification updates
This pull request adds QoQa's signed Contributor License Agreement record to Odoo's documentation. It supports legal compliance for accepting contributions from this organization and has no effect on product functionality.
Original PR description
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
A new automated test helps ensure that descriptions copied from quotation templates keep their first line when creating sales orders. This reduces the risk of missing customer-facing details in future updates.
Original PR description
Issue: --- When using quotation template, the first line of description is always removed. Steps to reproduce: 1- Create a quotation template and add a description to the line. 2- Create a SO from quotation template. As you see the first line of description is removed in SO. Cause: --- This regression is introduced after aba778538c2032a2924f99258c5c75e463296d21 which was done under the assumption that the description always starts with product name. This breaking commit is reverted by: a702a4989fc53ccc43f57213e0db3e62e7b69e8f However it's better to have a test in order to prevent this issue being introduced in the future. opw-6178360
This update enhances the Partner Ledger report by displaying totals for the 'Amount Currency' column when multiple journal entries for a partner use the same foreign currency within a specific period. A minor adjustment was made to the followup report's date range to align with its single-date format. This improves reporting accuracy and provides more insightful currency data.
Original PR description
Display totals for the "Amount Currency" column per partner when all related journal items share the same foreign currency within the selected period and column group. The date_from in for the followup report has also been adjusted in the queries to make it equal to None, since the followup report is a single date and not a range. task-5953233
Uploading a PDF through the PDF viewer field now also saves the original filename in the related filename field. This helps users and businesses keep uploaded documents easier to identify and manage without manual renaming or follow-up fixes.
Original PR description
When uploading a file using the PDF viewer field, the filename was not stored in the corresponding filename field. This commit updates the PdfViewerField to support a filename field via the `filename` attribute. task-4825728 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#262767 Forward-Port-Of: odoo/odoo#259795
Point of Sale now consistently hides products that are no longer active or available for POS, even when products are grouped by category. This prevents staff from accidentally selecting unavailable items after product settings change and keeps the sales screen aligned with back-office availability.
Original PR description
Steps to reproduce:
- In POS settings, enable Group products by category
- Open a POS session and add a product to an open order
- In the backend, set available_in_pos = False on that product
- Trigger a full POS data reload
- The product is still in the product screen
Issue:
Product appears in the category group because productToDisplayByCateg uses getAllBy("pos_categ_ids") which bypasses canBeDisplayed, and the product was reloaded unconditionally because it's in an existing orderline.
Fix:
Products go through the same canBeDisplayed check (active && available_in_pos) that productsToDisplay already applies.
Task-6181104
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-prPDF attachments shared in portal chatter now show their preview thumbnails as expected. This makes it easier for portal users to identify and open attached documents without downloading them first.
Original PR description
Before this commit, previews of pdf attachments (introduced in [1]) would not be displayed in portal chatters. This happens due to `_portal_message_format` not returning the data necessary to display pdf previews (i.e. `has_thumbnail` and `thumbnail_access_token`). This commit fixes the issue by returning said data. [1] https://github.com/odoo/odoo/pull/221006 task-6204747
This fix ensures HR employee information can still be handled correctly when no active employee version is available. It helps prevent errors or missing employee data in edge cases, improving reliability for HR users.
Original PR description
Forward-Port-Of: odoo/odoo#263324
The checkout confirmation page now shows the payment success message with proper spacing and alignment when using the Treehouse website theme. This improves the post-payment experience by ensuring customers clearly see that their order was successful.
Original PR description
Steps to reproduce: 1) Select the Treehouse theme from the website editor 2) Add a product to the cart and proceed to payment 3) Complete the payment and reach the confirmation page Issue: - The payment success alert message is not displayed properly and appears slightly below the alignment. - Also this particular issue is coming in this Treehouse theme only in rest of the themes the alert message is coming correctly. opw-5976602
Replying to notes with the HTML composer now keeps existing formatting, adds proper spacing after mentions, and avoids unwanted extra line spacing. This makes note replies cleaner and more reliable for users writing formatted messages.
Original PR description
Before this PR, Replying to a note with the HTML composer enabled had several issues. - The mention added did not include a trailing space. - If the composer already contained formatted content, reply action discarded all formatting because the content was overwritten using composerText, which is not formatting-aware. - the composer sometimes showed extra spacing between lines because the base container used a `<p>` tag instead of a `<div>`. This PR fixes these issues by - inserting the mention directly into composerHtml with an editable trailing space instead of mutating composerText. This preserves existing formatting, and correctly adds spacing after mentions. - The base container always use a `<div>`, preventing unwanted line spacing task-[5454785](https://www.odoo.com/odoo/project/1519/tasks/5454785)
Users posting in portal conversations are returned to the message composer after selecting an emoji. This removes a small usability interruption and makes writing replies smoother.
Original PR description
Before this commit, after adding an emoji via the emoji picker in the portal chatter, the composer would not be focused. This is due to the `autofocus` prop of the composer being optional and not having a default value, leading to `NaN` when being incremented while `undefined`. This commit fixes the issue by giving it a default value of 0. task-6204911 Forward-Port-Of: odoo/odoo#263494
Purchase order lines created through the product matrix now show the product's additional description again, such as variant attribute details. This helps buyers confirm they selected the right product variant and avoids incomplete line descriptions.
Original PR description
From 7e553d25890d1, the `product_label_section_and_note_field` has been split into a mixin in `product` and an override in `account`. In this split. the `get label()` helper has been slightly modified in a way the product template is not extracted from the label to keep only the additional description (usually filled with product attribute values). This lead to having only the product template name displayed on the purchase order line if the product variant was added via the matrix widget. This commit brings back the old `label` helper only for the product matrix widget. Task: 6042382 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
This fixes an internal issue that could cause errors when checking project timesheet billing warnings. The affected warning is not shown to users, so the change mainly improves stability without changing day-to-day workflows.
Original PR description
Prior to this commit, the `compute` method was getting all the projects that had missing employee sale order line mappings through an SQL query. The result of the query is supposed to be a tuple but was treated as an array of `Integer` ids causing trouble while browsing and then later writing the value for the field. Since the field `warning_employee_rate` is not used in the views we can assume that the warning will be `False` for all projects and remove this field later on Master. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update resolves an issue preventing the POS scale integration to work correctly with the latest IoT box versions. The IoT box is now sending data differently, and this fix adjusts the software to handle the new data format. This ensures accurate weight readings are processed within the POS system.
Original PR description
Steps to reproduce - Use a localisation other than a european one (l10n_eu_iot_scale_cert must not be installed) - Setup the scale for the POS - Open the POS - Add a product to be weighted by scale to the order - Sell one of the weighted product Error: value.toFixed is not a function Cause: New versions of the IoT box send response status via data.status instead of data.status.status. [opw-6121011](https://www.odoo.com/odoo/project/49/tasks/6121011) Forward-Port-Of: odoo/enterprise#116579
This update resolves an issue where users were occasionally redirected to outdated contract versions after signing multiple times. The fix prioritizes active contract versions during the 'Signed Contract' button click, ensuring users always access the correct, current agreement. This improves the user experience and prevents confusion.
Original PR description
Steps to reproduce: 1- Create an offer for an applicant 2- Sign the offer as an applicant multiple times 3- Counter sign only one of them 4- Click on the "Signed Contract" smart button Issue: In some cases, the smart button will redirect to an archived version. Cause: The search for the version allows for archived versions and has a limit of 1, so sometimes that 1 version turns out to be one of the signed contracts that weren't counter signed. Fix: Add a sort to the search to prioritize active versions. Task-6144381
This update adjusts payroll calculations to automatically stop NSSF (National Social Security Fund) deductions for employees aged 60 or older. The change ensures compliance with Kenyan regulations, specifically halting deductions when an employee reaches 60, starting the following month. A new unit test has been added to verify this functionality.
Original PR description
[IMP] l10n_ke_payroll: stop NSSF deductions after 60
When the user is creating a payslip and if the age of employee is >=60 the NSSF deductions must stop
(If the 60 years is finished in 10th of March -> it will stop in April (deduction stop starts from next month))
Test:
Unit test is written to check stopping NSSF deductions with dynamic birthday.
task - 6074658
Forward-Port-Of: odoo/enterprise#115236This update corrects a technical issue where partners with VAT information were incorrectly flagged in the annual VAT listing report. The fix ensures that these partners are no longer displayed in the warning, improving the accuracy and usability of the report for accounting and tax purposes. This resolves a minor reporting discrepancy.
Original PR description
Partners with / in VAT shouldn't be displayed in the warning for the annual VAT listing. task-6081162
This update resolves an error message issue within the WPS wizard for South Africa payroll. The fix removes an obsolete field and clarifies the error message when the debit date is equal to or after the value date, ensuring accurate reporting and a better user experience. This improves the reliability of the WPS process.
Original PR description
This commit fixes the error message displayed to the user when the debit date of the wage payment is greater than or equal to the value date on the WPS wizard. It also hides an unnecessary field `l10n_sa_wps_debit_date` from the wizard, rendering the field obsolete. TaskID-6130969
This update resolves an error in the Luxembourg VAT reports (FAIA) caused by a missing required TaxType element ('TVA'). The fix ensures the reports comply with Luxembourg tax regulations, preventing export failures. This was triggered by a customer report and verified against XSD files.
Original PR description
This is one of several commits fixing the FAIA xml export. The customer in ticket [opw-5427296](https://www.odoo.com/odoo/unassigned-tasks/5427296) received several errors which mention that the `TaxType` element should be 'TVA'. This is corroborated by one of these elements in the XSD files for the FAIA report. The XSD files can be found at the link below. https://pfi.public.lu/dam-assets/backup/FAIA/FAIA/XSD_Files.zip opw-6118272 [link](https://www.odoo.com/odoo/project.task/6118272) Forward-Port-Of: odoo/enterprise#115293 Forward-Port-Of: odoo/enterprise#113720
This update records the corporate Contributor License Agreement for Blanco Martin & Asociados/BMyA. It ensures contributions from these new contributors are properly covered for legal and licensing purposes.
Original PR description
New contributors from BMyA --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#261658