Daily updates from Odoo
Saturday, September 6, 2025
19 changes
Enhancements to existing features
Partner-specific instructions in barcode stock operations now scroll with the stock move list instead of staying fixed in the header. This keeps long instructions from taking over the screen and makes it easier for warehouse users to continue working through stock moves.
Original PR description
The partner-specific instructions div can take up too much space if it contains multiple lines, so we move it out of the header into the stock move list, so that we can scroll away from it with the rest of the stock moves. Task ID: [5060030](https://www.odoo.com/odoo/my-tasks/5060030)
Odoo Enterprise now lets backend users keep their preferred light, dark, or device-based appearance across sessions and devices. This improves comfort and consistency, especially for users who rely on system-wide dark mode settings.
Original PR description
*: test_discuss_full_enterprise This commit implements the support for the browser/device/system prefered color scheme in addition to arbitrary light/dark schemes. Also, it persists accross sessions…
*: test_discuss_full_enterprise This commit implements the support for the browser/device/system prefered color scheme in addition to arbitrary light/dark schemes. Also, it persists accross sessions (and devices) the color scheme choosen by the user in a `res.user.settings`. Note that, as for the existing "dark mode", it only applies to the backend. About the browser/device/system scheme support, please note that as the only current way to actually detect the color scheme (light/dark) to apply is via the `prefers-color-scheme` media query, hence run in the browser ; the server as no way to know it by itself [1]. To work around this limitation, the (existing) cookie is used as the link between the client and server. The drawback is that a reload has to be performed when the user has its browser/device/system set to "dark" and connects for the first time. [1]: Chrome implements the HTTP header `Sec-CH-Prefers-Color-Scheme` but no other browser does at this time and the corresponding spec is very much a "work in progress/draft" at the moment... References: - https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme - https://chromestatus.com/feature/5642300464037888 - https://wicg.github.io/user-preference-media-features-headers/#sec-ch-prefers-color-scheme task-4282066 task-4286033 task-4812669
The VoIP Calls and VoIP Providers pages now show helpful guidance when there is no content yet. This makes it easier for users to understand what to do next instead of seeing a blank view.
Original PR description
This commit adds no-content guides to improve usability. Previously, there was no help message shown in the VoIP Call and VoIP Provider views. Task - 5058364
When a helpdesk ticket is converted into a sales lead, the system now assigns the lead to the sales team leader if the ticket's responsible person is not part of that sales team. This reduces the chance of new sales opportunities being left unassigned and overlooked.
Original PR description
The wizard that converts tickets to leads already has a heuristic to assign the new leads to a user if the ticket's responsible user is also a salesperson in the target team, but if they are not, then the lead remains without responsible and could be missed if no automatic assignment rules exist. This commit extends that heuristic: the wizard now automatically assigns the newly created lead to the sales team's leader if it failed to find the ticket's responsible in the team's members. task-4684660
This update reorganizes accounting-related menu entries across several Odoo Enterprise apps and localizations. Users should find reports, configuration items, and accounting tools in more consistent places, reducing time spent searching through menus.
Original PR description
Community PR: https://github.com/odoo/odoo/pull/225344 task-5060337
Indian localization reports now let each bank template decide whether payment CSV exports include a header row, instead of relying on fixed bank-specific rules. The HDFC export format was also aligned with bank requirements, while an unused template model was removed to simplify maintenance.
Original PR description
- Added a boolean field `include_header` to `enet.bank.template` to control whether CSV exports include a header row for batch payments. - Updated the batch payment CSV generation logic to use this new flag instead of hardcoded checks for specific bank templates. - Removed the `enet.template` model along with related fields and access rules to simplify the codebase. This change improves flexibility in CSV export formatting and reduces code complexity. Upgrade PR: https://github.com/odoo/upgrade/pull/8311
Users are now prompted to complete identity verification as soon as they add a bank account in Odoo, rather than waiting until their first payment. Odoo supports this with an email, notification, and scheduled activity so the process is less likely to be missed.
Original PR description
Users currently initiate the KYC flow automatically when making a first payment. This improves the KYC flow by prompting users to complete it as soon as they add a bank account in Odoo. We send them an email, create a notification and schedule an activity to ensure they complete the KYC process. Task ID: 4487895
Odoo now sends message reactions made by users through WhatsApp, so customers can see those reactions in their WhatsApp conversations. This keeps chat interactions more consistent between Odoo and WhatsApp and avoids confusion when reactions previously stayed only inside Odoo.
Original PR description
Add support for sending reaction type messages via the WhatsApp API by introducing the `reaction` message type in the WhatsAppApi. This resolves the issue where reactions made by Odoo users are not reflected in the customer's WhatsApp conversation. API Documentation: https://developers.facebook.com/docs/whatsapp/cloud-api/messages/reaction-messages Task-4828394 Forward-Port-Of: odoo/enterprise#93932 Forward-Port-Of: odoo/enterprise#88520
UrbanPiper integration errors now show the specific message returned by the service instead of a generic technical error. This helps teams identify and resolve setup or API issues faster, such as duplicate store references.
Original PR description
Before this commit: --- - HTTP errors from UrbanPiper API only showed the generic Python exception. - It was difficult to identify the actual cause (e.g., duplicate store ref_id). After this commit: --- - HTTP error handling now extracts the `message` from the API JSON response. - The displayed/logged error clearly reflects the real cause of the failure. task-5026169 Forward-Port-Of: odoo/enterprise#92713
The Italian tax export flow now shows a 'Close' button instead of 'Submit' for monthly LIPE periods that are not quarter-end months. This makes the action clearer for users and helps avoid confusion when closing month-end tax reporting views.
Original PR description
- Dynamically set the `submittedLabel` to 'Close' instead of 'Submit' when the tax period do not correspond to the last month of a quarter (March, June, September, December). task-4825570 Forward-Port-Of: odoo/enterprise#86920
Indian reporting now uses the updated PAN entity identifier instead of the older PAN field. This helps keep tax reports and payroll demo data aligned with the latest partner identification model, improving consistency for GST reconciliation and related reporting.
Original PR description
Community PR - https://github.com/odoo/odoo/pull/214189 Upgrade PR - https://github.com/odoo/upgrade/pull/7865 Task [link](https://www.odoo.com/odoo/project/967/tasks/4137199) task-4137199
Employees can now register more than one bank account and choose how their salary is distributed between them. Payroll supports fixed-amount allocations first, then distributes the remaining salary by percentage, making salary payments more flexible for employees and HR teams.
Original PR description
[IMP] Employees can have multiple bank accounts This PR aims to allow employees to associate with more than one bank account. Salary computation: Bank accounts can be allocated a fixed amount or a percentage. First, Bank accounts with "Fixed" type are processed, the remaining of the salary is distributed onto the "Percentage" bank accounts according to their percentages. Task-4908556
This update keeps checkout-related behavior aligned with recent address selection changes and UPS delivery page adjustments. It helps ensure customers can continue using checkout flows reliably after related website sale updates.
Original PR description
### [IMP] l10n_test_website_sale: adapt tour_new_billing_ec During the redesign of the address selector, the "Add address" button was moved out of `o_portal_address_row`. This commit updates the test accordingly. task-4904868 ### [IMP] website_sale_ups: adapt to changes task-4307725 ---- See also: - https://github.com/odoo/odoo/pull/209545 - https://github.com/odoo/upgrade/pull/8397
The OCR correction interface now lets users apply scanned text boxes to more fields and select multiple boxes at once. This should make entering and correcting bill and bank statement data faster and more flexible, especially when creating multiple statement or invoice lines from scanned documents.
Original PR description
This commit refactors and improves the OCR boxes interface used to fill in the fields of bills and bank statements. It is now available on all fields, instead of only the fields detected by the OCR. The supported field types are: char, text, html, integer, float, monetary, date, datetime and many2one. It is now possible to select multiple boxes at once. The behaviour will vary depending on the situation: - On textual fields, it will concatenate the content of all boxes and set that value. - For numeric and date fields: - on regular fields, it isn't supported as it doesn't make sense. - on x2many fields, it will create one line from each box. - On top of this, if lines were created using the tool, it will search for aligned boxes among the selection to fill in the corresponding line. task-[5055731](https://www.odoo.com/odoo/project/2068/tasks/5055731)
The purchase product catalog now better connects suggested purchase quantities with the kanban product cards. Suggested items are easier to spot, can be filtered interactively, and adding a product uses the recommended quantity when available.
Original PR description
Description of the issue/feature this PR addresses: The new Suggest UX of the purchase product catalog is more visible (part 1) but not linked directly to the kanban view of the catalog. This PR syncs the new UX with the kanban view. Current behavior before PR: No Link between the product catalog Kanban (of the purchase module) and new Suggest UX. Desired behavior after PR is merged: Show the kanban cards with suggested quantities first, with active style and with the suggested quantities. Change the Add button of the Kanban card from adding 1 unit to suggested quantity if any Make the Suggest UX and Kanban card interactive with the filtering. Part 1 - PR: https://github.com/odoo/odoo/pull/215363 Task: [4783508](https://www.odoo.com/odoo/project/966/tasks/4783508) I confirm I have signed the CLA and read the PR guidelines at [www.odoo.com/submit-pr](http://www.odoo.com/submit-pr)
The Master Production Schedule now separates direct and indirect actual demand, making it easier to understand where needs are coming from. It also improves replenishment suggestions by accounting for early replenishment and highlights products where real demand is higher than forecast, helping planners spot risks sooner.
Original PR description
This commit will apply the following improvements on the information display of MPS: - Add an `Actual Indirect Demand` field instead of adding all the actual demand to the same field. It is direct if it's from SO, and indirect if it's from MO/ transfer to subcontracting location. - Handle the early actual replenishment by taking it into calculation when suggesting forecasted replenishment in the future. - Add a filter `Forecast Too Low`to filter out MPS where actual demand is greater than the forecasted demand. - Indicate if the actual demand is greater than the forecasted by coloring it red. Task-4936437
VoIP users can now choose whether to transfer a call immediately or first speak with the colleague receiving the transfer. They can manage both conversations more easily by switching between calls or ending one while keeping the other active, improving customer handoffs and call handling.
Original PR description
This commit introduces several new options to the transfer feature that already exists in VoIP. Those options are: 1. The user can choose between transferring the current call directly to a potential…
This commit introduces several new options to the transfer feature that already exists in VoIP. Those options are: 1. The user can choose between transferring the current call directly to a potential transferee selected or to ask them first (point 2). 2. The user is able to make another call to the potential transferee before making the transfer. 3. The user can switch between the two active calls (the customer and the potential transferee) freely. 4. The user is able to terminate any one of the two calls while having the other one active. Technical changes to achieve the above options include: - Introduced another session `transferSession` along with `mainSession`. Both sessions are handled through their getter/setter. Also, there is an `activeSession` attribute in the user agent that determines the current active session. - Changed several functions in the userAgent service and the call_model.js to handle both sessions smoothly. - Changing the ContactInfo component props to accept a contact and a phoneNumber instead of a call object. - Introducing a TransferConfirmation component that gives the user the options listed above. - Introducing a CallBanner component that shows the other call when having two calls. - filtered the potential transferee contacts so as not to have the current call contact. Task-4866867
Barcode users handling subcontracting can now open the correct manufacturing order details directly from move lines. This streamlines subcontracting checks and removes an older intermediate record display that no longer fits the updated process.
Original PR description
We remove record components and instead make sure the subcontract details button on the move lines links directly to the correct backend MO form view. task-4321311
VoIP call recordings are now saved at a lower audio bitrate to reduce storage use. This should make recording files smaller without noticeably affecting call recording quality, since typical VoIP audio already uses similar quality levels.
Original PR description
This commit changes the bitrate of call recordings to 8 kbps. This change is intended to reduce the file size. A higher bitrate is not useful anyways, since most VoIP proivders use a similarly low bitrate.