Daily updates from Odoo
Wednesday, August 13, 2025
23 changes
3 changes
Enhancements to existing features
Users can now update only part of an analytic distribution when editing multiple journal or analytic items at once. This makes bulk corrections faster and less error-prone when only one analytic plan needs to change across several records.
Original PR description
In Journal Items list view, mass edition of the Analytic Distribution on several records is disappointing and reported almost unusable. It is impossible to mass edit only one plan on multiple lines using a distribution. This commit is adding the possibility to do so from the list view of analytic items but also from the journal items. task-4937143 Forward-Port-Of: odoo/odoo#222728 Forward-Port-Of: odoo/odoo#219582
Reconciliation matching rules now handle negative “between” amounts correctly whether users enter the lower or higher value first. This reduces confusion when setting up accounting automation and helps bank statement lines match as expected.
Original PR description
Before this commit, when having the match amount in between with negative amount we had the min and max amount. Some user were confused that since the amount are negative the min and max need to be inverted. To solve that we rewrite the way the match amount were dealt to use a case when that will enable to have an in between that works in both ways (min, max and max, min) notask-id Forward-Port-Of: odoo/enterprise#91628
Bank reconciliation screens have been streamlined by removing a redundant shortcut to journal entries, hiding mostly unnecessary statement line status information, and keeping the account assignment action easier to access. Attachment indicators are also suppressed when they would duplicate statement-level attachments, reducing visual clutter for accounting users.
Original PR description
- Removing the action of going to the entry of statement line from the dropdown, new the only possibility will be from the list view - Hide the status of the statement line since it's mostly posted - Adding the set account button everytime next to the set partner task-4985155 Forward-Port-Of: odoo/enterprise#91423
3 changes
Enhancements to existing features
Company enrichment now sends a standard industry code instead of an internal database ID. This prevents errors when a customer has changed their local industry list and helps match Dun & Bradstreet data more reliably.
Original PR description
Ticket #4992568 highlighted a weird way of sending the industry from IAP to the Odoo client. Before this commit, we were sending the IAP psql id of the industry to the client. There, it would be use as is. It works because these industries haven't been changed in years and they're created in the same order. However the ticket highlighted the fact that a user can edit/delete/create its own industries, therefore some ids that exist on IAP might not exist on the client's Odoo instance. This resulted in a traceback on the client's side. With this commit, we now send the industry code (the ISIC: International Standard Industrial Classification) instead to the client. There it can correctly be mapped if it exists on the client's DB (e.g. not deleted) opw-4992568 https://github.com/odoo/iap-apps/pull/1152 Forward-Port-Of: odoo/odoo#222486
Users can now update only part of an analytic distribution when editing multiple journal items or analytic items at once. This makes bulk accounting updates more practical by avoiding the need to replace the full distribution for every selected record.
Original PR description
In Journal Items list view, mass edition of the Analytic Distribution on several records is disappointing and reported almost unusable. It is impossible to mass edit only one plan on multiple lines using a distribution. This commit is adding the possibility to do so from the list view of analytic items but also from the journal items. task-4937143 Forward-Port-Of: odoo/odoo#222728 Forward-Port-Of: odoo/odoo#219582
The UAE payroll end of service report now calculates worked years using the employee’s full time with the company, rather than only actual worked days. This improves accuracy for end of service reporting and helps businesses reflect total service duration consistently.
Original PR description
- update the calculation for the worked years in the end of service report to return the whole duration worked with the comapny not just the actual worked days. Task: 4703337 Forward-Port-Of: odoo/enterprise#92234 Forward-Port-Of: odoo/enterprise#84223
11 changes
Enhancements to existing features
Brazilian AvaTax NCM code records now require both a code and a clear name, reducing duplicate or confusing entries. Dropdown searches and displays are cleaner, and the form layout has been refreshed for easier maintenance.
Original PR description
This model was readonly without any views when it was originally created [1]. We forgot to add the correct constraints, and we duplicated the code inside the name field to avoid overwriting display_name and having to add a _rec_name_search. This commit fixes those issues. First of all, we require both the code and name field. Second of all, we remove the code from the name field and modify display_name and _rec_name_search accordingly. To not have identical display names in a dropdown, we also add a unique constraint on the combination of name and code. It's possible to have multiple identical NCM codes with different EX values, but in those cases the user should give them unique names. We also take the opportunity to put the NCM form view in a sheet, looks a bit more modern that way. [1] https://github.com/odoo/enterprise/pull/43797 task-4998498
The website’s button for moving from the public site to the backend now points to the updated /odoo address instead of the old /web address. This helps users land in the correct backend area and keeps navigation aligned with the current Odoo URL structure.
Original PR description
This commit changes the backend href from /web to /odoo, on the frontend to backend button.
The spreadsheet selection dialog has been redesigned to make labels, fields, and actions clearer for users. Button wording now better reflects the available choices, helping users insert or discard spreadsheet content with more confidence.
Original PR description
## Description
- Restyled the spreadsheet selector dialog for better visibility and clarity.
- Updated title, labels and input style for improved user experience.
Before this PR:
- Labels and fields styling made them less noticeable.
- Action buttons were generically labeled ("Confirm" / "Cancel").
After this PR:
- Labels and input fields are visually prominent and consistently styled.
- Button labels are now action-driven ("Insert" / "Discard").
Task: [4953592](https://www.odoo.com/odoo/project/2328/tasks/4953592)New salary contract offers are now consistently created with an associated employee or applicant. This helps HR teams keep offers properly connected to the right person, reducing confusion and improving record accuracy.
The WhatsApp test tools now automatically clear prior message bus activity before checking new notifications. This reduces flaky or confusing test failures and makes future maintenance safer, without changing customer-facing behavior.
Original PR description
With this change, the `assertBus` context manager is now responsible for resetting the bus state before executing its code block. Previously, `_reset_bus ()` had to be called manually before assertBus in order to explicitly check the bus notification for the targeted test process. This was repetitive and error prone, as forgetting to reset could cause notifications from previous actions to leak into the current assertion, leading to confusing test failures. [Community PR](https://github.com/odoo/odoo/pull/222753)
Breadcrumbs in the Cohort view now restore from the user's recent session state instead of relying only on the page URL. This helps users return to the same navigation path after refreshing the browser, avoiding confusing or extra breadcrumb steps.
Original PR description
Since [1] when reloading the browser the breadcrumb is restored based on the URL. This was implemented in a very naive way. For each action found in the URL, a multiview was added to the breadcrumb.…
Since [1] when reloading the browser the breadcrumb is restored based on the URL. This was implemented in a very naive way. For each action found in the URL, a multiview was added to the breadcrumb. Similarly, for each pain action/ID found in the URL, a form view was added to the breadcrumb. Note that the active_id (found before the action in the URL), is taken into account in the context of the action. For example, if the URL is : `/odoo/project/5/tasks`: - for the `project` action, the list of projects will be added to the breadcrumb; - for the `project/5` action/ID pair, the form view of the project 5 will be added; - for the `5/tasks` action (with active_id 5), the list of tasks for the project 5 will be added. However, this naive implementation does not consider that the user can navigate directly from the list of projects to the list of tasks for a project without passing through the project form view. This commit saves the current state in the session storage, to be used to restore the breadcrumb when the page is reloaded. Note that similar behaviour was implemented to improve action restoration [2]. [1] https://github.com/odoo/odoo/commit/c63d14a0485a553b74a8457aee158384e9ae6d3f [2] https://github.com/odoo/odoo/commit/e8afebdcbf5d725091983fbe3b425fec4aa3a071 task-id 5011505
Shop floor users can now adjust how many manufacturing orders appear at once, restore filtering to the current station, and load all available order cards when needed. This makes it easier for production teams to manage busy work centers with large order volumes.
Original PR description
Three small commits making the handling of large amounts of MOs easier in the shop floor: 1. Add a setting to customize the card limit (currently locked at 40) 2. Add back this station filter 3. Add button to load all cards task-4822881
Automatic transfers in accounting have been redesigned to make them easier and more useful for businesses. The update refreshes the user experience and improves how amounts are redirected from original accounting entries, helping teams automate transfer processes more effectively.
Original PR description
Description of the issue this commit addresses: The automatic transfers have been the way they are for a long time now and are barely used compared to how they could be. A little revamp could give them a bigger impact and use. --- Desired behavior after this commit is merged: The automatic transfers have a renewed UI and use different systems to redirect the amounts of the original moves. --- upgrade PR: https://github.com/odoo/upgrade/pull/7887 task-4813376
Bank reconciliation matching rules now handle negative amount ranges more intuitively. Users can enter the lower and higher amounts in either order, reducing confusion and helping rules match transactions as expected.
Original PR description
Before this commit, when having the match amount in between with negative amount we had the min and max amount. Some user were confused that since the amount are negative the min and max need to be inverted. To solve that we rewrite the way the match amount were dealt to use a case when that will enable to have an in between that works in both ways (min, max and max, min) notask-id Forward-Port-Of: odoo/enterprise#91744 Forward-Port-Of: odoo/enterprise#91628
The live chat information panel is easier for support teams to use, with clearer recent page views, better layout, and links opening in a new tab. It also improves readability in dark mode and accessibility for helpdesk tickets, helping agents work more efficiently and inclusively.
Original PR description
1. Add website name to recent page views. 2. Improve chatbot answers display in dark mode. 3. Update recent conversations button alignment. 4. Do not display recent conversations when the chat is closed. 5. Move notes section next to the status section. 6. Open links in the info panel in a new tab. 7. Helpdesk tickets accessibility improvements. https://github.com/odoo/odoo/pull/219053 task-4929870 Forward-Port-Of: odoo/enterprise#90350
Brazilian point-of-sale users can now download NFC-e XML files for multiple orders at once from the orders list. This saves time and reduces repetitive manual work when collecting electronic invoice files for reporting or administration.
Original PR description
- Before PR: No available action to download NFC-e XML files in batch. User has to download each xml file one by one. - After PR: An action to download multiple NFC-e XMLs for multiple orders is added in the action menu of POS orders list view. - Task Id: 4934938
6 changes
Enhancements to existing features
This update adds Mexican localization support for additional 16% withholding tax scenarios with split distributions, along with the related accounts and fiscal positions. It also improves tax precision so 10.67% taxes can be calculated and displayed more accurately for compliant accounting.
Original PR description
Add few 16% taxes with special distribution (1/3 - 2/3 and 1/4 - 3/4). Also add few accounts and a new fiscal position for each new tax. Also adjust the rounding precision of 10.67% taxes. Linked:https://github.com/odoo/enterprise/pull/83582 task-4571928
Saudi e-invoicing certificate requests now include the exact Odoo software version, including both major and minor version details. This helps ensure certificates are generated with more precise version information, improving compliance traceability with minimal user impact.
Original PR description
Make sure we user the exact software version from which the certificate is being generated, which should include the major and minor version, instead of just the major version. task-4985629 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Spanish chart of accounts now classifies account 411000 as a current liability instead of a current asset. This improves the accuracy of financial statements by placing supplier bills of exchange payable in the proper liability category.
Original PR description
This commit changes the account type for account `411000 Acreedores, efectos comerciales a pagar`. It was previously set as a `Current Asset` and now its account type is `Current Liability`. Task : 4757149 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update makes duplicating Italian electronic invoicing document types smoother by preventing an immediate duplicate-code error. Users get a more practical workflow when copying existing document type records, reducing confusion and interruption.
Original PR description
In https://github.com/odoo/odoo/commit/3e557745f16c33ab3c1b5984d6297913a8849024, we added a contraint to avoid same code. The "issue" with that is that the Duplicate option instantly raises the constraint. It's not really user-friendly. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#218933
This update ensures Odoo modules list the official Odoo website in their module information. It improves consistency in module metadata and helps users find the correct company website from module details.
Original PR description
All modules from odoo/odoo should have website: https://www.odoo.com
Mexican localization now includes additional 16% withholding tax setups with specific split distributions, plus matching accounts and fiscal positions. The update also improves rounding precision for 10.67% taxes, helping businesses calculate and report these tax scenarios more accurately.
Original PR description
Add few 16% taxes with special distribution (1/3 - 2/3 and 1/4 - 3/4). Also add few accounts and a new fiscal position for each new tax. Also adjust the rounding precision of 10.67% taxes. Linked:https://github.com/odoo/odoo/pull/206406 task-4571928