Daily updates from Odoo
Saturday, September 13, 2025
10 changes · master
Resolved issues and error corrections
The Spanish balance sheet report no longer double-counts entries posted to accounts 551 and 5525. This prevents overstated amounts under Other Current Payables, giving businesses more accurate financial reporting.
Original PR description
**Steps to reproduce:** 1. Install `l10n_es_reports` and `accounting`. 2. Switch company to `ES Company`. 3. Create a journal entry using account 551 or 5525. 4. Open the Balance Sheet from…
**Steps to reproduce:** 1. Install `l10n_es_reports` and `accounting`. 2. Switch company to `ES Company`. 3. Create a journal entry using account 551 or 5525. 4. Open the Balance Sheet from *Accounting → Reporting → Balance Sheet*. **Observed behavior:** - In the Balance Sheet, under *3. Other Current Payables*, the amount shown is double the journal entry. - Drilling down shows the correct amount in the journal entry, but the Balance Sheet line is overstated. **Root cause:** * In the expression for *3. Other Current Payables*, accounts **551** and **5525** were included twice: * once in credits and again in the balance, leading to double counting. **Reference:** * BOE: https://www.boe.es/eli/es/rd/2007/11/16/1514/con#cuenta * PR with related changes: [odoo/enterprise#82447](https://github.com/odoo/enterprise/pull/82447) **Solution:** - Removed accounts 551 and 5525 from the balance calculation to prevent duplication. opw-5056965 Forward-Port-Of: odoo/enterprise#94310
Users can no longer add, edit, or remove approvers on their own approval requests, preventing permission errors and unintended changes. This keeps approval workflows more reliable by ensuring approver management follows the correct access rules.
Original PR description
Fixed an issue happening when trying to add approvers to one's own request, and remove their ability to delete approvers from the request Task-4897775 Forward-Port-Of: odoo/enterprise#94577 Forward-Port-Of: odoo/enterprise#92309
UPS shipping rate checks now handle combo products correctly. This prevents valid orders with combo items from being blocked when customers or staff request a shipping rate.
Original PR description
Versions -------- - 18.0+ Issue ----- Commit 59a79a5bc51 fixed a bug in 8 shipping connectors, preventing the retrieval of the shipping rate if combo products were present, but failed to fix it in `delivery_ups_rest`. Solution -------- Use `_get_invalid_delivery_weight_lines` helper method to check if there are any lines where a weight is expected, but is lacking. opw-4940973 Forward-Port-Of: odoo/enterprise#93737
AI voice recording now shows a clearer notification when it cannot start because of a backend setup issue, such as a missing API key. This helps users and administrators understand what went wrong and resolve the problem faster.
Original PR description
This PR adds a more explicit toast message for the recording when an error occurs on the backend (i.e. UserError). This applies to cases such as not having the API key set and trying to start the recording Forward-Port-Of: odoo/enterprise#94571
This fix prevents an error when users save Mexican customer credit notes with a CFDI Origin. It helps accounting teams complete credit note workflows reliably without being blocked by a system crash.
Original PR description
Currently, an error occurs when creating a customer credit note with a CFDI Origin.
**Steps to reproduce:**
- Install the `l10n_mx_edi` module and switch to `ESCUELA KEMPER URGATE` company.
- Navigate to: Invoicing > Customers > Credit Notes > New.
- Set `CFDI Origin` to `01|E19C50D2-1292-5817-BDDE-2666967C7471` and click `Save`.
**Error:**
`TypeError: unhashable type: 'list'`
**Root Cause:**
At [1], the code incorrectly uses `relationado_data['03', []]` instead of `relationado_data.get('03', [])`. The tuple `('03', [])` is treated as a dictionary key, which leads to an `error`.
**Fix:**
This commit ensures users can correctly set the CFDI Origin.
[1]
https://github.com/odoo/enterprise/blob/14b31a3631a97dd61ebd662fb768485e5a509c2c/l10n_mx_edi/models/account_move.py#L500
sentry-6823395705
Forward-Port-Of: odoo/enterprise#92876The journal report test now validates the payment reference using the value generated by the system instead of assuming it is empty. This prevents false build failures when Czech localization is installed, improving test reliability without changing user-facing behavior.
Original PR description
test_document_data_basic was failing in builds with l10n_cz installed because - we set move_sales_2.payment_reference = '' in setUpClass and without l10n_cz it stays empty - but with l10n_cz installed it gets recomputed because of precompute=True on taxable_supply_date (which a stored computed field that triggers an extra write on account.move when the company is in CZ, and that write causes the compute graph to run again, and _compute_payment_reference fills the value back in) this commit solves this issue by not making assumptions about the payment_reference value and would use it as is in the generated data validation build_error-231479 Forward-Port-Of: odoo/enterprise#94554
[This commit][1] introduced errors in the Dutch and German translation files. As a result this module can not be installed anymore when any of these languages is used. This commit fixes the errors. [1]: https://github.com/odoo/enterprise/commit/d3d5e667a2d543b55a40148cb536e54d2ac64300 Forward-Port-Of: odoo/enterprise#94345
Original PR description
[This commit][1] introduced errors in the Dutch and German translation files. As a result this module can not be installed anymore when any of these languages is used. This commit fixes the errors. [1]: https://github.com/odoo/enterprise/commit/d3d5e667a2d543b55a40148cb536e54d2ac64300 Forward-Port-Of: odoo/enterprise#94345
Users can no longer place signing fields on a PDF page before it has finished loading, preventing errors during document preparation. The cleanup of temporary page elements is also handled more safely, improving stability when PDF pages refresh.
Original PR description
Fixed an issue where users could drag and drop sign items before the target PDF page was fully loaded, which caused runtime errors. The system now blocks adding new sign items until the target page has finished loading. Also fixed a problem with cleaning up dummy elements: these were sometimes removed incorrectly when the iframe re-rendered the pages, as the cleanup was already handled automatically. task-5065598 Forward-Port-Of: odoo/enterprise#94666 Forward-Port-Of: odoo/enterprise#94001
The quote calculator now applies spreadsheet filter values in the correct format after older data is updated. This prevents filters from being set incorrectly when opening or using quote calculator spreadsheets created before the data format change.
Original PR description
Commit odoo/odoo@dddcd8919f02e458219443afbc560ca2fbad6d1e changed the way global filter values are represented in the json data. Any data in a prior version undergo a "client-side upgrade". However the quote calculator action was changing the data before it was upgrade with the new representation. Forward-Port-Of: odoo/enterprise#94711
Miscellaneous changes
Related: https://github.com/odoo/odoo/pull/226599 Related: https://github.com/odoo/design-themes/pull/1145 Forward-Port-Of: odoo/enterprise#94469
Original PR description
Related: https://github.com/odoo/odoo/pull/226599 Related: https://github.com/odoo/design-themes/pull/1145 Forward-Port-Of: odoo/enterprise#94469