Monday, September 22, 2025
101 changes
3 changes
Resolved issues and error corrections
This update ensures invoices for foreign customers use an alphanumeric Other Buyer ID in Saudi e-invoicing XML. This helps avoid ZATCA acceptance warnings and supports smoother invoice compliance checks.
Original PR description
When an invoice is being issued to a Foreign Customer, the Other Buyer ID (Other Buyer ID (BT-46) <cac:AccountingCustomerParty / cac:Party / cac:PartyIdentification / cbc:ID>) should be OTH and filled accordingly to avoid an acceptance warning from ZATCA. According to ZATCA, the value needs to be in alphanumeric format, even if the value does not follow the specific country's VAT format Task-id: 5075005 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#227294 Forward-Port-Of: odoo/odoo#226593
The website editor now correctly hides the image width setting when an image is placed inside a card. This restores expected behavior and helps prevent users from applying layout options that do not make sense in that context.
Original PR description
When converting the options to Owl, the behavior from commit [1], which hid the image width option for images inside cards, was lost. We are reintroducing it here. [1]: https://github.com/odoo/odoo/commit/4dcd1f9607ecc1ea932e02128a3e6f01d652cba6
Event track emails now use embedded image-based icons instead of relying on external icon fonts that many email systems do not support. This ensures recipients see the intended visual elements consistently in their invitations or notifications.
Original PR description
Font awesome classes must no be inserted into email as external servers do not use them so icons are not displayed. This commit replaces i tags with font awesome classes in mail by images. Task-5082165 Forward-Port-Of: odoo/odoo#226331
2 changes
Resolved issues and error corrections
This fix updates Spanish translations used in Peruvian electronic invoicing and stock documents, including tariff fraction labels and withholding code names. It helps businesses avoid confusing or inconsistent wording in localized tax and logistics records.
Original PR description
## Issue: The latest `tariff_fraction` entries were not properly translated into Spanish There were also inconsistencies in the translation of some `withhold codes` ## Cause: The `.po` and `.pot` files were not correctly populated In addition, the translation of "Others" in `l10n_pe_withhold_code` conflicted with `l10n_pe_edi_reason_for_transfer__13`, because the `msgid` is the same but not the `msgstr` should be different opw-4741731 Forward-Port-Of: odoo/enterprise#95019 Forward-Port-Of: odoo/enterprise#92758
1 change
Resolved issues and error corrections
This fixes errors in Danish minimal financial reports where extra signs caused incorrect values to be processed. Report labels and translations were also cleaned up so the reports are clearer and more consistent for users.
Original PR description
In the minimal reports of l10n_dk, it appears that some expression ended with a sign and the report engine was given wrong value. This commit will remove the extra sign to correct the report and also remove the letter or number before the name. This commit will remove the extra sign to correct the report and also remove the letter or number before the name. This commit will change the translation accordingly to the other commits task-4949062 Forward-Port-Of: odoo/enterprise#91135
16 changes
Resolved issues and error corrections
Spanish translations for Peruvian tariff fraction entries and withholding codes were corrected so users see clearer, consistent labels. This reduces confusion when working with Peruvian electronic invoicing and stock localization data.
Original PR description
## Issue: The latest `tariff_fraction` entries were not properly translated into Spanish There were also inconsistencies in the translation of some `withhold codes` ## Cause: The `.po` and `.pot` files were not correctly populated In addition, the translation of "Others" in `l10n_pe_withhold_code` conflicted with `l10n_pe_edi_reason_for_transfer__13`, because the `msgid` is the same but not the `msgstr` should be different opw-4741731 Forward-Port-Of: odoo/enterprise#95019 Forward-Port-Of: odoo/enterprise#92758
2 changes
Resolved issues and error corrections
Timesheet reports printed from a sales order now show the related helpdesk ticket name when time was logged on a ticket. This makes billed support work easier to identify and avoids reports showing only the helpdesk team name.
Original PR description
to reproduce: ============= 1. make helpdesk team billable and records timesheets 2. create a helpdesk ticket and link it to a sale order 3. log timesheets on the ticket 4. print the timesheet report from the sale order -> the task column will contain only the helpdesk team name, while it should contain "helpdesk team / ticket name" Problem: ======== on the report template, the task name is fetched from line.task_id only, but helpdesk timesheets are linked to a ticket through line.helpdesk_ticket_id Solution: ========= use conidtionally line.task_id or line.helpdesk_ticket_id to display the task name opw-5002650 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
1 change
Resolved issues and error corrections
This fix prevents the command palette from crashing when a status field has no available choices, such as in certain Field Service task flows. Users can continue working normally; the unavailable command is simply hidden instead of causing an error.
Original PR description
**Steps to reproduce:** - Installed industry_fsm (Field Service) module - Navigate the menu Field Service -> Configuration -> Project - Create a new project - Then Navigate the menu My Tasks -> Tasks…
This fixes unstable automated checks around live chat call status and agent assignment. It helps ensure live chat quality checks are consistent, reducing false failures during releases without changing customer-facing behavior.
Original PR description
Since [1], rtc sessions are garbage collected when creating new live chat sessions. Rtc sessions that didn't receive any update during the last minute are considered as inactive. This can interfere with agent assignation tests: operators in a call are not prioritized. If the session is garbage collected, they are not in a call, and tests can fail. fixes runbot-232705 [1]: https://github.com/odoo/odoo/pull/211359 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#227648
Event-related emails now use embedded image icons instead of website-only icon styling. This helps recipients see the intended visual elements consistently across email clients and external mail servers.
Original PR description
Font awesome classes must no be inserted into email as external servers do not use them so icons are not displayed. This commit replaces i tags with font awesome classes in mail by images. Task-5082165 Forward-Port-Of: odoo/odoo#226331
Website sitemaps now avoid listing the same page more than once when website controllers are customized or extended. This helps keep sitemap files cleaner for search engines without changing which pages are included.
Original PR description
When extending controllers (e.g. `WebsiteSale.shop`), sitemap entries were duplicated because deduplication relied on the endpoint function object. Overridden methods result in different function objects but identical sitemap URLs, leading to duplicates. This commit fixes the issue by deduplicating on the generated sitemap location (`loc['loc']`) instead of the function object, ensuring unique URLs in the sitemap even when controllers are extended. Fixes #224193 Forward-Port-Of: odoo/odoo#226810 Forward-Port-Of: odoo/odoo#224406
This fix corrects Philippine localization tax setup so VAT-exempt fiscal positions and taxes are classified properly. It helps businesses avoid incorrect tax labels or country restrictions when configuring Filipino company accounting.
Original PR description
### Steps to reproduce: - Install "l10n_ph" and switch to a Filipino company - Check the tax "0% Exempt", it has both "VAT Exempt" and "VAT Registered" ### Cause: The CSV was badly generated because of the fiscal position tax mapping before 18.3. ### Solution: Fix the CSV. Also delete the country for the fiscal position "VAT Exempt". This is a [recommendation from AYH on discord](https://discord.com/channels/678381219515465750/687337689988726949/1410930795329097880). opw-5044305 Forward-Port-Of: odoo/odoo#227261
The product comparison page layout has been adjusted so desktop visitors no longer see unnecessary horizontal scrollbars. This keeps the comparison table aligned with the page header and footer, improving the browsing experience without changing functionality.
Original PR description
This PR fixes an issue about the `website_sale_comparison` page showing an unwanted scrollbar on desktop. Since each `.o_wsale_compare_table_column` element comes with a padding on the left and right side, it was creating a misalignment between the page content and the page header and footer. With this commit, we fix the issue by assigning a new `width` to the container, based on those padding values. task-5076730 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Automation Rules trigger dropdown now uses the correct background color when dark mode is enabled. This fixes a visual inconsistency so users get a cleaner, more consistent experience while creating automation rules.
Original PR description
Steps: - Install `base_automation` - Enable dark mode - Open Automation rules - Create a new rule - open trigger dropdown - the dropdown background is still in light mode This commit apply $dropdown-bg on `o_field_base_automation_trigger_selection` opw-5064357 Forward-Port-Of: odoo/odoo#226666 Forward-Port-Of: odoo/odoo#226116
This fixes an automated test so it works correctly when demo data is present. It helps keep quality checks reliable and prevents false failures during development and release validation.
This update corrects a typo in internal documentation for a core Odoo operation. It does not change how the system works, but helps keep developer-facing guidance accurate and easier to understand.
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
This fix updates an automated barcode inventory test so it waits for the correct step before continuing. It helps reduce false build failures and improves confidence in the stock barcode workflow validation.
Original PR description
The `test_put_packs_in_existing_pack` tour was using an erroneous trigger causing race condition. This commit replaces this trigger by another one to be sure previous step is completed before going forward. Runbot build error: [232638](https://runbot.odoo.com/odoo/runbot.build.error/232638)
A timing issue in an accounting guided test was fixed so product selection is properly recognized before the next check runs. This improves reliability of automated validation, especially when localization features take slightly longer to load.
Original PR description
Issue: The tour was failing because the product was not being selected in time. As a result, the subsequent step that checks whether the product is selected was consistently failing. Cause: In the Romanian localization, the `FetchInvoicesCogMenu` component uses an `isDisplayed` argument with async/await. This introduces a delay before the component is fully rendered. Meanwhile, the tour step was executing too early, before the product was actually selected. Fix: Increase the wait time to 1000ms to ensure the product is properly selected before the following step is executed.
This fixes an issue where subscription contracts with no amount due could still appear as needing an invoice. It helps keep billing queues cleaner and prevents staff from spending time reviewing contracts that should not generate invoices.
Original PR description
Forward-Port-Of: odoo/enterprise#94626
This update makes Malaysia electronic invoicing tests more consistent by using fixed tax settings in additional scenarios. It reduces the chance of test failures caused by unrelated default tax or product tax changes, helping maintain confidence in future updates.
Original PR description
follow-up on https://github.com/odoo/odoo/pull/227111 The fixes helped improve the stability of the tests, but a few using different ways of setting up their invoices (or SO) went through without the change. This adds the fixed tax to these as well, so that they should no longer fail if a side effect changes the default tax/product tax. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update improves the website builder by delaying tooltip checks until they are actually needed. This reduces unnecessary work during page editing and should make builder rows render more quickly, especially on complex pages.
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 Forward-Port-Of: odoo/odoo#223945
The salary offer screen now uses theme-aware background colors instead of a fixed color. This improves readability and visual consistency for users working in dark mode.
Original PR description
With this commit the background-color is not hardcoded anymore; the background color is calculated with the bootstrap variable text-bg-secondary task-5089515
An unnecessary background log message was removed from the spreadsheet chart configuration area. This keeps browser tools cleaner for support and development without changing how users work with spreadsheets.
Original PR description
Task: 0
Features or functions removed from Odoo
This change removes a temporary HR screen adjustment that is no longer needed because the alignment issue has been fixed properly elsewhere. Users should see the same corrected field layout, with less temporary customization to maintain.
Original PR description
This PR removes the hotfix for the alignment issue of the m2o field as it is fixed more properly by the PR https://github.com/odoo/odoo/pull/226214. Task-5078736
This fix prevents the Project view from failing when two independent modules use the same ordering value for project statistic buttons. It makes the view more reliable for businesses using multiple project-related customizations or add-ons.
Original PR description
Description of the issue/feature this PR addresses: If a sequence in function _get_stat_buttons in project.project is repeated, the view view fail because we are using the sequence as key Current behavior before PR: If we repeat a sequence in two independent modules, the view fails. Desired behavior after PR is merged: The view works as expected --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
**Steps to reproduce:** - Installed industry_fsm (Field Service) module - Navigate the menu Field Service -> Configuration -> Project - Create a new project - Then Navigate the menu My Tasks -> Tasks - Create a new task with the new created project - Then using the keyboard shortcut ctrl + k for command search, an error occurs **Cause:** - When the `stage_id` statusbar had no possible values, `this.getAllItems()` returned an empty array. - The command `isAvailable` unconditionally accessed `this.getAllItems().at(-1).isSelected`, which is undefined, causing a crash.[see](https://github.com/odoo/odoo/blob/17.0/addons/web/static/src/views/fields/statusbar/statusbar_field.js#L147-L148) **Fix** - Add safe check in the command action so it does not attempt to select a non-existent "next" item. **Result** - The command palette no longer crashes when the `stage_id` field has no available items. Instead, the command is simply unavailable. opw-5084130 upg-3130405 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