Daily updates from Odoo
Friday, January 23, 2026
29 changes
3 changes
Enhancements to existing features
This update enhances the livechat exit confirmation dialog to provide agents with clearer context. It now displays the visitor's name and the last message from the conversation, reducing the risk of accidentally closing the wrong chat, especially with dynamic livechat lists.
Original PR description
Previously, the confirmation dialog shown when leaving a livechat session was too generic and did not provide enough context to help agents ensure they were closing the correct conversation. As a…
Previously, the confirmation dialog shown when leaving a livechat session was too generic and did not provide enough context to help agents ensure they were closing the correct conversation. As a result, agents could accidentally leave the wrong chat, especially when the livechat list is reordered due to new incoming messages. This PR improves the dialog to make the action clearer and safer: - Displays the visitor’s name in the confirmation title. - Shows the most recent message from the conversation in the dialog body. - Helps agents verify they are leaving the intended conversation. task-5355106 Before this PR: <img width="593" height="138" alt="image" src="https://github.com/user-attachments/assets/363eeab9-0306-47cc-8f4f-4035862f7e29" /> After this PR: <img width="1135" height="277" alt="image" src="https://github.com/user-attachments/assets/6a7b7aea-d3bf-4b52-be39-001448ba7afc" /> Before vs After (Chat Window) <table> <tr> <td> <img width="256" height="422" src="https://github.com/user-attachments/assets/b895b831-e11d-4aee-8f35-cd79f5c77aaf" /> </td> <td> <img width="256" height="422" src="https://github.com/user-attachments/assets/d31c061d-6a6e-42cb-ae60-12a5329cd4d4" /> </td> </tr> </table> --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update simplifies product imports for the ecommerce platform by introducing an 'Auto' mode. This mode automatically detects product information using public APIs and metadata, streamlining the connection process and reducing manual setup. An error message is also added for empty URLs.
Original PR description
Added the 'Auto' option for ecommerce platform in order to have a default that searches for all public APIs and metadata. Linked to: https://github.com/odoo/website-scraper/pull/420
This update enhances the user experience in the Discuss meeting view by increasing the size of key buttons and refining the overall design. It also includes smaller avatar images and a more modern card name appearance. These changes improve usability and visual appeal within the discuss calls feature.
Original PR description
- bottom buttons in meeting view are bigger - layout buttons in meeting view are moved with side meeting actions - side meeting actions uses non-bg visual - meeting bottom buttons now have hover effect Also makes these other UI changes to discuss calls: - card name has text-shadow instead of dark bg color - avatar img size has been reduced (100px to 80px, was too big) Task-5462123 Before / After <img width="959" height="644" alt="Screenshot 2026-01-02 at 18 16 50" src="https://github.com/user-attachments/assets/b2bd4128-c298-4bfe-9843-4ff9aa2a7595" /> <img width="954" height="639" alt="Screenshot 2026-01-02 at 18 01 24" src="https://github.com/user-attachments/assets/5b954d86-e65e-4c97-8485-9c62200f60b0" />
1 change
Enhancements to existing features
This update simplifies how users view and understand tax rules within the Fiscal Position settings. By streamlining the tax list view, users can now quickly inspect tax mappings without navigating through multiple steps, improving efficiency and accuracy.
Original PR description
-Update the list view opened from the “Taxes” stat button to make tax replacement rules easier to inspect. Impact: -Users can review tax mappings directly without extra clicks. Back-port of: https://github.com/odoo/odoo/pull/244002 task-5374524
1 change
Enhancements to existing features
This update removes a previous restriction that limited the ability to use certain journal accounts for reconciliation. This change provides greater flexibility for users to manage their accounting data and reconcile transactions without limitations. It's a minor improvement that enhances usability.
Original PR description
Previously, a constraint prevented accounts from being non-reconcilable if they were used as default debit/credit accounts involved in journals. This behavior is too restrictive. This commit removes the constraint. task-5254202 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#244398
16 changes
Enhancements to existing features
This update allows users to select and personalize the design of their completion certificates. Previously, certificate styles were fixed, but now users can choose from available options and update designs through document layouts, improving the user experience and offering greater flexibility.
Original PR description
Before: - Users could not choose the completion certificate style. - Certificate design was fixed and could not be changed. After: - Users can now select the certificate style they like. - Certificate design can be updated from document layout. Impact: - More flexibility for users to personalize certificates. - Better user experience and improved customization. task-5423843
This update enhances the connection between Odoo's planning and field service modules. Specifically, a key field has been reintroduced to the planning.slot data structure, enabling more accurate management of invention contracts and streamlining workflows between teams. This improves the overall efficiency of scheduling and resource allocation.
Original PR description
This commit adds the task_id in planning.slot to prepare the integration between planning and field service to correctly manage the invention contract. task-5259217
This update allows users to directly rearrange their favorite articles within the knowledge base, eliminating the need to navigate to other sections. New restrictions have been implemented to prevent incorrect hierarchy changes, ensuring data integrity and usability. The changes also include updated tours to guide users through the new functionality.
Original PR description
Before this commit, it was only possible to resequence favorites (child and roots). This commit enables to allow changing the heirarchy directly from the favorite section to avoid scrolling down to the workspace and other sections. Also, there are three restrictions while dragging: 1. Cannot remove parent and make new root of the children. 2. Cannot make a readonly article a children. 3. Cannot make an article children of a readonly article. Tours are also modified to verify the behaviour. Task-4830559
This update refines how work entry data is created, ensuring only relevant details are included. This change addresses a need across various Odoo localizations, streamlining data and improving efficiency. It focuses on filtering work entries based on their type, ensuring accurate reporting and management.
Original PR description
This commits adds an optional domain when creating work entries to only include the work details that are `is_work` or that don't have a work_entry_type_id, this is needed by a lot of localizations task-5076624 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update aligns the subscription sale order view with the new eCommerce sale order view. This ensures a consistent and streamlined experience for customers purchasing subscriptions through the online store. The change improves the usability and presentation of subscription options within the website.
Original PR description
This commit replicates the existing subscription sale order view and adjusts it for the newly created sale order view for the eCommerce context. See Also: - https://github.com/odoo/odoo/pull/230760 task-5153059
This update enhances the way users search for property types within the Odoo web interface. The change replaces a dropdown menu with a search-enabled select menu, allowing for faster and more intuitive property type lookups. This improvement streamlines the user experience and improves efficiency.
Original PR description
This commit replaces the property definition type dropdown by a select menu. It allows searching the property type in the input. The select menu now highlights the searched text in the option labels and supports odoomark. task-5226604
This update changes the way Odoo generates language URLs from underscores to hyphens (e.g., en-US). This aligns with modern web standards, boosting SEO performance and ensuring consistent URL usage across the system. This change improves the overall user experience and search engine optimization.
Original PR description
Current behavior before PR: - The url_code stored for a language used the underscore format (en_US, fr_BE, etc.). - This format is not SEO-friendly and goes against modern conventions which prefer hyphens (e.g., en-US, fr-BE). Desired behavior after PR is merged: - The url_code is now automatically generated using a hyphenated format (en-US, fr-BE) instead of using an underscore. - This url_code can now be used consistently anywhere in the system for building URLs or SEO paths. Task - 4953805 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update centralizes the logic for controlling button visibility in the MRP and Repair modules, reducing redundancy and ensuring consistency across the Community and Enterprise versions of Odoo. By standardizing visibility rules, this change simplifies future updates and maintenance, improving overall system stability.
Original PR description
Introduce computed boolean fields to represent the shared visibility conditions for the `Produce` and `Produce All` buttons in MRP and the `End Repair` button in Repair. Enterprise modules now reuse these fields instead of duplicating the logic inside the XML `invisible` attributes. This reduces code duplication, avoids inconsistencies between Community and Enterprise, and makes future overrides simpler and safer. Task ID: 4898373
This update enhances the way complex salary rule parameters are edited within the system. Previously, these parameters – which can include nested data structures – were difficult to view and modify. Now, a new table preview provides a more user-friendly grid-like view for editing, ensuring accurate rule configuration.
Original PR description
Salary rule parameters may contain complex Python expressions such as nested dictionaries or lists of tuples. Displaying those values directly as raw text makes them difficult to read and edit. This commit introduces a dedicated table preview for such parameters. When a tabular structure is detected, the field displays a "View data" button opening a dialog with a grid-like representation of the data, while simple values keep the standard text field behavior. The dialog allows editing table cells and serializes the result back to a valid Python literal, preserving existing rule evaluation semantics. task-5349178
This update enhances the way complex salary rule parameters are managed. Previously, these parameters – which can include nested data structures – were difficult to view and edit. Now, a new table preview provides a more user-friendly grid-like view for editing, ensuring accurate rule configuration.
Original PR description
Salary rule parameters may contain complex Python expressions such as nested dictionaries or lists of tuples. Displaying those values directly as raw text makes them difficult to read and edit. This commit introduces a dedicated table preview for such parameters. When a tabular structure is detected, the field displays a "View data" button opening a dialog with a grid-like representation of the data, while simple values keep the standard text field behavior. The dialog allows editing table cells and serializes the result back to a valid Python literal, preserving existing rule evaluation semantics. task-5349178
This update standardizes the UOM field names across various Odoo logistics modules, consolidating them to 'uom_id'. Previously, multiple names caused confusion and made it difficult to consistently use UOM fields. This change improves clarity and simplifies development.
Original PR description
Currently, the uom field can have 3 different names in logistic modules: - uom_id - product_uom_id - product_uom This is annoying when we need to use a uom field and we have to check what is its name. So we decided to only keep uom_id as the only name for basic uom fields. Task [5364113](https://www.odoo.com/odoo/project.task/5364113)
This update streamlines the handling of UOM fields across various Odoo modules. Previously, multiple names (uom_id, product_uom_id, product_uom) were used, creating confusion. Now, only 'uom_id' will be used for basic UOM fields, simplifying development and reducing potential errors.
Original PR description
Currently, the uom field can have 3 different names in logistic modules: - uom_id - product_uom_id - product_uom This is annoying when we need to use a uom field and we have to check what is its name. So we decided to only keep uom_id as the only name for basic uom fields. task 5364113
This update simplifies stock management by adding a direct access button to locations within warehouses and clearly marking empty locations during stock transfers. These changes reduce navigation time and minimize errors, leading to more efficient stock operations.
Original PR description
Improves stock usability and clarity by: - Adding a new “Locations” smart button on warehouses to provide direct access to all related internal locations, reducing navigation friction. - Making empty internal locations clearly identifiable during stock relocation by appending “Empty” to destination location names. - Simplifying warehouse and location navigation to avoid manual searching through records. - Reducing the risk of selecting unintended destination locations during relocation. - Improving overall efficiency and decision-making in daily stock operations. Task ID: 4535914
This update optimizes the suggestion list in email communication by placing the current user last. This change prioritizes more relevant suggestions for other partners, improving the user experience and efficiency.
Original PR description
With this commit the current user will be the last suggested partner in the suggestion list, as it's very unlikely to mention yourself so the space is better used to display other more relevant suggestions. part of task-5867464
This update significantly speeds up the process of analyzing module dependencies within Odoo, reducing processing time by a third. The change streamlines the underlying code and removes unused features, resulting in a more efficient system. This improves overall Odoo performance and stability.
Original PR description
Looping through every module of community + enterprise (1367 modules) and getting their entire set of dependencies, the new version runs in about a third the time on my machine (1.5s to 4.2s), yielding a result that's almost identical: the new version includes `base`, the old one did not (not sure why, or how).
Now supports calling with `exclude_states=()`, which did not work previously and led to wonky workarounds e.g.
self.upstream_dependencies(exclude_states=('',))
or
module.upstream_dependencies(exclude_states=('uninstallable'))
(which the keen-eyed will notice does not pass a tuple so excludes the individual non-existent states `u`, `n`, `i`, `s`, `t`, `a`, `l`, `b`, and `e`).
Also drops support for `known_deps`: it's not used anywhere and doesn't really seem useful.This update simplifies the mass mailing editor by removing a specific setting related to link font sizes. Users can now adjust link font sizes using the standard editor toolbar, providing a more intuitive and flexible design experience. This change focuses on improving usability within the mass mailing module.
Original PR description
Remove the `mass_mailing` Design Tab `--link-font-size` special variable, as it is more natural that a link font-size is aligned with its container. It is still possible to use the editor toolbar `font-size` feature to change the `font-size` of links individually. task-5868086
4 changes
Enhancements to existing features
This change updates the source of lead mining data within Odoo from Clearbit to Dun & Bradstreet. This aligns with existing data usage for partner autocomplete and ensures we're leveraging a reliable provider for improved lead insights. This update is part of a larger IAP migration.
Original PR description
Before this commit: - Lead mining data was fetched from `clearbit` provider on IAP which is now going to be removed for discovery service After this Commit: - Data will now be fetched from `dun_and_bradstreet` provider on IAP which we are already using for the `partner_autocomplete` IAP PR: https://github.com/odoo/iap-apps/pull/1274 task-4873238 Forward-Port-Of: odoo/odoo#235521
This update enhances the tracking of EDI and e-Way Bill requests by storing the original request data as JSON attachments. This improves debugging, auditing, and compliance efforts, providing a clearer record of these transactions.
Original PR description
Before this PR: - Request payloads sent for EDI and e-Way Bill generation were not persisted. making debugging and audits difficult. After this PR: - all EDI and e-Way Bill request payloads are stored as JSON attachments, ensuring better traceability, troubleshooting, and compliance support. Task: 4896516
This update adjusts the font size of the 'amount due' and 'amount by guest' displays on the payment screen within the Point of Sale module. This enhancement improves readability and ease of use for staff processing payments, particularly when dealing with larger transactions.
Original PR description
Little improvement of the font size of amount due and amount by guest on the payment screen. task: 5473324 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update optimizes how Odoo reports process data, specifically when filtering by related account fields. By grouping similar domain conditions, the system now runs fewer database queries, leading to faster report generation. This change significantly reduces the time it takes to open reports like the Generic Balance Sheet.
Original PR description
Before this commit, the 'domain' engine was never batched: one expression to evaluate caused one SQL query to be run just for it. With this commit, we group domains that could be evaluated together. Essentially, when we have domains targetting the same many2one field of account.move.line (typically account_id, with conditions like 'account_id.code' or 'account_id.account_type'), we run only one SQL query for all of them, targetting all the move lines according to the report filters. Then, we iterate on its result for each domain to evaluate. When iterating over the results, we filter the ones we keep by searching separately on each traversing model (in our example, account.account), to isolate the ones that are actually targetted by each expression. Tested on our prod. With this, opening the Generic Balance Sheet goes from 1min 35s to 36s. opw-5130725 Forward-Port-Of: odoo/enterprise#101725
3 changes
Enhancements to existing features
This update enhances the Invoicing & Banks role's access to critical accounting reports like General Ledger and Profit & Loss. Previously restricted, the role now has read-only access, improving reporting capabilities and providing better insights for financial analysis.
Original PR description
Before: The Invoicing & Banks role did not have access to important accounting reports such as General Ledger, Trial Balance, and Profit & Loss. After: The role now inherits read-only privileges, allowing access to all essential accounting reports. Task-5418541
This update improves how product prices are displayed in Odoo. A new method, `_get_price_label_base_str()`, has been added to the product pricelist item model. This change allows for more flexible and customizable formatting of price labels, ensuring consistent and accurate presentation of pricing information.
Original PR description
Add `_get_price_label_base_str()` method in order to exend it @Tecnativa --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update switches the directory lookup for Nemhandel from a discontinued CNAME method to a more reliable IAP lookup. This ensures continued functionality with Nemhandel, which is a key partner for Danish businesses. The update also standardizes a component for improved consistency.
Original PR description
We need to switch the lookup on the directory to NAPTR, as the CNAME one is discontinued on January. We now go through IAP to do the lookup. It's also ensuring _check_document_type_support has always the same format as the super() coming from Peppol. task-4486039 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
1 change
Enhancements to existing features
This update streamlines CRM email templates by removing unnecessary fields. This change ensures more data is captured in chatter, particularly without requiring a system upgrade, and prevents duplicate information from being sent. It’s a small improvement to data accuracy and efficiency.
Original PR description
- Remove newly added fields that can be replaced by existing keys present in `iap_mail.enrich_company` template to ensure we get more data in chatter without upgrade and avoid duplicate entries IAP PR: https://github.com/odoo/iap-apps/pull/1390