Friday, November 21, 2025
10 changes · master
Enhancements to existing features
Invoice and receipt reports for Saudi Arabia and the UAE now show clearer localized wording. UAE credit notes include the tax label, and the “not a legal document” message follows the selected dual-language setting, reducing confusion for customers and staff.
Original PR description
Description of the issue/feature this PR addresses: - add tax to credit not reports in l10n_ae -adjusted arabic/english translations of 'this is not a legal document' to for the dual language option in settings Current behavior before PR: - tax wasn't printed before 'credit note' in l10n_ae - this is not a legal document always printed in both languages. Desired behavior after PR is merged: - tax shows before 'credit note' - this is not a legal document is printed in the language based on if the dual language setting is ticked. task-5067998 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#234931
Sessions are now marked as saved after their data is written, so the system no longer treats them as needing another save unless they change again. This reduces redundant work in HTTP session handling and keeps the session state more accurate.
Original PR description
Before this commit, when a session was saved (or at least when an attempt was made to save it), it was always marked as dirty. However, after this save logic, the session continued to be dirty. This commit marks the session as non-dirty after saving. This behaviour is more consistent given that the data is on disk. There is no longer any reason to re-save as long as the session has not been touched.
Gamification goals now prevent sum calculations on fields that are not numeric. This avoids incorrect challenge setup and helps keep goal tracking reliable for users.
Original PR description
Purpose ======= Do not allow computing the sum on non-numeric field, followup of #208077 . Task-4818816
The Irish localization now includes the required tag for triangular sales in EC sales reporting. This supports upcoming reporting changes and helps ensure Irish tax data is categorized correctly for compliance workflows.
Original PR description
In the related enterprise PR, a refactor of the EC sales report is conducted, and the triangular tag must be defined for localizations. task-4260016 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
VoIP now uses Odoo’s official country records instead of hard-coded country codes when showing flags and country names. This improves accuracy for countries and territories with special flag or naming rules, such as Bonaire, Sint Eustatius, and Saba.
Original PR description
Previously, we hard-coded the URL according to the country code to display a country flag. However, this is not the case for all countries. Countries like Bonaire, Sint Eustatius, and Saba use the flag of the Netherlands. Additionally, Bonaire, Sint Eustatius, and Saba are shown as Caribbean Netherlands, which is inconsistent with the data from our res.country model. This commit changes it to use the data from res.country. Task-5207454 Forward-Port-Of: odoo/enterprise#99136 Forward-Port-Of: odoo/enterprise#98756
The softphone keypad now keeps the phone number display at a consistent size while users type. This reduces visual flickering and makes entering longer phone numbers feel steadier and easier to read.
Original PR description
When typing a phone number in the softphone, the font size changes several times as the number entered gets longer. Changing the font size is too much flickering of that field. Here, based on countries numbers length and the behavior of Android, we have decided to pick a fixed font size so that 16 characters maximizes the field box. Task ID: 5189671
The delivery IoT screen now shows the scale-related information banner in a more relevant place under the hardware scale settings. This makes guidance easier to notice and understand when users configure weighing devices.
Original PR description
With this commit: ----------------- Improved the placement and visibility of the info banner by moving it under `Operation Type > Hardware > Scales` and applying the proper banner styling. task-3836703
Calendar events created from appointment types now automatically use the appointment type's location. This keeps booking details consistent for users and reduces the chance of missing or mismatched event locations.
Original PR description
Purpose: Ensure calendar events copy the location from their appointment type. Technical: - Made the `location` field on `calendar.event` computed and stored, depending on `appointment_type_id`, to propagate the location from the related appointment type. - Removed redundant location assignment from `_prepare_calendar_event_values`. Task-5144941
The Purchase Order form now places the purchase type field in a more suitable location after recent layout changes. This makes the form clearer and easier for users to navigate when working with partner commissions.
Original PR description
- The position of the purchase_type field on the Purchase Order form has been updated to adapt to community layout changes. - This adjustment simplifies the view, making it easier for users to access and use. Task Id: 4778630
This update simplifies how report date inputs are handled across accounting and local reporting tests. It reduces unnecessary conversions, helping keep report validation consistent and easier to maintain without changing day-to-day user workflows.
Original PR description
`report.generate_options` converts date arguments to string. so it doesn't make sense to convert strings to dates before passing them as arguments. related: https://github.com/odoo/enterprise/pull/99765#discussion_r2538377640