Wednesday, November 26, 2025
19 changes · master
New functionality added to Odoo
This update adds demo data and sample orders specifically designed for online food delivery providers using the Urban Piper integration. This allows users to easily test and understand how the system handles online orders from these providers, improving the onboarding process and demonstration capabilities.
Original PR description
Following this commit: - Demo data and demo pos. orders will now be available for online food delivery providers. task-5025350
Enhancements to existing features
This update ensures that the same optional fields related to vehicle information are consistently displayed on both Receipts and Vendor Bills. This improves data clarity and simplifies the process for users entering this information, aligning the user experience across different document types. It addresses a previous inconsistency identified in the system.
Original PR description
This commit ensures that the same optional fields are displayed consistently on both Receipts and Vendor Bills. Updated the visibility of the following fields: - vehicle_id (Vehicle) task-5349202 Forward-Port-Of: odoo/enterprise#100422
Resolved issues and error corrections
This update prevents the 'My Drive' folder from automatically unfolding when you open a folder within it, like 'Company'. Previously, this behavior caused unnecessary expansion and improved the user experience by aligning folder behavior with other root folders.
Original PR description
Steps to reproduce =================== - Go to the `All` section. - Open the folder hosted in the `My Drive`. - `My Drive` gets unfolded. To Be ===== - The` My Drive` folder should not be unfolded when opening folders inside it, like `Company`. Technical =========== - Earlier, we were sticking to the condition that allows other root folders to unfold when we open a folder inside it, except the `Company` folder. After this commit ================== - This commit addresses the issue, and now whenever we click on a certain folder it will not unfold until its root is unfolded. Task-5046161 Forward-Port-Of: odoo/enterprise#100213 Forward-Port-Of: odoo/enterprise#93718
Features or functions removed from Odoo
This update simplifies the payment process for self-order POS systems. Due to a recent update in the core Odoo platform (odoo/odoo#231190), payment code previously specific to self-order POS is no longer needed. The updated code now leverages shared payment code from the standard POS module, streamlining operations and reducing complexity.
Original PR description
Since odoo/odoo#231190, payment terminals can now share the same code between the POS and the Kiosk. This means payment code in `pos_self_order_iot` can be removed, since the code from `pos_iot` can be used instead.
Code cleanup and technical improvements
This pull request contains updates to Odoo's VoIP functionality, primarily focused on streamlining the codebase and improving performance. Several internal components and services have been removed or refactored to enhance the overall stability and efficiency of the VoIP system. These changes contribute to a more reliable and responsive user experience.
This update prevents the unintended expansion of multiple folders when dragging documents. A 1-second delay is now implemented before a folder expands, ensuring a smoother and less distracting user experience. This change reduces visual clutter and improves usability within the Documents module.
Original PR description
Previously, when dragging documents and hovering over a folder in the side panel, the folder was expanded immediately. This led to the unintended expansion of multiple folders. This PR introduces a 1-second delay before expanding a folder during drag-and-drop operations, and only that folder will be expanded where we hover for 1 second; if some folders were previously hovered, that will be ignored, improving usability and reducing unnecessary noise in the UI. Task-4982715
This update ensures that salary attachments are correctly marked as 'cancelled' when an employee is archived, providing a more accurate record of payroll history. A message is also posted in the chatter to document the cancellation, improving transparency and auditability. This change enhances data consistency within the HR payroll module.
Original PR description
When an employee is archived, the related salary attachment's - Set the salary attachment state to 'cancelled' to reflect the change. - Post a message in the chatter explaining the cancellation due to archiving. task - 4991281
This update resolves an issue where the 'Click to Start' navigator wasn't appearing for documents without sign items. The fix ensures the navigator displays when a document has sign items, improving the user experience and making it easier for users to begin the signing process.
Original PR description
Version: - saas-18.4 Steps to reproduce: - Add multiple documents in sign app. - Add sign item for user in first document and keep second document without any sign item. - Try sign document. Issue: - The "Click to Start" navigator is not visible when signing. - `postRender` runs for all documents and calls `checkSignItemsCompletion`, which then calls `updateDocumentsWithUnsignedItems(false)` for documents without sign items. - This passes false to `controlNavigatorVisibility`, hiding the navigator even though the first document has unsigned items. Solution: - In `controlNavigatorVisibility`, instead of relying only on the `hasUnsignedItems` flag, check if the current document is unsigned and has sign items for the current signer before toggling the navigator. Impact: - The "Click to Start" navigator now appears correctly, helping users start the signing process smoothly. task-5148722 Forward-Port-Of: odoo/enterprise#97205
This update resolves a minor visual issue in the Documents app where UI elements were overlapping. The team adjusted the layout to ensure proper display and functionality of key features, specifically the translate button and activity actions. This improves the overall user experience within the Documents module.
Original PR description
This PR addresses the following UI issues in the documents app: - Fix the overlapping of the translate button of name with the file size in `DocumentsDetailsPanel`. - Hide the `DocumentsAction` in activity view as they were not working anymore. Technical ============================ - Set position: relative on .o_field_input_buttons. The .o_field_input_buttons had position: absolute by default, but since .o_documents_details_panel_name uses display: contents, the ancestor context for absolute positioning is lost. Because display: contents makes the parent disappear visually and the children behave as independent elements, the absolute positioning behaves unexpectedly. Setting position: relative on .o_field_input_buttons resolves this by providing a proper positioning context. Task-4792112 Forward-Port-Of: odoo/enterprise#86436
This update fixes an issue where deposited amounts were incorrectly shown as 'Total Due' in customer records. A recent system update caused a miscalculation, leading to inaccurate deposit displays. The fix ensures deposited amounts are now correctly shown as deposits, improving clarity for users.
Original PR description
Steps to reproduce: =================== 1. Open the customer list. 2. Select a customer and choose `Deposit money`. 3. Deposit an amount (e.g. 50) and confirm. 4. Open the customer list again. Issue: ====== The deposited amount is shown as `Total Due` instead of `Deposited`. Also the confirmation dialog for deposit showing negative amount. Cause: ====== A major refactor in order change calculation, passes the negative change value to the `depositOrder`, so the deposit was recorded as a due amount. Fix: ==== Negate the change value when adding the deposit order line so it becomes positive and is correctly shown as a deposit. Task: 5227004 Forward-Port-Of: odoo/enterprise#98847
This update resolves a technical error related to employee cost calculations within the Odoo Enterprise payroll module. The issue stemmed from a dependency conflict when modules were loaded in a specific order, causing a data lookup failure. The fix establishes a clear dependency between payroll and the employee contract modules to ensure correct data processing.
Original PR description
Reproduce Issue : loading hr_contract_salary after l10n_sa_hr_payroll causes this error : Element '<xpath expr="//separator[@name='employer_costs']">' cannot be located in parent view Issue : in the hr_employee_view of the l10n_sa_hr_payroll , we inject three fields in the seperator "employer_costs" which is defined in hr_contract_salary , because there is no dependecy between the two modules , this causes the error to happen if the l10n_sa_hr_payroll is loaded first. Fix : Create another view to add these fields in the l10n_sa_hr_contract_salary module which depends on both l10n_sa_hr_payroll and hr_contract_salary task - 5258832 related PR : enterprise#98239
This update corrects a technical error in the POS tour tests related to the company name being incorrectly configured. The fix ensures accurate tour functionality, preventing potential issues with reporting and data accuracy. This resolves a minor inconsistency within the Odoo Enterprise system.
Original PR description
There was an error in the generic hooks, the company name was not the correct one. runbot-234336 Forward-Port-Of: odoo/enterprise#100311
This update corrects a technical issue where Odoo would display an error when a required field was hidden. The change ensures that Odoo properly handles invisible fields, preventing unexpected errors and improving user experience. This ensures data entry is more reliable.
Original PR description
When a required select is invisible, you may get an error saying the a required field is not set. So like for other type of fields, we check the visibility of the field. Forward-Port-Of: odoo/enterprise#100442
This update fixes an issue with incorrect XML identifiers used in the 'l10n_in_reports' module for generating fiscal reports in Russia. The changes ensure accurate report formatting and compliance with Russian tax regulations. This improves the reliability of financial reporting.
Original PR description
see https://github.com/odoo/odoo/pull/233895 task-5225537
This update resolves a warning that occurred during automated testing (the 'click-all' test) related to a malformed PDF. The fix involved manually correcting the PDF's structure to align with browser rendering requirements, preventing the warning and ensuring consistent test results.
Original PR description
This commit updates the malformed PDF to prevent warnings during the "click-all" test. PDF.js warning message: > Warning: CFF stem hints are in wrong order Additional information from the PDF.js source code: > Some browsers don't draw glyphs that specify vstems before hstems. > As a workaround, replace hstem (1) and hstemhm (18) with a pointless > vstem (3) or vstemhm (23). The PDF was manually patched in the same way as the on-the-fly fix applied by PDF.js. runbot-error-234355
This update automatically activates the EC Sales List report menu item for Odoo Enterprise users in several European countries (Bulgaria, Cyprus, Czech Republic, Latvia, Poland, Romania). Previously, users in these regions had to manually enable the report, streamlining the reporting process and improving user experience.
Original PR description
In this PR: - Added XML records to set the EC Sales List report menu item as active for some EU countries that previously required manual activation. Task-4885725 Forward-Port-Of: odoo/enterprise#100420 Forward-Port-Of: odoo/enterprise#93939
This update ensures the Finnish translations for reports are accurate and complete. Specifically, the necessary POT file was updated, and translation settings were adjusted for the EC sales report to align with official translations. This improves the user experience for Finnish-speaking customers.
Original PR description
The aim of this commit is updating the POT file as we forgot to do it in this commit [[1]]. We also translate report column names in the PO files as we have official translation for it. This commit also disables the translation on the TXT EC sales report. no task id [1]: https://github.com/odoo/enterprise/commit/4887ed53d3a22fdcd766ab0ae77da7cb0498e5a3 Forward-Port-Of: odoo/enterprise#100369 Forward-Port-Of: odoo/enterprise#99887
This update ensures consistent image background colors in both light and dark modes within the Enterprise version of Odoo. Previously, transparent images in dark mode resulted in a less-than-ideal visual experience. This change maintains a uniform background color for image fields, improving readability and aesthetics.
Original PR description
Since we don’t provide a separate avatar version for dark mode, we need to keep the same background color for transparent images in both modes to avoid odd or unreadable rendering. Therefore, this commit defines the same default background color for `field_image`. task-5221516 Requires: - https://github.com/odoo/odoo/pull/234110
This update fixes an issue where return deadlines weren't being calculated correctly for older databases. Specifically, it handles cases where returns were marked as 'completed' without a deadline date, ensuring deadlines are automatically assigned based on current settings. This improves data consistency and prevents errors when viewing return lists.
Original PR description
[FIX] account_reports: returns: recomputed date_deadline when is_completed is set to False To align it with the current deadline delay configured on the return type, and keep data consistent. Also,…
[FIX] account_reports: returns: recomputed date_deadline when is_completed is set to False To align it with the current deadline delay configured on the return type, and keep data consistent. Also, databases migrated before https://github.com/odoo/upgrade/pull/8841 could contain returns marked as completed with no value set for the deadline. With this, we ensure unmarking them as completed will grant them one. opw-5259168 ==================================================================== [FIX] account_reports: returns: avoid error when computing days_to_deadline for migrated dbs Databases migrated before https://github.com/odoo/upgrade/pull/8841 could contain returns marked as completed, but without any date_deadline. On such a db, if you open the list of returns, then remove the "to do" filter, you get an error, because _compute_days_to_deadline tries to substract today from None. This commit just makes the computation more resilient, and arbitrarily chooses that a return without deadline is due today. opw-5259168 Forward-Port-Of: odoo/enterprise#100513