Wednesday, February 25, 2026
8 changes · 17.0
New functionality added to Odoo
This update incorporates exchange rates from the Central Bank of Cuba (BCC), expanding Odoo's currency coverage. This allows businesses operating in or with transactions involving Cuba to accurately reflect currency conversions. The change supports multiple rate types for greater flexibility.
Original PR description
This commit introduces a new exchange rate provider for the Central Bank of Cuba (BCC). - Implement new exchange rate provider for Central Bank of Cuba (BCC) - Retrieve rates from official BCC source - Reference: https://www.bc.gob.cu/tasas-de-cambio (official published data and documentation) - Parse and normalize published currency values - Support multiple rate types (official, public, special)"
Resolved issues and error corrections
This update fixes a technical issue where certain Intrastat codes (99450000, 99500000, 99600000 & 99700000) were incorrectly marked as expired. The update ensures these codes remain active, aligning with official Belgian regulations as outlined in the NBb manual, ensuring accurate reporting.
Original PR description
99450000, 99500000, 99600000 & 99700000 were erroneously expired. They are still active : https://www.nbb.be/doc/dd/onegate/data/intrastat_manual_basis_en.pdf page 13 Forward-Port-Of: odoo/enterprise#108451
This update corrects a display issue where the footer text was missing from Argentine invoices. The problem stemmed from a missing field definition in the invoice XML file. Now, the footer text will correctly appear at the bottom of invoices generated for Argentina companies, ensuring accurate and complete documentation.
Original PR description
Steps to reproduce: 1- Install Accounting and 'l10n_ar' modules 2- Switch to Argentina company, go to [Settings -> Configure Document Layout] and make sure there is some text in the footer field 3- Issue an invoice and preview it The issue: The footer text is missing at the bottom of the invoice Expected behavior: The footer text should be displayed at the bottom Why this happens? The xml file was missing the field definition of the footer text opw-5927246
This update resolves an issue where users generating leads without credits received a confusing error message. The change now correctly handles cases with no credits, providing a more user-friendly experience. This ensures a smoother process for lead generation within the CRM system.
Original PR description
Before this commit, when the user uses CRM to generate new leads and does not have credits, the error message they would get is "Your request did not return any result (no credits were used). Try removing some filters." This commit fixes this in _perform_request by instead of expecting InsufficientCreditError raised it now expects the credit_error flag to be set. task-5925047
This update quietly handles errors that occur during tour termination, specifically 'AssetsLoadingError', which represents lazy-loaded assets. Previously, these errors were flagged incorrectly, and this change ensures they are no longer displayed, improving the user experience. This is a minor fix to enhance stability.
Original PR description
Similarly to commit https://github.com/odoo/odoo/commit/493bab4f460dd4069d5cb6805933b8088067ff17 hiding "failed to fetch" errors, this commit adds AssetsLoadingError as those represents "just" another category of failed assets request (i.e. lazy loaded) after tour termination. runbot-233826
This update restores a previously removed method within the HR holiday attendance module. This was done to accommodate customizations that may still rely on the method, with a clear note indicating its future removal in the main Odoo version. This ensures continued functionality for existing users while maintaining a path to eventual removal.
Original PR description
In https://github.com/odoo/odoo/pull/229723, we removed the `_update_leaves_overtime` method as it was moved to another model, however, the method could still be in use in customizations so we restore it here add a comment that states it will be removed in master.
This update resolves a potential error that could have disrupted invoice processing, specifically related to the UBL Cii XML data. The change ensures the system safely retrieves necessary data, preventing unexpected interruptions and maintaining reliable invoice handling. This improves overall system stability.
Original PR description
This PR completes the changes introduced in https://github.com/odoo/odoo/pull/246350 A KeyError could occur in some edge cases due to a missing key ubl_cii_xml in `_need_invoice_document()` This fix ensures the value is safely retrieved and prevents the exception opw-5490217
This update fixes an issue where newly hired employees were incorrectly receiving their private email address in their work email field. The change ensures that the employee's work email is properly cleared when the contract is signed, aligning it with the intended configuration. This prevents data inconsistencies and ensures accurate email communication for new hires.
Original PR description
**Steps to Reproduce:** 1. Send an offer to an applicant. 2. The applicant submits their details via the salary configurator and enters their private email in the Email field. 3. Once the offer and contract are signed, an employee record is created in Odoo. 4. In the created employee record, the `work_email` field is populated with the email entered in the salary configurator. This same value is also present in `private_email`, which is correct. **Reason:** - The email entered in the salary configurator is stored on the partner and represents the applicant's private email. - The employee's `work_email` field is linked to the partner's email via compute and inverse methods, causing it to inherit the private email value when the employee record is created. **Solution:** - Explicitly clear the employee's work_email field when the applicant sign. task: 5502797 Forward-Port-Of: odoo/enterprise#106974