Daily updates from Odoo
Monday, December 8, 2025
12 changes · 17.0
Resolved issues and error corrections
This change prevents distracting audio notifications during local testing of Odoo. Previously, unexpected beeps and ringtones could interrupt the testing process. This improvement ensures a smoother and more reliable testing experience.
Original PR description
When running tests locally, it's really annoying (and sometimes really jarring / surprising) to hear random beeps and boops from your machine, especially when it's an old timey ringtone from voip. Make it stop. Forward-Port-Of: odoo/odoo#238882
This update resolves an issue preventing users from renaming the "Help" menu item in the Helpdesk module. Previously, a system error blocked renaming, even without attempting to modify the URL. Now, users can freely change the menu item's name, improving usability and flexibility.
Original PR description
**Issue** It was not possible to rename the "Help" menu item, an error appeared with the message: "This URL is reserved for the helpdesk teams with 'website form' feature enabled.", even if the user was not trying to edit the URL. **Change** Allow the user to edit the menu item's name. opw-5375334
This update fixes a technical error that was causing tracebacks when sending snail mail for documents other than the standard followup report. The issue stemmed from a misconfiguration in the code, and this change corrects that to ensure reliable snail mail functionality. This resolves a potential disruption to our mail delivery process.
Original PR description
Currently there is a traceback when sending snailmail for anything that is not the followup report. The call to the super function has the wrong name and misses an argument The issue was introduced in this commit 08ec299cf2b06cd900f84be0a95b5917abe7d453 . task-None
This change reverts a recent update to Odoo's portal access functionality. The original fix, intended for newer versions, wasn't stable for Odoo 17. This ensures continued stability and functionality for existing Odoo 17 users regarding portal access management.
Original PR description
**Issue:** Active check is needed when granting access to a previous portal user which was archived. But changing the template to fix this is not stable for previous versions. **Fix:** Reverted https://github.com/odoo/odoo/pull/233757 in 17.0 (Fixed with https://github.com/odoo/odoo/pull/236462 in 18.0+) -> reverted as well for now https://github.com/odoo/odoo/pull/239477 opw-4760550
This update resolves an issue in the l10n_se_sie_import module related to how SHA512 hashes are generated. The fix ensures that SHA512 hashing is performed correctly, improving the reliability of data import processes for Swedish SIE files. This prevents potential errors during data synchronization.
This update corrects a formatting error in the invoice report for KE (Kenya) invoices. Previously, the total and taxable amounts lacked proper currency formatting (commas). The fix removes a duplicate XPath and applies the correct formatting options, ensuring invoices display accurate price values.
Original PR description
Steps to reproduce: 1. install `l10n_ke` 2. Switch to KE Company 3. Create a product with all KRA eTIMS details set on the Accounting page. 4. Create an invoice to KE Company with that product and set unitprice > 10000 5. Confirm the invoice and send it. Now, see the invoice report Issue: 1. xpath for `td_subtotal` was duplicated 2. The total amount and taxable amount were not formatted as prices (no commas). Before: <img width="771" height="397" alt="image" src="https://github.com/user-attachments/assets/492fe911-18d6-4e01-a16d-d7450c17373f" /> After: <img width="766" height="389" alt="image" src="https://github.com/user-attachments/assets/bbe5d4e2-b337-445c-833a-06492a8c827d" /> Solution: Updated the invoice report to: - Remove the duplicated `td_subtotal` xpath. - Properly format the total and taxable amounts with `t-options`. opw-5341578
This update resolves a potential error that caused invoices to fail during confirmation when specific currency and pricing settings were used. The fix prevents a division-by-zero error, ensuring invoices can be processed correctly under these circumstances. This improves the reliability of the invoicing process.
Original PR description
Steps to reproduce:
--------------------
1. Install l10n_cl and switch to the CL company
2. Create a new invoice:
- Change the currency to a value different from the company currency
(e.g., from CLP to USD)
- Add an invoice line with a price value of 0
- Remove the default tax value
3. Try to confirm the invoice
Issue:
------
A traceback occurs:
`ZeroDivisionError: float division by zero`
Cause:
------
Since the price value is 0, the `amount_total` of the move becomes 0.
When computing the currency rate, it tries to divides by `amount_total`, resulting in a ZeroDivisionError.
Solution:
---------
Add a conditional check before division to ensure the `amount_total` is non-zero
Related enterprise PR: https://github.com/odoo/enterprise/pull/99518
opw-5247058
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prThis update fixes a potential error that could prevent invoices from being confirmed when specific currency and pricing settings are used. The fix adds a check to avoid division by zero, ensuring invoices can be processed correctly. This improves invoice processing reliability and prevents disruptions to financial workflows.
Original PR description
Steps to reproduce: -------------------- 1. Install l10n_cl and switch to the CL company 2. Create a new invoice: - Change the currency to a value different from the company currency (e.g., from CLP to USD) - Add an invoice line with a price value of 0 - Remove the default tax value 3. Try to confirm the invoice Issue: ------ A traceback occurs: `ZeroDivisionError: float division by zero` Cause: ------ Since the price value is 0, the `amount_total` of the move becomes 0. When computing the currency rate, it tries to divides by `amount_total`, resulting in a ZeroDivisionError. Solution: --------- Add a conditional check before division to ensure the `amount_total` is non-zero Related community PR: https://github.com/odoo/odoo/pull/235252 opw-5247058
This update resolves a potential memory issue that could occur during module installation on databases with many existing accounting records. The change ensures that new fields are created efficiently, preventing the system from running out of memory and improving installation speed and stability. This primarily affects the HR Timesheet module.
Original PR description
Description ----------- On databases with a large count of existing `account.analytic.line` records, installing modules like `hr_timesheet`, which adds compute stored or related stored fields to this model can trigger a memory error due to the volume of records that need to be recomputed. This commit creates the columns manually with the correct default value that is inferred from the state and implementation of said fields. Reference --------- opw-5234833 opw-5255382 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update resolves a bug preventing users from adding products to invoices when navigating from an fsm task. The issue stemmed from inconsistent context settings between accessing invoices from a sale order versus a task, specifically related to the product domain. This change ensures consistent behavior regardless of the entry point, allowing users to correctly add products to invoices.
Original PR description
On a fsm task, using the smart button to go to the invoice, will not give the same domain for the products, if you go from the sale order or directly from the task Steps to reproduce:…
On a fsm task, using the smart button to go to the invoice, will not give the same domain for the products, if you go from the sale order or directly from the task Steps to reproduce: ------------------- * Create a product - Purchase: False - Sale : True * Create a fsm task * Add products * Go to the sale order * Create the invoice (regular invoice) * Go back to the task * Go to the invoice using the invoices smart button * Try to add your product -> issue it's not possible. Observation: --------------- The domain of the search is not the same if we go from the sale order or from the task. This is because the domain depend on the context and the context is not the same : [Domain](https://github.com/odoo/odoo/blob/8258ddf12ed6c0495628f7a480d1e2424e756540/addons/account/views/account_move_views.xml#L1134-L1141) When using the smart button on the SO, some elements will be added to the context, the important one is: default_move_type : "out_invoice": [SO context](https://github.com/odoo/odoo/blob/18.0/addons/sale/models/sale_order.py#L1453) Instead when using it on the task, the context does not have that element: https://github.com/odoo/enterprise/blob/cb79d565031ee0e1bec9db82aa35deb2e1c03576/industry_fsm_sale/models/project_task.py#L325-L327 This will be calculate here in the js files: [evalContext](https://github.com/odoo/odoo/blob/c3367bd7c6900e42394b006ccf48c3b36a1b87e9/addons/web/static/src/views/fields/field.js#L400) opw-5135567
This update corrects a bug in the invoice calculation process. Previously, changing the unit price or product would not consistently update the totals until the invoice was saved. The fix reorders the calculation logic to ensure the correct product price is used, leading to accurate totals.
Original PR description
**Steps to reproduce:** - Install Accounting - Create an invoice with an invoice line - Save the invoice - Change the unit price => The totals should change - Change the product => The unit price and…
**Steps to reproduce:** - Install Accounting - Create an invoice with an invoice line - Save the invoice - Change the unit price => The totals should change - Change the product => The unit price and the totals should change - Change the unit price again **Issue:** After this point, the totals don't change anymore, even if the unit price is changed several times. Only saving the form will adapt the totals correctly. **Cause:** When changing the unit price the first time, a "price_unit "key is added in the onchange values. When changing the product, a "product_id" key is added after the price key. Changing the product triggers an onchange of the price with the price of the new product. However, when the price is changed again, as the "price_unit" key already exists, it's reused and its position is still before "product_id" key even if it should be computed after. This order results in the use of the price of the second product instead of the one entered manually when computing the "tax_totals". **Solution:** If "product_id" and "price_unit" are the values of the onchange method, the list of values is reordered to make sure that "product_id" is computed first. opw-5012125 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update resolves an issue where Swiss account translations were missing, particularly for payroll documents. This prevented mixed language documents, which are unacceptable for official Swiss financial records. The change ensures accurate and consistent reporting for Swiss users.
Original PR description
Some Swiss account translations were missing, mainly related to payroll. This resulted in payroll documents having mixed languages, which is not acceptable for official documents. opw-5343680