Daily updates from Odoo
Monday, January 5, 2026
33 changes
2 changes
Enhancements to existing features
This update ensures that Odoo's Australian tax reporting continues to function correctly within the 19.0 release. The tax return type has been aligned with the master BAS report, maintaining compatibility while future changes are implemented in the main Odoo codebase.
Original PR description
Update the existing tax return type to be mapped to the master BAS report. This ensures the return type continues to work in 19.0, where the original report cannot be removed from stable. Additional BAS return types and activation logic will be handled separately in master, where inactive return types are supported. community pr - https://github.com/odoo/odoo/pull/239999 task-[5416350](https://www.odoo.com/odoo/project.task/5416350) Forward-Port-Of: odoo/enterprise#102114
This update enhances the integration with Adyen, a payment processor, by adding crucial information about the Odoo platform to the payment requests. This ensures accurate transmission of key details, leading to smoother and more reliable payment processing. A new test has been implemented to verify the successful completion of payments with this updated information.
Original PR description
Add applicationInfo to the payload sent to Adyen, ensuring that externalPlatform is correctly transmitted. A test was added to verify that applicationInfo is present in the payload and that the payment request succeeds as expected. task-5157863 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#238776 Forward-Port-Of: odoo/odoo#233075
1 change
Enhancements to existing features
This update automatically sends rejection emails to applicants when a predefined email template is associated with the refusal reason. Previously, users had to manually enable this feature. This streamlines the recruitment process and ensures timely communication with candidates.
Original PR description
In this commit, we make the toggle button "Send Email" enabled by default whenever the refusal reason has an email template, including the reason selected by default in the wizard. TaskID: 5245023
26 changes
Enhancements to existing features
This update changes the survey question type from 'datetime' to 'time', providing users with a more accurate way to record time-based responses. This improves the data collected in surveys and aligns with user expectations for time input. This change is related to a previous enterprise update.
Original PR description
Change datetime question type to time question type. related PR: https://github.com/odoo/enterprise/pull/91524 Task-4896317 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update refines how time answers are displayed in Odoo survey spreadsheets. It aligns with a recent change to use a time question type instead of a datetime type, ensuring more accurate and consistent reporting of time-based responses. This improves the usability and reliability of survey data within spreadsheets.
Original PR description
Following the related PR, the datetime question type has been updated to a time question type. Adapt the display of time answers on spreadsheets. related PR: odoo/odoo#221421 Task-4896317
This update simplifies the AadharSign integration within Odoo Enterprise. Previously, AadharSign was automatically enabled and visible globally, but now it's disabled by default and only appears for companies in India. This change aligns the system with regional requirements and reduces unnecessary complexity.
Original PR description
Before this PR, the emsigner was installed by default for all apps and shown in every country. Now, the AadharSign setting is disabled by default and only visible when the company’s country is India, since it’s only needed for Indian companies. task-5175955
This update enhances the Odoo Enterprise IoT Box debug mode by displaying the correct operating system icon (Windows or Linux) based on whether the IoT Box is running virtually or physically. This provides a clearer visual representation of the IoT Box's environment for support and troubleshooting.
Original PR description
In debug mode, we now display a Windows or Linux icon depending on the OS of the IoT Box (Virtual/Physical).
This update enhances the VoIP system tray icon's behavior, ensuring it correctly identifies whether the user is in the main application tab. This improves the user experience by providing consistent functionality across different devices and operating systems. The change is considered an improvement to the existing VoIP system.
This update aligns the subscription handling within the Nilvera e-invoice module with the overall Odoo Enterprise architecture. Previously, this logic was split between Community and Enterprise editions, creating inconsistency. Moving it to a dedicated Enterprise module ensures a streamlined and consistent experience for Enterprise users.
Original PR description
This PR moves the subscription-handling logic to a dedicated bridge module in Enterprise. Since the subscription app itself is an Enterprise feature, keeping the subscription flow in the Community edition, was inconsistent. task-5085628 related upgrade PR: https://github.com/odoo/upgrade/pull/8847 related odoo enterprise PR: https://github.com/odoo/enterprise/pull/99382 I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update adjusts the spacing around text in Odoo's multiline tooltips. Following a previous change, this ensures a cleaner and more professional look for tooltips, improving the overall user experience. This is a minor visual improvement.
Original PR description
After https://github.com/odoo/odoo/pull/239198, we need to adjust the padding of multiline tooltips to avoid having too much space around the text. No task ID
This update adds a system for managing worker codes within the Belgian HR payroll module. These codes are now required for accurate payroll processing, aligning with Belgian tax regulations and improving data accuracy for employee payments. This change ensures compliance and streamlines payroll reporting.
Original PR description
TaskID: 5410472
This update enhances the Point of Sale system's ability to connect with IoT devices. By enabling Local Network Access (LNA), the system can now function correctly with IoT boxes without requiring a secure HTTPS certificate, improving reliability and simplifying setup. This change was driven by recent updates to Chromium and the introduction of a system parameter for POS requests.
Original PR description
Enterprise PR: https://github.com/odoo/enterprise/pull/100331 **This PR contains 2 commits:** - **[IMP] iot_base: allow use of LNA for IoT requests** Chromium 142 added support for HTTPS -> HTTP…
Enterprise PR: https://github.com/odoo/enterprise/pull/100331 **This PR contains 2 commits:** - **[IMP] iot_base: allow use of LNA for IoT requests** Chromium 142 added support for HTTPS -> HTTP requests on the local network (Local Network Access). This commit adds a flag to the IoT longpolling class to enable LNA support. The flag forces all requests to use HTTP even in an HTTPS environment. It also sets the `targetAddressSpace` option to `local` in the `fetch` request. - **[IMP] point_of_sale: use_lna support for IoT requests** Since https://github.com/odoo/odoo/pull/235702, there is a `point_of_sale.use_lna` system parameter. When it is set, ePOS requests will use HTTP instead of HTTPS, and the `targetAddressSpace: "local"` option is used in the `fetch` request. This bypasses the need for a HTTPS certificate. This commit adds the same functionality to all IoT requests from the POS. This should allow the IoT box to function correctly without a HTTPS certificate. task-5353672 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#237598 Forward-Port-Of: odoo/odoo#237147
This update allows IoT printers to use HTTP for communication, bypassing the need for HTTPS certificates. Previously, this functionality was missing, now a warning message appears when HTTP requests fail and a fallback to the websocket is used. This enhances printer connectivity and stability.
Original PR description
Community PR: https://github.com/odoo/odoo/pull/237147 Since odoo/odoo#235702, there is a `point_of_sale.use_lna` system parameter. When it is set, ePOS requests will use HTTP instead of HTTPS, and the `targetAddressSpace: "local"` option is used in the `fetch` request. This bypasses the need for a HTTPS certificate. This commit adds the same functionality to all IoT requests from the POS. This should allow the IoT box to function correctly without a HTTPS certificate. In addition, we now show a warning message when a request to the Blackbox via HTTP fails and has to fallback to the websocket. task-5353672 Forward-Port-Of: odoo/enterprise#100640 Forward-Port-Of: odoo/enterprise#100331
This update simplifies the process of setting up one-time payments in payroll by allowing users to directly select the employee instead of a version number. This change makes the interface more intuitive and easier to understand, reducing potential errors and improving the overall user experience. It addresses a previous usability issue.
Original PR description
… payment form ### Before: You can select a specific version in the contract wage calendar form view for one time payments which is not user friendly and not very explicit. ### After: You can choose the employee directly, making the process clearer and more user friendly. Task: 5384437
This update simplifies the return process in Odoo by removing distractions and clarifying key actions. The 'Return or Exchange' button has been renamed to 'Exchange' for better usability, and irrelevant links have been removed to streamline the user experience. This change enhances efficiency and reduces user confusion during returns.
Original PR description
*:sale_stock, stock_account - Removed unnecessary hyperlinks (e.g., from 'Units') in the return product wizard to prevent users from being redirected during the return process. This ensures users can focus on adding products and quantities without distractions. - Renamed the 'Return or Exchange' button to 'Exchange' for clarity and simplicity. - This improves the user interface by making it cleaner and easier to understand. - The Return button behavior is refined to consistently appear only when relevant, specifically for delivery orders linked to sales and the delivery orders are in the done state. - The interface is cleaned up by removing unused logic and unnecessary warnings, creating a smoother and more intuitive return experience. - Outdated files and redundant conditions related to return visibility have been removed to ensure a more maintainable and streamlined setup. Task Id: 4823741
This update enhances how deferred expenses and revenues are handled when generated based on 'on bill validation'. Users can now post these entries monthly or annually, providing greater flexibility. The update also simplifies the calculation method and removes a redundant button, streamlining the process.
Original PR description
For the deferred expenses and revenues, when the generate method is 'on bill validation', adding a periodicity, so entries can be posted either each month or each year. Changing the name of 'Based on' to 'Computation' for the amount computation method, and changing the names. Deleting the button 'Cut-Off' from the invoice and bill form view of Journal Items. task-5207488 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update enhances the handling of deferred expenses and revenues linked to invoices. Users can now choose to post these entries monthly or annually, providing greater flexibility and accuracy in accounting. Additionally, internal naming conventions have been updated for clarity and efficiency.
Original PR description
For the deferred expenses and revenues, when the generate method is 'on bill validation', adding a periodicity, so entries can be posted either each month or each year. Changing the name of 'Based on' to 'Computation' for the amount computation method, and changing the names. task-5207488
This update modernizes the Saudi Arabia payroll system by converting legacy input methods into a new property-based system aligned with localization requirements. This change updates salary rules, advance mechanisms, and loan adjustments, ensuring compliance and improved data management for Saudi payroll processing. A future update will be needed to address salary adjustment functionality.
Original PR description
*= l10n_sa_hr_payroll_account Adapting to the new system of localization other inputs and replace them with the properties in SA localization. - remove the other input types and adpat them into salary rules - update the salary rules as per the new salary input system - update the salary advance mechanism. - update the loan salary adjustment mechanism (The new salary inputs system does not support salary adjustments, so in future this needs to be redone) - update the test cases as per new salary input system - skipped a test case for loan payslip as its needs to be redone task-5122337
This update enhances the website search functionality by allowing for more flexible matching of search terms. Now, searches with missing words (like 'XX YY ZZ') will return relevant results even if not all terms are present. The system intelligently adjusts its matching criteria based on the length of the search query, prioritizing accuracy for shorter searches while offering greater flexibility for longer ones.
Original PR description
Search results are no longer limited to exact matches of all search terms. If user looking for "XX YY ZZ", it should display resource named "XX ZZ" as well. When a query contains more than 2 words, a threshold-based matching strategy is applied so that relevant results are still returned even if some words are missing. The allowed number of missing words depends on the query length: - 1 or 2 words: all words must match - 3 to 5 words: one word may be missing - More than 5 words: up to two words may be missing This keeps short searches strict while allowing flexibility for longer queries. task-5264301 Co-authored-by: Divyesh Vyas <divy@odoo.com>
This update simplifies the duplicate application view by automatically displaying key applicant information (email and phone) and hiding the Stage column, which is already grouped by stage. This makes it easier for recruiters to quickly identify and manage applications, improving overall efficiency.
Original PR description
Before: - The Stage column was shown even though the records can be easily grouped by Stage. - The main identifiers used to recognize an application (email and phone number) were hidden, and the user had to manually enable them. After: - The `Stage` column is now hidden, as it is unnecessary when the view is already grouped by stage. - The primary identifiers (phone number and email) are now visible by default. Impact: Improves the readability and usability of the view by hiding the unnecessary `Stage` column and displaying key identifiers. Task: 5373017 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 update enhances how work entries are tracked by changing the way they link to source records (like holidays) from a single connection to multiple. This allows for better combining and reporting of work entries, particularly when data comes from various sources. It improves the accuracy of work entry aggregation and reporting.
Original PR description
*: ,holidays Convert leave_id and similar source fields to Many2many relationships to allow a single work entry to be linked to multiple source records. This enables proper aggregation and merging of work entries when generating from different sources. Task: 5207344
This update enhances how work entries are created and combined from various sources like attendance, planning, and holidays. By changing how source records are linked, we can now accurately aggregate and merge work entries, leading to more reliable reporting and scheduling. This improves the overall accuracy of our workforce management data.
Original PR description
*: attendance, planning, holidays_enterprise Convert leave_id and similar source fields to Many2many relationships to allow a single work entry to be linked to multiple source records. This enables proper aggregation and merging of work entries when generating from different sources. Task: 5207344
This update adds a new 'Employee' group to the Odoo Time Off application, resolving an issue where internal users lacked full access. Previously, access was neutralized without this group, now all internal users can properly utilize the Time Off application. This ensures consistent functionality for all employees.
Original PR description
Currently, all internal users have access to Time Off. This PR adds a new group "Employee" below "Officer" and "Administrator", not having this group results to the neutralization of the application for the internal user Task: 5383858
This update ensures that the Odoo application functions correctly for internal users by adapting the planning tests to include a new 'Employee' group within the HR Holidays module. Without this change, the application would be effectively unusable for internal users. This aligns the testing with a recent feature addition.
Original PR description
A new group "Employee" has been added to hr_holidays module. Not having this group results to the neutralization of the application for the internal user. This PR adapts the planning tests to this new change by adding the new group to the test users created in the tests. See odoo/odoo#238647 Task: 5383858
This update ensures that our Australian tax reporting continues to function correctly within Odoo Enterprise version 19.0. By mapping the tax return type to the master BAS report, we maintain compatibility and avoid disruptions for our Australian clients' financial reporting.
Original PR description
Update the existing tax return type to be mapped to the master BAS report. This ensures the return type continues to work in 19.0, where the original report cannot be removed from stable. Additional BAS return types and activation logic will be handled separately in master, where inactive return types are supported. community pr - https://github.com/odoo/odoo/pull/239999 task-[5416350](https://www.odoo.com/odoo/project.task/5416350) Forward-Port-Of: odoo/enterprise#102114
This update streamlines the way Odoo templates generate data, making the code simpler and more efficient. By using 'range' instead of array keys, the system avoids unnecessary complexity and improves performance, particularly when generating static data. This change impacts multiple modules, enhancing overall system responsiveness.
Original PR description
\* = account, base_import, hr_attendance, hr_holidays, html_editor, l10n_dk, point_of_sale, portal, pos_loyalty, pos_self_order_event, spreadsheet, spreadsheet_dashboard, website, website_sale The code is simpler when using range. Note 1: in templates Owl already provides the keys as `_index` so explicitly using `keys()` or `range()` is not necessary. Note 2: when filling the result with a static value (no following `map()`), using `Array(n).fill(x)` is more efficient. task-4822140 https://github.com/odoo/enterprise/pull/86408 Note: `range` also appears to be more efficient firefox <img width="306" height="98" alt="image" src="https://github.com/user-attachments/assets/e8441c89-8863-4e75-990c-2d30869301df" /> chrome <img width="315" height="96" alt="image" src="https://github.com/user-attachments/assets/ab0c5be8-deee-4a45-892f-009b6de84dc7" />
This update enhances the performance of several key Odoo Enterprise modules by replacing array keys with ranges. This change streamlines data handling, leading to faster response times and a more efficient user experience across modules like account reports, appointment scheduling, and sales management. It's an internal improvement focused on optimizing core functionality.
Original PR description
\* = account_reports, appointment, documents, hr_expense_stripe, l10n_fr_fec_import, mail_enterprise, sale_timesheet_enterprise, spreadsheet_edition, spreadsheet_sale_management, web_cohort, web_enterprise, web_gantt, web_map Enterprise counter-part. task-4822140 https://github.com/odoo/odoo/pull/211632
This update enhances the partner search interface within Point of Sale. Specifically, the 'no customer' placeholder is now centered for better visibility, and a top margin has been added to the dialog to prevent the 'Create' button from overlapping the header. These changes improve the user experience and make it easier to find customers.
Original PR description
In this commit: --- - Center the “no customer” placeholder for better visibility. - Add top margin to the dialog to avoid the Create button sticking to the header line. task-5428846 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update enhances the integration with Adyen, a payment processor, by adding crucial information about the Odoo platform to the payment requests. This ensures accurate transmission of key details, leading to smoother and more reliable payment processing. A new test has been implemented to confirm the functionality.
Original PR description
Add applicationInfo to the payload sent to Adyen, ensuring that externalPlatform is correctly transmitted. A test was added to verify that applicationInfo is present in the payload and that the payment request succeeds as expected. task-5157863 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#238776 Forward-Port-Of: odoo/odoo#233075
1 change
Enhancements to existing features
This update ensures our Australian business reporting continues to function correctly within Odoo Enterprise version 19.0. It maps the existing tax return type to the master BAS report, addressing a compatibility issue where the original report could no longer be removed from the stable version.
Original PR description
Update the existing tax return type to be mapped to the master BAS report. This ensures the return type continues to work in 19.0, where the original report cannot be removed from stable. Additional BAS return types and activation logic will be handled separately in master, where inactive return types are supported. community pr - https://github.com/odoo/odoo/pull/239999 task-[5416350](https://www.odoo.com/odoo/project.task/5416350)
3 changes
Enhancements to existing features
This update improves the user experience when receiving incoming calls. Now, clicking on the avatar or number associated with a call's contact redirects you directly to that contact's profile within Odoo. This streamlines communication and makes it easier to access relevant contact information.
Original PR description
When incoming call has a parnter, we can now click on its avatar or number to redirect to that partner's form. Task-2863783
This update adjusts the handling of tax exemption reasons in UBL (Universal Business Language) documents. Previously, a specific reason code was always required; now, it's optional. When a reason code isn't provided, the system automatically uses a default reason based on the tax category, ensuring compliance with UBL standards.
Original PR description
According to the ubl documentation the tax exemption reason code is not always required on the document. But when no exemption reason code is given, we have a default exemption reason for the appropriate tax categories. task: 5223145
This update enhances the tracking of driver activities and performance within the Odoo system. By adding logging and performance checks for the longpolling controller, we'll gain better insights into driver operations and identify potential bottlenecks. This change is related to a larger effort for the saas-18.3 release.
Original PR description
This PR adds logging and performance check for the longpolling controller Related PR for >= saas-18.3: https://github.com/odoo/odoo/pull/241467