Saturday, January 17, 2026
9 changes · saas-19.1
Resolved issues and error corrections
This update ensures that all imported modules are accurately marked as having been installed with demo data. This improvement enhances our ability to reliably test Odoo with demo data in industry scenarios, leading to more consistent and accurate results.
Original PR description
Currently even if a imported module was imported with demo data, the 'demo' field is not set to True. Setting this field proprely will allow to have a better handling of demo data in industry tests. Backport of https://github.com/odoo/odoo/pull/243032 Forward-Port-Of: odoo/odoo#244246
This update fixes an issue where tax names and invoice labels were displayed in English for Vietnamese users. By adding the necessary Vietnamese translations to the chart template CSV, users will now see accurate Vietnamese labels when using Odoo with Vietnamese chart of accounts, improving the user experience.
Original PR description
The `name` and `invoice_label` fields on `account.tax` are translatable fields (translate=True), but the Vietnamese chart template CSV was missing the corresponding translation columns. This caused…
The `name` and `invoice_label` fields on `account.tax` are translatable fields (translate=True), but the Vietnamese chart template CSV was missing the corresponding translation columns. This caused tax names and invoice labels to display in English even when the user's language was set to Vietnamese. By adding the `name@vi_VN` and `invoice_label@vi_VN` columns to the tax template CSV, taxes will now display with proper Vietnamese labels when the chart of accounts is installed for Vietnamese companies, improving the user experience for Vietnamese-speaking users. Technical details: - Added `name@vi_VN` and `invoice_label@vi_VN` columns to the CSV header - Added Vietnamese translations for all tax records in the template - Translations follow Vietnamese tax terminology conventions - The chart template loader automatically processes columns with `@lang` suffix and applies them as translations for translatable fields 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#244151 Forward-Port-Of: odoo/odoo#236502
This update fixes an issue where placeholder hint text would awkwardly wrap onto multiple lines when the screen was narrow. Now, the text is correctly truncated when space is limited, ensuring a cleaner and more professional appearance for users across different devices and screen sizes.
Original PR description
Description of the issue this PR addresses: - The placeholder hint text wraps onto multiple lines when the cell width is reduced. - When there is insufficient horizontal space, the text should be truncated rather than wrapped. task-5480080 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#244178 Forward-Port-Of: odoo/odoo#243006
This update resolves an issue where the link popover remained open after a snippet was deleted. The fix ensures the popover closes correctly when a snippet is removed, improving the user experience and preventing visual inconsistencies. This change focuses on a technical detail within the HTML editor.
Original PR description
Description of the issue this PR addresses:
- When removing a snippet, the link popover stayed open because its pointerdown handler didn’t trigger, leaving the popover visible even after its selected content element was removed.
- A previous fix used { capture: true } on the document pointerdown listener, but this also triggered when interacting with the link type dropdown and color picker, closing the popover triggers applyCallback and causing nested links to be created.
After this commit:
- Close the link popover from on_will_remove_handlers before the target element is removed from the DOM.
- This ensures the popover closes when removing the snippet.
task-5359000
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#237679This update fixes an issue where payslip names were not being generated correctly for the Swiss (l10n_ch_hr_payroll) module. The change ensures that payslips display the accurate and required name format, improving reporting accuracy and compliance for Swiss users. This resolves a minor data display problem.
Original PR description
Forward-Port-Of: odoo/enterprise#104376 Forward-Port-Of: odoo/enterprise#104289
This update corrects a technical issue where a warning about eTIMS configuration was incorrectly displayed for companies outside of Kenya. The fix ensures that the validation process only applies to companies operating in Kenya, improving the user experience and preventing unnecessary alerts. This change ensures accurate invoice processing.
Original PR description
**Steps to reproduce:** * Install the **l10n_ke_edi_oscu** module. * Use a **non-Kenyan company** (e.g., “My Company (San Francisco)”). * Open any invoice for that company. **Observed behavior:** * A warning about **incomplete eTIMS configuration** is shown on invoices, even though the company is not based in Kenya. **Cause:** * The eTIMS validation logic runs for **all companies**. * Non-Kenyan companies, which do not require eTIMS setup, are still evaluated and trigger the warning. **Fix:** * Run the eTIMS validation only for **Kenyan companies**. * Suppress the warning for companies outside Kenya. opw-5435558 Forward-Port-Of: odoo/enterprise#103158
This update prevents notifications for other recipients from being incorrectly marked as ‘bounced’ when a single recipient’s bounce notification is received. The fix ensures that bounce notifications are accurately associated with the recipient who triggered the bounce, improving email deliverability reporting and reducing potential customer confusion. This resolves an issue where a single bounce email could falsely flag other recipients’ notifications as undeliverable.
Original PR description
When a bounce is received for one recipient of a message sent to multiple partners, notifications for other recipients can be incorrectly marked as “bounced”. Reproduction Steps: 1. Configure an…
When a bounce is received for one recipient of a message sent to multiple partners, notifications for other recipients can be incorrectly marked as “bounced”. Reproduction Steps: 1. Configure an incoming mail server with a bounce alias. 2. Create multiple contacts with different email addresses. 3. Send a message that notifies multiple contacts. 4. Process a bounce email related to only one recipient. 5. Observe that notifications for other recipients of the same message are also marked as “bounced”. Root Cause: During bounce processing, `MailThread._routing_handle_bounce` builds a search domain to identify which `mail.notification` records should be updated. The original implementation constructed an `OR` domain that could include empty domain elements (`[]`) when some bounce identification data was missing. In Odoo’s domain logic, an empty domain represents a constant “match all” condition. When such a domain is included in an `OR`, the entire expression can match all notifications linked to the message, rather than only those related to the bounced recipient. Fix: The domain used to select bounced notifications is now built dynamically. Criteria are only added when the corresponding bounce identification data is present. opw-5349170 Forward-Port-Of: odoo/odoo#242650
This update fixes an issue where manually set currency rates on foreign currency invoices were being overwritten at posting time. The change ensures that users retain the rates they manually entered, improving accuracy in invoicing. This primarily affects invoices created using the l10n_de and l10n_hu_edi modules.
Original PR description
Initial setup: Install l10n_hu_edi and l10n_de. When creating a customer invoice DE in a foreign currency, a manually edited currency rate was overridden at posting time with the rate from the currency table. Reason: l10n_de overrides `move._post` to assign the `delivery_date`. l10n_hu_edi recompute currency rates when the `delivery_date` changes. Ensure that any manually entered rate is preserved during posting by making sure that l10n_hu_edi override only affect HU moves. task-5391774 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#242192
This update ensures that the 'Activity' column in follow-up level list views only appears when 'Schedule Activity' is enabled. Previously, it incorrectly displayed an activity even when the option was disabled, leading to inconsistent data. This change improves the clarity and accuracy of follow-up level information.
Original PR description
Currently, follow-up levels display an `activity` in the list view even when the `Schedule Activity` option is not enabled on the record. **Steps to reproduce:** - Install the `account_followup`…
Currently, follow-up levels display an `activity` in the list view even when the `Schedule Activity` option is not enabled on the record. **Steps to reproduce:** - Install the `account_followup` module. - Navigate to Accounting > Configuration > Invoicing > Follow-up Levels. - Click `New` and enter a `description`. - Open the `Activity tab`, `enable` Schedule Activity, set an Activity Type and Summary, then `save`. - `Disable` Schedule Activity, `save` the record again, and return to the `list view`. - Observe the `Activity` for the newly created follow-up level. **Observation:** The Activity column still shows a value in the list view, even though Schedule Activity is unchecked. **Root Cause:** At [1], `activity_type_id` is always shown in the list view without considering `create_activity`, causing the `activity` to remain visible even when `Schedule Activity` is `disabled`. **Fix:** This commit ensures that the `Activity` is displayed in the list view only when `Schedule Activity` (`create_activity`) is enabled for the record. [1]: https://github.com/odoo/enterprise/blob/d7882a8f97802d7302d81c1fa375a81bb4ca4717/account_followup/views/account_followup_line_views.xml#L13 opw-5476176 Forward-Port-Of: odoo/enterprise#104427