Daily updates from Odoo
Thursday, September 4, 2025
9 changes · master
Resolved issues and error corrections
This update fixes rental planning so order dates, planned shifts, and online availability are kept aligned when users reschedule slots or change rental periods. It also improves the planning workflow with clearer confirmations, better filtering of rentable products in the shop, and fewer incorrect or duplicate planning actions.
Original PR description
Forward-Port-Of: odoo/enterprise#91801
The barcode transfer workflow now avoids automatically placing newly added product lines into a new package by mistake. The setting for showing complete packs has also been moved to the Barcode App area, making it clearer that it controls barcode display behavior.
Original PR description
Various fixes following the pack in pack introduced in odoo/odoo#203987 Summary of the changes: - Move the `Show entire packs` in the 'Barcode App' tab in the Picking Type form - Fix an issue where creating a move line through the barcode app would automatically put that line in a new package.app. Task-4314600 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Tax return checks are refreshed when users open them, so outdated warnings such as draft entries no longer remain after those entries are changed. This gives users a more accurate view while avoiding unnecessary performance impact in the Tax Returns overview.
Original PR description
Before, when opening a Return that had bypassed checks such as Draft Entries, and we had deleted or confirmed those entries it wouldn't have refreshed the check number and would still display that there are draft entries. Now, we are forcing the check to be refreshed when someone wants to see them as to not crash the performances when someone opens the Tax Returns Kanban view. task-4850581 Forward-Port-Of: odoo/enterprise#93664 Forward-Port-Of: odoo/enterprise#90187
This fix prevents portal users from becoming owners of Documents spreadsheets because they cannot use spreadsheets in edit mode. It helps keep spreadsheet ownership aligned with users who have the necessary internal access, reducing permission-related confusion.
Original PR description
Following the discussion I had with @flch-odoo regarding https://github.com/odoo/enterprise/pull/92134 , Since Spreadsheets can not be shared in edit mode to non-internal users, we prevent them from becoming owners. opw-4753670 Forward-Port-Of: odoo/enterprise#93800 Forward-Port-Of: odoo/enterprise#92409
Danish Intrastat and EC sales list reports now round figures to whole units by default, matching government reporting requirements. Users can still view decimal values in the interface when needed, but official export files are always rounded for compliant submission.
Original PR description
This commit will change the options of the reports so that we have a rounding in units since the intrastat and ec sales list report must be rounded. This solution still allows people to have the report with decimals if needed task-4948271 Forward-Port-Of: odoo/enterprise#93783 Forward-Port-Of: odoo/enterprise#91268
Bank transaction matching now avoids treating foreign exchange fees or similar bank charges as partial payments. It also requires closer matches between payment references and invoices, reducing incorrect reconciliations and helping accounting teams process bank statements more reliably.
Original PR description
In case of foreign payment using a bank account in another currency, banks can reflect the foreign currency exchange fee on another bank account belonging to the company and in its main currency. Fr…
In case of foreign payment using a bank account in another currency, banks can reflect the foreign currency exchange fee on another bank account belonging to the company and in its main currency.
Fr example: in a EUR company having in the same bank (e.g ING) both an USD and a EUR account, making a payment using the USD bank account gets you effectively 2 bank transactions while you initiated only one:
- the payment in the USD account and
- the currency diff fee in the EUR account.
In this particular use case, the communication on the currency diff fee reflects the one from the payment and, depending on the reconciliation order, that currency diff could be taken as a partial payment
because we were matching on the words in payment_ref regardless of the currency used, while it shouldn't and must be processed as a bank fee.
The outstanging payments are now only matched when the account.payment memo and the statement line payment_ref exactly match, and if the journal is the same. The algorithm for invoices matching doesn't change except we explictly remove the outstanding accounts from the list of reconcilable accounts to search on.
Previously, a match between an invoice ref and a transaction payment_ref could occure even if the matching word wasn't complete.
E.g: invoice ref: INV/2025/01/10
transaction payment_ref: INV/2025/01/100
To be sure this isn't the case anymore, we check that the matching words are properly surrounded by a "finishing character".
task-5023163
Forward-Port-Of: odoo/enterprise#93016
Forward-Port-Of: odoo/enterprise#92950Odoo Studio now correctly handles the special technical access group when setting field visibility. This prevents fields from unexpectedly disappearing and lets users manage these visibility settings consistently in and out of debug mode.
Original PR description
Steps to reproduce ================== - In debug mode - Go to Contacts - Open any record - Open studio - Click on any field - Add the "Extra rights / Technical Features" group to "Allow visibility to…
Steps to reproduce ================== - In debug mode - Go to Contacts - Open any record - Open studio - Click on any field - Add the "Extra rights / Technical Features" group to "Allow visibility to groups" => The group is not displayed as a tag - Restore the view - Now without debug mode (?debug=0), repeat the same steps => The field disappears, we need to toggle "Show Invisible Elements" to see it again Cause of the issue ================== https://github.com/odoo/odoo/pull/179354/commits/15aeaf88c268f047b8b83a5aa66f5da246c2b675 When calling get_views, the "base.group_no_one" is removed from the groups attribute and "invisible" is set to true if we are in debug mode. Solution ======== Adding "base.group_no_one" is still the way to have the expected behavior for now. We override some ir.ui.view functions when in studio to be able to edit it. According to the docstring of _postprocess_debug_to_cache, this feature is temporary. Another solution will be needed in the future. opw-4969262 Forward-Port-Of: odoo/enterprise#93435 Forward-Port-Of: odoo/enterprise#91647
Odoo Sign now validates uploaded PDFs more reliably so unsupported encrypted files are rejected before signing. This prevents users from reaching a server error when completing a signature flow, improving reliability for document signing.
Original PR description
Currently an error occurs when signing an encrypted file with empty password. **Steps to replicate** * Install `Sign` * Sign> Upload a pdf > Add following…
Currently an error occurs when signing an encrypted file with empty password. **Steps to replicate** * Install `Sign` * Sign> Upload a pdf > Add following [pdf](https://drive.google.com/file/d/1M0_VzWLzv-lSZ-IlI9Zmx-M7jFGvtJJj/view?usp=sharing)> Sign the document using `Sign now` * Validate and send completed document `AttributeError: 'NoneType' object has no attribute 'seek'` **Cause:** This occurs because [1] returns `None` to the variable `output` at [2] which in turn passes the `None` value to [3] causing the error. Error occurs in python 3.12+, because it does not throw an exception in `_check_pdf_data_validity`. **Solution:** * Add a validation to prevent upload of unsupported files. [1]: https://github.com/odoo/enterprise/blob/e7861f1ddef2fb9628eebca93942e64c73cc95fc/sign/models/sign_document.py#L242-L243 [2]: https://github.com/odoo/enterprise/blob/e7861f1ddef2fb9628eebca93942e64c73cc95fc/sign/models/sign_completed_document.py#L33-L34 [3]: https://github.com/odoo/odoo/blob/033c7a63bdf3d10d9d2c5084959fd34f52011bea/odoo/tools/pdf/signature.py#L51 **Sentry-6784800544,6802557168** Forward-Port-Of: odoo/enterprise#91766
The Dutch tax closing process now uses the updated report label when calculating rounding. This prevents tax closing entries from incorrectly reducing the amount to pay or receive to zero, helping businesses keep accurate tax balances.
Original PR description
In this commit[^1] they reformatted the Dutch tax report, renaming the expression labels of the lines. The functionality that does the rounding of the amount to pay/receive depends on that label to compute the correct rounding amount. Currently the Dutch tax closing entry will always end up with a balance to pay/receive of 0.0 because of that (the whole balance is "rounded"). This commit fixes that by pointing the rounding logic to the new expression label used on the total line. [^1]: https://github.com/odoo/odoo/commit/6078dafa68db120a3bf20e0c3e33b3886798985d