Monday, February 2, 2026
7 changes · 17.0
Resolved issues and error corrections
This update resolves an error that prevented users from opening a POS session when the 'Simplified Invoice Partner (ES)' customer record was missing. The fix automatically creates this customer record if it's not already present, ensuring a smooth POS session experience. This improves usability for Spanish POS operations.
Original PR description
Currently, an error occurs while opening a POS session, when the external ID 'l10n_es.partner_simplified' is not available Step to produce: - Install the 'l10n_es_pos' module. - open a customer, And delete the 'Simplified Invoice Partner (ES)' record. - And try to open a POS session. ```ValueError: External ID not found in the system: l10n_es.partner_simplified``` An error occurs when the system tries to retrieve an external ID of the customer 'Simplified Invoice Partner (ES)' at [1], and it is not available. Link [1]: https://github.com/odoo/odoo/blob/4ac6722aec4a638882c41f1df563da6f051849ad/addons/l10n_es_pos/models/pos_config.py#L39 To handle this issue, create a demo customer 'Simplified Invoice Partner (ES)' if it is not available. sentry-5503568768 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update resolves a technical issue that caused a duplicate payment method to appear when setting up SEPA Direct Debit payments. Activating the SEPA Payment Provider and enabling SEPA within settings was triggering this duplication. This fix ensures SEPA payments function correctly and avoids potential errors.
Original PR description
When activating SEPA Payment Provider and checking SEPA in your settings, it results with a kind of duplicaiton of this Payment Method. task-5875979 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes a technical issue that caused confusing traceback errors during the ZATCA onboarding process. Previously, users received unhelpful technical messages when errors occurred. Now, users will see a clear, user-friendly alert message with the actual error returned by ZATCA, improving the onboarding experience and ensuring compliance.
Original PR description
This PR is essentially a backport of https://github.com/odoo/odoo/pull/242810. Original comment: Whenever an error occurs during the ZATCA onboarding steps—such as providing a company name that…
This PR is essentially a backport of https://github.com/odoo/odoo/pull/242810. Original comment: Whenever an error occurs during the ZATCA onboarding steps—such as providing a company name that exceeds 127 bytes in binary representation (for example, 64 Arabic characters without whitespace result in exactly 127 bytes; see refs [1] and [2])—the system returns a traceback to the user instead of a clear and user-friendly error message. Error: `TypeError: argument should be a bytes-like object or ASCII string, not 'NoneType' This is due to the check-in `_l10n_sa_get_production_CSID` for an 'error' key, not present in the response when an OTP is invalid because in these cases, the `_l10n_sa_call_api` returns the response_data directly. This fix improves the behaviour by displaying a user-friendly alert message with the error returned by ZATCA, instead of a traceback. This ensures a better experience and compliance with CCSID onboarding flows. [1]: https://zatca1.discourse.group/t/organization-name-is-too-long-issue-csr/7571 [2]: https://zatca1.discourse.group/t/organisation-name-with-restriction-of-64-characters/960 opw-5228665
This update fixes a translation issue where warnings on Swiss payroll payslips didn't display translated field names. The change ensures that all missing information fields are correctly translated into French (CH), improving the user experience for French-speaking Swiss users. This resolves a minor usability problem.
Original PR description
The warnings that appear on a payslip when the employee's form misses information are not fully translated Steps to reproduce: 1. Install module l10n_ch_hr_payroll 2. Switch to "My Swiss Company" and change language to French (CH) 3. Open app "Paie" and create a new employee (only add a name) 4. Click on "Contrats" in the stat button and create a new contract for the employee (only add a name), save it and set it as "En cours" in the status bar 5. Go to "Fiches de paie" > "Toutes les fiches de paie" and create a new payslip 6. Add the newly created employee to the payslip 7. The warnings in the form displaying the missing fields from the employee form do not translate the name of the missing fields Solution: Use `get_description` to get the translated name of the missing fields opw-5403634
This update fixes an issue where the 'Next Booking Start' field in the room list view was blank when rooms had upcoming bookings. The fix removes a filter that excluded occupied rooms from availability calculations, ensuring the field accurately reflects the next available time for all rooms. This improves the user experience and provides more accurate booking information.
Original PR description
Steps to reproduce:
1. Install `room`
2. Create a room.
3. Create a booking for the current time (so the room becomes occupied).
4. Create another booking for tomorrow.
5. Open the list view of rooms.
Current Behavior:
- The `Next Booking Start` field is empty for the created room, despite Having future bookings.
Cause:
- The method `_compute_next_booking_start` filters the rooms using `self.filtered('is_available')`. Since the room is currently occupied (due to the active booking), the room is excluded from the query entirely.
Solution:
- Remove the `is_available` filter from the search domain. The next booking start time is now calculated for all rooms, regardless of whether they are currently available or occupied.
opw-5360101This update fixes a potential issue where old, unused account synchronization links could cause problems, preventing new connections. By focusing on fresh, uninitialized links, the system now reliably establishes and maintains account online synchronization. This ensures smoother data flow and avoids disruptions.
Original PR description
Prevent reusing stale account.online.link records that have a provider_type set, which can leave an unusable row and block new connections. By adjusting the search domain in action_new_synchronization, we only reuse clean, uninitialized links. opw-5868438 opw-5867799
This update fixes an issue preventing correct validation of Lebanese phone numbers. The recent changes to Lebanon's telecommunications numbering plan require an updated library. This ensures Odoo accurately recognizes and validates Lebanese phone numbers, improving data accuracy and functionality.
Original PR description
A new Lebanon numbering plan introduced new range codes for telecommunications services. These are currently not always supported. ### Cause Versions of `phonenumbers` (external library) before 9.0.7 are not up-to-date with the latest Lebanese phone system changes. Source: https://www.itu.int/oth/T0202000077/en opw-5033655