Daily updates from Odoo
Monday, January 26, 2026
3 changes · 17.0
Resolved issues and error corrections
This update corrects a compatibility issue in the automatic currency rate system. Due to Bulgaria joining the Eurozone, the BNB now provides exchange rates in EUR, not BGN. This change ensures that companies using EUR as their main currency can correctly sync exchange rates without errors.
Original PR description
The `_parse_bnb_data` method assumed that the Bulgarian National Bank (BNB) provides exchange rates against BGN (Bulgarian Lev). However, since Bulgaria joined the Eurozone on January 1, 2026, the…
The `_parse_bnb_data` method assumed that the Bulgarian National Bank (BNB) provides exchange rates against BGN (Bulgarian Lev). However, since Bulgaria joined the Eurozone on January 1, 2026, the BNB now provides rates against EUR. This caused the error "Your main currency (EUR) is not supported by this exchange rate provider" when Bulgarian companies with EUR as their main currency tried to sync exchange rates. refs: We can compare the data here from 31 December using the WayBackMachine: https://web.archive.org/web/20251231193558/https://www.bnb.bg/Statistics/StExternalSector/StExchangeRates/StERForeignCurrencies/index.htm Compared to today: https://www.bnb.bg/Statistics/StExternalSector/StExchangeRates/StERForeignCurrencies/index.htm And see the comparison used to be to BGN but is now for EUR Steps To Reproduce: 1. Create a company for Bulgaria with EUR as the main currency. 2. Go to Accounting Settings -> Automatic Currency Rates. 3. Select "[BG] Bulgaria National Bank" as the service provider. 4. Click the sync button. 5. Error appears: "Your main currency (EUR) is not supported by this exchange rate provider. Please choose another one." The fix updates the base currency from BGN to EUR, matching the current BNB XML format which now provides rates against EUR. Note: Companies with BGN as main currency will now get the same error, which is expected since the BNB no longer provides BGN-based rates. This behavior was discussed and confirmed with the PO. Ticket [link](https://www.odoo.com/odoo/project.task/5483771) opw-5483771
This update fixes an issue where invoices imported via UBL XML were incorrectly identified as individual customers instead of companies. This change ensures that imported invoices are properly associated with the correct business partner, improving data accuracy in invoicing and reporting. The fix backports a previous solution.
Original PR description
Importing an xml with an unknown partner sets the partner as individual when it should be set as a company Steps to reproduce: 1. Install Invoicing 2. Open Invoicing and click on "Upload" 3. Select any invoice xml (e.g. https://docs.oasis-open.org/ubl/os-UBL-2.2/xml/UBL-Invoice-2.1-Example.xml) 4. On the draft invoice created, click on the internal link next to the customer 5. The new partner created is an individual, it should be a company Solution: Set new imported partners as company backport of https://github.com/odoo/odoo/commit/aa9fd54ab321eb591666244fbd14c1127151de70 opw-5490363
This update optimizes the timesheet report to address slow loading times when processing large datasets. The team implemented a more efficient query using a CROSS LATERAL JOIN to filter relevant dates, significantly reducing processing time. The report now loads in approximately 2 seconds, resolving a previous issue impacting report usability.
Original PR description
After this commit https://github.com/odoo-dev/enterprise/commit/6c33bde74342b634d9f6fbda4ef407ffe9bac54f we introduced a new left join which seems that it slowed down the query a lot. So the report doesn't load at all if we have a lot of records. In this PR we are introducing CROSS LATERAL JOIN as we want to generate only the the relevant dates not all dates between the min starting date and max ending date of all slots. Query plan after modification https://explain.dalibo.com/plan/eh5293ba2354f43c The testing cardinality of the tables: `planning.slot` 7178 rows `hr.employee` 332 rows `resource.resource` 332 rows `resource_calendar_leaves` 4061 rows `account_analytic_line` 267376 rows `generate_series()` will produce 206417 rows | Before | After | |-----------------------------------------|-------| | Query keep being active with no results | ~2s | opw-5089052