Tuesday, September 16, 2025
12 changes · 18.0
Resolved issues and error corrections
The portal signature form now checks whether a pop-up window is present before trying to use it. This prevents an error when the form is placed directly on a page, allowing customers to complete signatures in more contexts.
Original PR description
Description of the issue/feature this PR addresses: Be able to use the portal signature form outside of a modal. Current behavior before PR: If the signature form (```<t t-call=“portal.signature_form”>```) is used outside of a modal, an error occurs: ```TypeError: Cannot read properties of null (reading 'addEventListener')``` Desired behavior after PR is merged: The signature form can be used outside of a modal. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#224564
Renamed spreadsheets now keep their updated name when users create a new file and navigate back through the breadcrumb. This prevents confusion where a previously named spreadsheet appeared as untitled.
Original PR description
Steps to reproduce: - Create a spreadsheet - Rename it to "My awesome spreadsheet" - Click on File -> New - Go back to "My awesome spreadsheet" from the breadcrumb => The spreadsheet is untitled. This was caused by the fact that the name was not saved in the local state of the action. Task: 4942117
Performance tests were adjusted so they no longer fail when timing results vary unpredictably. This makes automated checks more reliable and avoids blocking work because of inconsistent test timing rather than real product issues.
Original PR description
These tests are non-deterministic, we should not fail when running them. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Saudi e-invoices for foreign customers now format the Other Buyer ID as an alphanumeric value required by ZATCA. This helps avoid acceptance warnings during invoice submission and improves compliance with Saudi e-invoicing rules.
Original PR description
When an invoice is being issued to a Foreign Customer, the Other Buyer ID (Other Buyer ID (BT-46) <cac:AccountingCustomerParty / cac:Party / cac:PartyIdentification / cbc:ID>) should be OTH and filled accordingly to avoid an acceptance warning from ZATCA. According to ZATCA, the value needs to be in alphanumeric format, even if the value does not follow the specific country's VAT format Task-id: 5075005 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#226593
This fix prevents Odoo's internal test and diagnostic tools from failing again while handling an existing serious error. It helps preserve the original failure details, making troubleshooting more reliable when screenshots or screencasts are attempted after a crash.
Original PR description
Cf #226267 the "error condition" on the ws socket is that it's not present at all, not that it's `None`. So when used after a fatal error (e.g. in the context of trying to take a screenshot or take a screencast) these methods *can* in some cases trigger a compound failure and lose the original error because they fail on trying to access the ws to check if it's truthy. Forward-Port-Of: odoo/odoo#227385
Users can now drag and drop Font Awesome icons in the HTML editor without triggering an error. This improves editing reliability and prevents an interruption during content creation.
Original PR description
**Current behavior before PR:** Dragging and dropping a `fa` icon leads to traceback. This issue happens because in onDrop method, value of `htmlTransferItem` contains only a ZWS wrapped in a `<span>`. This span gets removed in `prepareClipboardData`, alongwith ZWS resulting in an empty fragment being passed to the `insert` method. The insertion of an empty fragment lead to the traceback. **Desired behavior after PR is merged:** Now, `fa` icon can be dragged and dropped without a traceback. task-4882121 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes automated checks for Saudi and GCC point-of-sale localization so they run reliably in single-app test environments. It helps maintain confidence that localized point-of-sale flows continue to work correctly without affecting day-to-day users.
Original PR description
Fix runbot error in single app runbot-231469 runbot-231471
Fixed an issue that caused an error when opening the barcode scanner in Attendance kiosk mode while debug mode was enabled. This helps administrators and support teams use and troubleshoot the attendance scanner without interruptions.
Original PR description
**Step to reproduce:** - install Attendances app - turn on debug mode - go to Attendance -> kiosk mode - open the scanner **Observation:** - We get a traceback **Cause:** - we pass a extra prop `token` to BarcodeDialog component, which is not accepted by it https://github.com/odoo/odoo/blob/178dff30131a93680dfd994fd22b29a766ee9354/addons/web/static/src/core/barcode/barcode_dialog.js#L12 - this raises issue from OWL when we have debug-mode on **Fix:** - reuse the actual `scanBarcode` method and remove the faulty one. https://github.com/odoo/odoo/blob/178dff30131a93680dfd994fd22b29a766ee9354/addons/web/static/src/core/barcode/barcode_dialog.js#L47-L60 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix prevents an installation error when the withholding tax module is installed alongside Indian localization demo data. It makes the setup more reliable by only using purchase taxes that include the needed tax distribution details.
Original PR description
Traceback when no `repartition_line_ids` found in tax data. Steps to reproduce:- - Install `l10n_in` module with demo data. - Install `l10n_account_withholding_tax` module. Error:- ``` File /data/build/odoo/addons/l10n_account_withholding_tax/__init__.py, line 27, in _make_demo_tax tax_repartition_lines = [line[2] for line in tax_data[purchase_taxes[0]]['repartition_line_ids'] if line[2]['repartition_type'] == 'tax'] KeyError: 'repartition_line_ids' ``` Root Cause: At [1], No `repartition_line_ids` found in `tax_data[purchase_taxes[0]]`. Solution: Select only purchase taxes having `repartition_line_ids`. [1]: https://github.com/odoo/odoo/blob/9805d09dff64de835de0c764da8c6e213d6b88aa/addons/l10n_account_withholding_tax/__init__.py#L27
The Malaysian EDI forms now show identity card number placeholders without hyphens. This avoids misleading users and helps company and contact details pass validation with the IAP server and MyInvois.
Original PR description
Hyphens are generally omitted in ERPs, and just shown on the Identity card. Putting hyphens in the placeholder is actually misleading for users, and prevents validation through the IAP server and MyInvois Ref: https://en.wikipedia.org/wiki/Malaysian_identity_card#Structure_of_the_National_Registration_Identity_Card_Number_(NRIC) Task [link](https://www.odoo.com/odoo/project/967/tasks/5054821) task-5054821
Documentation and clarification updates
This pull request updates Quartile's corporate Contributor License Agreement documentation. It keeps Odoo's contributor legal records current and confirms the contributor has followed the required submission process.
Original PR description
@qrtl --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#226204
This pull request updates Odoo's contributor agreement documentation by adding a contributor under Ahkio Consulting. It helps keep legal contribution records accurate and up to date, with no impact on product functionality.
Original PR description
Description of the issue/feature this PR addresses: Add a contributor to ahkio-consulting.md --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr