Monday, February 23, 2026
7 changes · 17.0
Enhancements to existing features
This update adjusts the Romanian tax reporting within the Enterprise module to align with recent changes in the Core Enterprise (CE) version. The update removes outdated tax codes and adds new ones, ensuring accurate reporting for Romanian businesses. This change improves the reliability of financial data.
Original PR description
Some taxes were no longer needed in CE, so they needed to be removed task-5411745
Resolved issues and error corrections
This update fixes a bug that occurred when the VIES service returned invalid XML, causing errors in VAT number validation. By catching a broader range of exceptions from the 'zeep' library, the system now handles these errors gracefully, preventing tracebacks and ensuring accurate VAT checks. This resolves an issue impacting OCR invoice refresh functionality.
Original PR description
Catch all `zeep` exceptions instead of only `zeep.Fault`. On 14th of February 2026, the VIES service wasn't working properly, they were returning invalid XML in their response. This caused the `check_vies` call to raise a `zeep.XMLSyntaxError` which wasn't caught, causing a traceback every time VIES was used to validate a VAT number. opw-5938723 (OCR couldn't be refreshed on an invoice because it tried to create a partner from its VAT number and it couldn't be checked with VIES).
This update resolves a bug that caused the lunch ordering tour to fail when a user quickly navigated to a record before the necessary filters were applied. Specifically, the 4 Formaggi meal was incorrectly selected instead of the intended Aaron's Pizza option. This ensures a smoother and more reliable user experience for ordering lunch.
Original PR description
When ran on a fast enough computer, we clicked on a record before the filter has been applied. In practice, the 4 Formaggi meal was selected instead of Aaron's Pizza runbot-233159
This update resolves a random failure within the website editor's tour feature. The issue stemmed from inconsistencies in how the tour service triggered events compared to real user interactions. Adding a simple delay ensures the system correctly detects the necessary actions, preventing the tour from prematurely ending.
Original PR description
Steps to reproduce
==================
Run the test test_15_website_link_tools a bunch of times. It will eventually fail.
It happens every time if we add the following step after the "Reselect the first image" or the "Re-select image." step:
```js
{
trigger: "body",
run: async function() {
const { promise, resolve } = Promise.withResolvers()
setTimeout(resolve, 500)
return promise
}
},
```
It will fail when checking if the link toolbar is present
Cause of the issue
==================
In 17.0, the tour service doesn't trigger exactly the same events as a real user.
In this case, a selectionchange event is trigger causing the linkpopover to disappear
https://github.com/odoo/odoo/blob/6f7baa97db91f9a447257c3762febf4bd8a04800/addons/web_editor/static/src/js/wysiwyg/wysiwyg.js#L2963-L2977
Solution
========
We can set and focus the selection on the after clicking on it.
runbot-237703This update fixes inaccuracies in Bulgarian tax names and adjusts the default purchase tax rate from 20% PTC to 20% FTC, aligning with current Bulgarian regulations. This ensures accurate tax calculations and reporting for Bulgarian businesses using the Odoo system.
Original PR description
Fixing incorrect tax names and changing the default purchase tax to 20% FTC instead of 20% PTC. task-5935754
This update corrects a bug where the carousel image navigation wasn't functioning correctly in RTL (Right-to-Left) languages like Arabic. By adding a specific HTML attribute, the carousel now correctly displays the next and previous images based on the language direction, ensuring a consistent user experience across different languages.
Original PR description
Some libraries expect to find the language direction on the HTML element (e.g. Bootstrap). As we didn't set it, there were some issues. For instance on the website: - set the website language to some RTL language (e.g. Arabic) - drop an image gallery snippet and save - navigate with the keyboard to the carousel and start using the arrows to switch images => Pressing left should show the _next_ image, and pressing right should show the _previous_ image (contrary to LTR languages). This is illustrated by the image indicators at the bottom of the carousel (the 1st image is on the right, the last image on the left). But without `dir="rtl"` on the HTML element, the arrows keep their LTR behavior: pressing left goes to the previous image, and right to the next image. task-5109547
This update fixes an issue where the names of Ecuadorian localization regimes didn't comply with government regulations. The change ensures all names are in Spanish, as required for electronic invoices submitted to the government, regardless of the user's language settings. This ensures accurate and compliant invoicing for Ecuadorian businesses.
Original PR description
[FIX] l10n_ec_edi: fiscal localizations name The name of the regimes for the Ecuadorian localization does not respect the government requirements Steps to reproduce: 1. Install l10n_ec_edi module 2. Go to Settings > Invoicing > Ecuadorian Localization 3. In Electronic Invoicing > Regime, the names of the regimes do not respect government requirements Solution: Change the name of the fiscal localizations to respect the requirements Add a computed field used to map the name of the regime to the technical name of the regime used in SRI documents We write them in Spanish because we always want the name of the regime to be in Spanish in the XML invoice sent to the government, even if the user didn't install any other language. opw-5221871