Friday, December 12, 2025
13 changes · 18.0
New functionality added to Odoo
This update adds a new test to ensure that the Peppol status of partners is automatically updated when invoices are generated through e-commerce and linked to automated payments. This improves the accuracy of Peppol data, which is crucial for international trade and compliance. It addresses a gap in the system's ability to track Peppol status correctly.
Original PR description
When creating a SO on e-commerce leading to an automatic invoice, the invoice is automatically sent using Peppol upon the payment. This test ensures the peppol status of the partner is updated during the process. task_id: 5025176 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Enhancements to existing features
This update adds a message within the Account Online link, allowing users to easily revoke consent for the Basiq widget. This provides greater control over data sharing and aligns with privacy best practices. It redirects users to a dedicated page for managing their Basiq widget permissions.
Original PR description
This commit will add a message on the account online link chatter for the basiq provider. This message will allow the user to be redirected to an odoofin page with a button to revoke his consent on a basiq widget task-5187621 Forward-Port-Of: odoo/enterprise#101801
Resolved issues and error corrections
This update resolves a problem preventing the correct installation of several localization modules (l10n_bh, l10n_iq, etc.). The issue stemmed from a missing configuration setting in the module's setup file, which has now been added to ensure seamless installation and functionality.
Original PR description
Steps to reproduce: 1. Install 'accountant' 2. Create a new company without a country and switch to that company 3. Accounting > Configuration > Fiscal Localization 4. Select Mauritius and save Issue: It gives a traceback: KeyError: 'mu' Cause: 'auto_install' is not present in the manifest file. Solution: Add 'auto_install': ['account'] in the manifest as it is done in other localization modules. opw-5231064
Documentation and clarification updates
This pull request incorporates a Corporate Contributor License Agreement (CLA) for Jaco Waes from jaco-tech. CLAs are standard legal documents that ensure contributors grant Odoo the rights to use their code. This ensures compliance with Odoo's open-source licensing.
Original PR description
Corporate Contributor License Agreement for jaco-tech. This CLA covers contributions from: - Jaco Waes (@jwaes)
This update introduces a mechanism to customize the order lines used for calculating sales order amounts. This allows third-party developers to tailor how order totals are computed, providing greater flexibility for specialized sales scenarios. It ensures that order amounts are calculated accurately based on specific business needs.
Original PR description
This allows to change the record set of order lines which are used by `sale.order` `_compute_amounts` by custom addons
This update resolves an issue where a failed Odoo update could cause the IoT Box to incorrectly believe it's up-to-date. By maintaining the original branch name during update attempts, the system avoids this misinterpretation and ensures proper functionality after a failed update.
Original PR description
We used to renamed the Odoo branch name before running the update script in order to get the target branch name easily inside it. Issue is if for any reason the update fails, when the IoT Box will restart, the branch name will be the target one, so it will assume it's up to date. Task: 5407662 Forward-Port-Of: odoo/odoo#239508
This update resolves a restriction preventing non-administrator users from utilizing the delivery_usps_rest module. By implementing sudo() calls, the module now grants necessary access to the USPS Rest API, improving usability for a wider range of users without requiring elevated permissions.
Original PR description
Non-admin users are currently unable to use the delivery_usps_rest module because several fields are limited to the "base.group_system" group. It's obviously not feasible to give everyone the "Role / Administrator" role. This PR makes necessary sudo() calls the same way that delivery_ups_rest does. Forward-Port-Of: odoo/enterprise#101163
This update resolves a technical issue preventing users in Uruguay from successfully editing their delivery addresses within the website's sales process. The problem stemmed from a configuration oversight that missed necessary fields for billing addresses when delivery and billing were intended to be the same. This fix ensures accurate address editing for Uruguay customers.
Original PR description
* Change/create company for UY * In website of this company: * add a product to the cart * go to the cart, confirm, create/update your address * try to edit the address you provided, save -> Traceback (trying to make required a field not visible in the form) The field `l10n_latam_identification_type_id` wasn't present in the view because `use_delivery_as_billing` wasn't considered, leading to the absence of UY additional billing fields, even if the address was meant to be used both as shipping and billing. Fixes #227886 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update reverts a recent change that was causing issues with revoking access to previously archived portal users. The fix ensures the grant/revoke button functions correctly, preventing users from being stuck in a revoked state. This resolves a disruption to portal access management.
Original PR description
**Issue:** Active check is needed when granting access to a previous portal user which was archived. The change made by https://github.com/odoo/odoo/pull/235786 broke the grant/revoke button which was stuck on revoke due to the new active check. **Fix:** Reverted for now in 18.0 and saas-18.2 opw-4760550
This pull request resolves a build error (runbot 160953) related to testing the website's wishlist feature. The changes focus on improving the testing process for the website_sale_wishlist module, ensuring smoother functionality and stability. This is a minor fix to maintain the quality of the website's shopping experience.
Original PR description
runbot build error 160953 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update resolves an issue where long text inputs within the Odoo Web Studio editor would overflow and cause display problems. The change now automatically truncates long text, ensuring a clean and usable interface for users. This improves the overall stability and usability of the Web Studio.
Original PR description
**Before this commit:** Long input text overflowed and was not truncated. **After this commit:** Long input text is now properly truncated, preventing overflow. task-5240113 Forward-Port-Of: odoo/enterprise#99535
This update prevents HR users from receiving unnecessary reminder emails. Previously, reminders were triggered by time-off requests or public holidays, even if the user didn't need to submit a timesheet. Now, reminders are only sent for active timesheet entries requiring user input, streamlining communications.
Original PR description
**Steps to reproduce:** - Install timesheet_grid_holidays - Create a user with no timesheet access - Create a leave and approve it as a manager - Set up employee reminders in timesheet settings - Run the timesheet reminder scheduled action **Issue:** HR users without timesheet app access or who haven’t submitted timesheets in the past 3 months were still receiving reminder emails. **Cause:** When a time-off is approved or a public holiday is recorded, it generates timesheet entries, which causes reminder emails to be sent incorrectly. **Fix:** Filter out time-off and public holiday entries when sending reminders. Now, reminders are only sent for actual timesheets that require user input. task-5085790 Forward-Port-Of: odoo/enterprise#95450
This update corrects a minor issue where the debugger wasn't aligned correctly when transpiling JavaScript files with unnamed imports. The fix ensures that whitespace is preserved during the conversion process, preventing alignment problems and improving the developer experience. This ensures consistent debugging across all Odoo modules.
Original PR description
Steps to reproduce
==================
- Create a js file with a blank line followed by an unnamed import
```js
import { mailModels } from "@mail/../tests/mail_test_helpers";
import "@account_accountant/components/bank_reconciliation/list_view/list_view_many2one_multi_edit";
import "@account_accountant/components/bank_reconciliation/list_view/list";
debugger;
```
- Open the devtools
=> The debugger will be off by one line
Cause of the issue
==================
When remplacing unnamed imports by a require statement, the leading whitespace was not preserved.
Solution
========
We add back the captured space. This is done for every other replacement.
Forward-Port-Of: odoo/odoo#239531