Thursday, July 31, 2025
10 changes · 18.0
Resolved issues and error corrections
Jordanian e-invoices now automatically remove spaces, plus signs, and other non-number characters from buyer phone numbers before submission. This helps invoices pass JoFotara validation and reduces failed e-invoice submissions caused by common phone number formatting.
Original PR description
Strip all non-digit characters from the partner phone so that the UBL XML complies with JoFotara’s XSD which requires `^[0-9]{1,15}$`. This prevents validation errors when submitting e‑invoices.
Steps to reproduce:
- Install l10n_jo_edi
- Set partner phone to “+962 79 123 4567”
- Create & post an invoice
- Send to JoFotara
OPW-[4945688](https://www.odoo.com/odoo/my-tasks/4945688)
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#220357A manufacturing accounting test was adjusted so it no longer depends on optional demo data. This makes automated checks more stable and helps reduce false failures during validation.
Original PR description
Refactored the test to remove its dependency on demo data. See Runbot #230412
Checkboxes in task descriptions now save correctly when users navigate away using breadcrumbs. This prevents completed checklist items from being lost and improves reliability when updating task details.
Original PR description
Problem: In the Project app, when a task's description contains checkboxes and you check an item, then navigate back using breadcrumbs, the change is not saved. Cause: Breadcrumb navigation triggers a `blur` event to save the content. However, if the editable is not focused and you click on a checkbox, it doesn’t focus the editable. As a result, clicking away does not trigger `blur`, and the change is lost. Solution: Since `<li>` elements are not focusable, we programmatically focus the editable when toggling a checkbox. If it was already focused, we preserve the current selection. Steps to reproduce: - Add checkboxes to a task description - Save - Mark one checkbox as checked (editable remains unfocused) - Navigate back using breadcrumbs - Open the same task again -> The checkbox state is not saved opw-4922375 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Spanish VeriFactu point-of-sale orders now use the configured simplified invoice limit instead of a fixed 400 EUR threshold. This keeps invoice handling aligned with current Spanish localization settings and reduces incorrect treatment of eligible POS invoices.
Original PR description
In 18.0+ there is a field that determines the amount up to which an invoice can be simplified (`l10n_es_simplified_invoice_limit`). After this commit we use that instead of the hardcoded limit of 400 € that was used in 17.0. task-None
Users can now clear the delivery field during a product return without the system crashing. This improves the return workflow for helpdesk teams by handling missing delivery information safely.
Original PR description
step to reproduce : create a sales order with a service and a consumable product deliver the consumable product enable the 'returns' feature on your helpdesk team create a helpdesk ticket in this team select the customer and the SOL you created click on return empty the delivery field => traceback source of the issue : Setting the delivery_id field to false triggers a compute, in which an ensure one is later call on the delivery_id. Since the delivery is empty, it triggers an error. Solution : When the compute is triggered, we can prevent the rest of the code execution when the picking is set to False. task - 4935957
Archived time off types are now hidden from the Employee app, so employees and managers no longer see outdated leave balances on employee profiles. This keeps displayed time off information aligned with active company policies and reduces confusion.
Original PR description
In this bug, if a time off type is archived, it is still displayed in employee app. Steps to reproduce the bug: 1- Create a database with employee and time off modules installed 2- Allocate a time off to an employee 3- Archive the time off type 4- Open Employee app and go to the employee profile 5- The archived days are still displayed opw-4900060 Forward-Port-Of: odoo/odoo#217517
The French VAT return export now places amounts from grid 26 in the correct XML field. This prevents reimbursement requests entered in the report from being omitted or put in the wrong place when submitting VAT returns.
Original PR description
The French VAT report line for grid 26 ("Repayment of credit requested on form n°3519") uses code `box_26_external`, but the XML generator only mapped `box_26` to the `JB` tag.
As a result, the reimbursement amount was missing or incorrectly placed in the XML file.
This commit maps `box_26_external` to `JB` to ensure the correct tag is used when the user fills in grid 26.
opw-4931275Portal users will now continue to see their favorited published Knowledge articles in the sidebar after refreshing or returning to Knowledge. This fixes a visibility issue where publicly available articles could disappear from favorites unless the user had explicit access rights.
Original PR description
Currently, favorited articles disappear from a portal user's sidebar when the user refreshes or otherwise returns to their knowledge view. This is because right now, the sidebar only shows favorited articles if the user has been given explicit access to the article. However, this does not consider public published knowledge articles, which are made available to everyone on the web - this includes public and portal users. Since portal users are allowed to favorite articles, and because these articles are made available to everyone on the web, it makes sense that any favorited published articles should show up in the user's sidebar. opw-4972891
This update corrects default setup behavior in the Swiss payroll ELM transmission module to prevent automated validation errors. It helps ensure payroll-related social insurance transmission records are initialized reliably, reducing interruptions during system checks and usage.
Original PR description
https://runbot.odoo.com/odoo/runbot.build.error/115307 Forward-Port-Of: odoo/enterprise#90487
This fixes an error that could appear when a helpdesk user cleared the delivery field while processing a product return. The return flow now waits for a valid delivery to be selected, helping support teams avoid interruptions during customer return handling.
Original PR description
step to reproduce : create a sales order with a service and a consumable product deliver the consumable product enable the 'returns' feature on your helpdesk team create a helpdesk ticket in this team select the customer and the SOL you created click on return empty the delivery field => traceback source of the issue : Setting the delivery_id field to false triggers a compute, in which an ensure one is later call on the delivery_id. Since the delivery is empty, it triggers an error. Solution : The field 'delivery_id' is required. So we can simply prevent the execution of the compute when the delivery is set to false and wait for the user to put a new value to trigger the compute correctly. task - 4935957