Friday, September 4, 2026
20 changes · master
Enhancements to existing features
Withholding tax residual amounts can now be used more reliably in search filters and automated rules. This makes it easier for teams to find and act on accounting entries based on remaining withholding balances.
Original PR description
This PR adds a `_compute_sql` on `withholding_residual_amount_currency` so that it can be used in domains. task-6182154 Enterprise PR - https://github.com/odoo/enterprise/pull/130274
This update makes two additional phone status icons available in Odoo's web interface: forwarded calls and paused phone state. It helps ensure these call-related statuses can be displayed consistently wherever the interface needs them.
Original PR description
Task-6524528
The VoIP call transfer screen now uses clearer action buttons for direct and attended transfers, while the cancel option has been moved to a back button in the header. This makes the transfer flow easier to understand and helps users choose the right transfer action more quickly.
Original PR description
[Task-6524528](https://www.odoo.com/odoo/project/5778/tasks/6524528)
Invoices sent through Egypt ETA e-invoicing will now be checked for overly long sales or purchase references before submission. This gives users a clearer error message when references exceed the 100-character limit, helping them correct the issue faster and avoid confusing API responses.
Original PR description
… and purchase order reference Currently, when users submit invoices with ref exceeding 100 characters including spaces, the ETA API returns a JSON validation error offering no clear guidance on how to fix the error. Therefore, we are adding a check in _check_move_configuration to add an error if length of ref or invoice_origin is greater than 100 task-6420490 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
Website builder record selection buttons can now show custom wording instead of only the default prompt. They also handle simpler selection data by looking up missing record names automatically, making builder components easier to reuse and maintain.
Original PR description
- accept non-default message on button of builder many2many - support only `id` from action with builder many2many This was part of https://github.com/odoo/odoo/pull/258135, but it can be merged independently
The appointment website editor now shows the intended message when a selection list is empty. This makes the configuration experience clearer for users setting up appointment options.
Original PR description
The corresponding commit in community add the `message` props to `BuilderMany2Many`. This commit uses it (instead of the non-existant `defaultMessage`) task-5245362
Website social media links now apply the correct brand colors for more supported platforms. This makes social media blocks look more consistent and polished when businesses add their profile URLs.
Original PR description
Colors for social media are defined with `$o-social-colors` in `addons/website/static/src/scss/primary_variables.scss`. css rules are defined to use these colors for links in "Social Media" snippet, but not all social media have a class defined. Also, some of these social media have a domain that do not match their name. With this change, setting a url of a social media (one added in `s_social_media/000.scss`) will show the icon with the correct color
Odoo now checks self-billed Malaysian e-invoice bill references before sending them to MyInvois. If the reference is over the 50-character limit, users see the issue directly on the Bill Reference field so they can shorten it before submission.
Original PR description
For self billed documents, the bill reference is used as the InternalID (cbc:ID) of the document sent to MyInvois. That field is limited to 50 characters, so a longer reference makes the submission fail with an error coming from MyInvois. Validate the length before sending, so that the issue is reported directly on the "Bill Reference" that needs to be shortened. task-6522168 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Point of Sale product information popup now shows each product's tags below the product header. This helps staff quickly recognize product categories or labels, with tag colors matching the back-office setup.
Original PR description
In this commit: ================== Product tags were not displayed in the POS product information popup. Display the product tags below the product header and use their configured backend color for the badge background. Task-6484273
This update tidies the internal organization of Belgian payroll calculation entries so related items are kept together. It has no expected impact on day-to-day payroll use, but helps reduce maintenance errors in future updates.
Original PR description
Two entries in the common localdict were not together. This was probably due to a mistake during a fw-port or rebase.
The Unplan Orders action is now hidden when the Work Orders setting is disabled. This keeps the manufacturing interface cleaner and prevents users from seeing an option that is not relevant to their current setup.
Original PR description
This improvement hides the Unplan Orders action when the Work Orders option is disabled in the settings. Community PR:- odoo/odoo#282221 TaskID-6453469
This update removes redundant tooltip text from buttons that already have visible labels. It slightly streamlines the interface setup across several Odoo apps without changing what users can do.
Original PR description
*=base_geolocalize,crm,event,l10n_in,mail_group,mrp,project,sale_crm,stock Remove unnecessary "title" attributes from buttons across views where a visible "string" label is present. The button in which string signifies the original purpose does not need title tooltip which adds unnecessary arch overhead without delivering additional value to the user interface. task-6527163 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update adds a dedicated checker to catch risky database query patterns that could lead to SQL injection vulnerabilities. It helps Odoo maintain stronger internal code quality controls while preparing to remove a broader legacy linting dependency.
Original PR description
New linter for sql-injection. The goal is to replace the pylint implementation by a specialized and stricter implementation so that pylint can be removed entirely in https://github.com/odoo/odoo/pull/257457. Findings of this linter are covered in https://github.com/odoo/odoo/pull/282652. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The tooltip for the plus button in the Work Orders planning Kanban view now says "Plan Work Order" instead of "Quick add." This makes the button's purpose clearer for manufacturing users and helps reduce confusion when planning work orders.
Original PR description
- Changed the 'Quick add' tooltip to 'Plan Work Order' for the '+' icon in the Work Orders planning Kanban view, making it clearer to users that the action is used to plan a work order. Task ID - 6515112 Enterprise PR: https://github.com/odoo/enterprise/pull/129793
Website editors now see clearer tooltips explaining font weight choices and how multiple form requirement settings work together. The website builder color picker also displays its hex input with the correct light styling in edit mode, improving readability while editing.
Original PR description
**[IMP] website: clarify builder option tooltips** Clarify (with tooltips) font weight settings and how multiple form requirement values are combined. ---------------- **[FIX] html_builder, html_editor: fix color picker hex input** Before this commit, the `hex` color input was dark in Website edit mode. After this commit, it uses the light color defined by the builder. task-6259086 Forward-Port-Of: odoo/odoo#282923
Several buttons across accounting, databases, payroll, marketing, planning, rental CRM, and barcode screens were simplified by removing redundant hover text where the button already has a visible label. This keeps the interface lighter without changing what users can do.
Original PR description
*=databases,l10n_be_hr_payroll,marketing_automation,planning,sale_renting_crm,stock_barcode Remove unnecessary "title" attributes from buttons across views where a visible "string" label is present. The button in which string signifies the original purpose does not need title tooltip which adds unnecessary arch overhead without delivering additional value to the user interface. task-6527163
Hong Kong payroll salary rules now distinguish non-taxable reimbursements and deductions from taxable ones. This makes payroll entries easier to understand and ensures non-taxable deductions are correctly subtracted from net pay.
Original PR description
The CAP57 structure has two reimbursement and two deduction rules, one pair taxable and one not, all named "Reimbursement" and "Deduction". Rename the non-taxable pair accordingly for clarity. Also compute the non-taxable deduction in Python so it is negated, as the DED category is added to NET. task-6263356
Saudi payroll accounting defaults now align with the redesigned local chart of accounts and its standardized numbering. Medical insurance and Iqama/work permit payroll credits are assigned to more specific prepaid accounts, improving financial classification and reporting accuracy.
Original PR description
- In the related PR, we redesign the Saudi Arabia chart of accounts to follow the standardized 6-digit numbering convention. - Following that re-sequencing, this PR splits the Medical Insurance and Iqama/Work Permit rules' credit account from the old Prepaid Employee Expenses account to the new Prepaid Medical Insurance and Prepaid Sponsorship Fees accounts. Related PR: https://github.com/odoo/odoo/pull/284216 https://github.com/odoo/upgrade/pull/11120 task-6390722
The work order planning view now uses default filters that match the Kanban view. This gives manufacturing teams a more consistent experience when switching between planning and Kanban views.
Original PR description
- Updated the work order planning filter to align with the default filters in the Kanban view. Task ID - 6515112 Community PR: https://github.com/odoo/odoo/pull/285566
The Philippines VAT registration setting has been moved from Enterprise reporting into the core Philippines localization so it can be reused by new official invoice reporting. Existing BIR 2306 and 2307 PDF exports continue to use the same setting without requiring business users to change their workflow.
Original PR description
`l10n_ph_is_vat_registered` lived in `l10n_ph_reports`, but the new BIR CAS invoice report added to core `l10n_ph` also needs it, and core cannot depend on an enterprise module. Move the field and its view exposure to core `l10n_ph`, which `l10n_ph_reports` already depends on, so the BIR 2306/2307 PDF exports keep working unchanged against the same field/column. Community PR: https://github.com/odoo/odoo/pull/282405 Upgrade PR: https://github.com/odoo/upgrade/pull/11029 task-6032311