Wednesday, April 29, 2026
12 changes · 19.0
Resolved issues and error corrections
This update resolves an issue preventing kiosks from communicating correctly with the new IoT box images. The fix ensures the correct message format is used, allowing the IoT box to receive and process data properly. This improves compatibility and functionality for kiosk users.
Original PR description
The new IoT box images expect the websocket messages to contain just `iot_identifier` and `device_identifier` instead of a list of `iot_identifiers` and `device_identifiers`. This method that the kiosk calls to send a message to the blackbox was not updated, causing the IoT box to ignore the message. This commit fixes the issue by adding the `iot_identifier` and `device_identifier` to the message.
This update fixes an error in how emission factors are converted within the ESG module. The previous system incorrectly handled unit and currency conversions, leading to inaccurate calculations. This change ensures that emission calculations are now precise and reliable.
Original PR description
Issue: ---------------------------------------- The conversions using Emission factors are done in the wrong way. Steps to reproduce: ---------------------------------------- - Install `esg` module - Create an Emission Factor from ton to kg of 1000 - Create a new Emission using the new factor, set the unit as kg - Notice the conversion is wrong Cause: ---------------------------------------- The two uom are inverted when calling `_compute_quantity()`. Same occured for the currencies. opw-6152413 Forward-Port-Of: odoo/enterprise#115246
This update fixes an issue where the IRN number, generated during e-invoicing, wasn't being saved to the customer invoice. Now, the IRN number is correctly displayed in both the invoice PDF and the invoice form view after the EDI submission process, ensuring accurate record-keeping for GSTR reporting.
Original PR description
**Steps to reproduce:** * Install module *Indian - GSTR with E-invoice (l10n_in_edi_gstr)*. * Configure *Indian integration* with required credentials (E-Invoicing, E-Way bill, etc.). * Save the settings. * Create a *customer invoice*. * Post the invoice. * Send the invoice through *E-Invoicing (EDI)*. * Open the generated *Invoice PDF* and the *form view*. **Observed behavior:** * The *IRN number* is correctly present in the *Invoice PDF*. * However, it is *not saved/displayed* in the invoice form view. **Cause:** * The invoice flow did not store the *IRN number* on the invoice after receiving the EDI response, even though the value was available. **Fix:** * Inherit *_l10n_in_edi_send_invoice*. * Add a condition after the invoice is sent and the JSON response is received. * When the *IRN number* is present in the response, set it on the *l10n_in_irn_number* field of the invoice (in lower case). opw-6097923 Forward-Port-Of: odoo/enterprise#114350
This update resolves an issue preventing the generation of VAT Books in the Spanish version of Odoo Enterprise. A change in the button logic required updating the XPath expression to avoid errors. The VAT Books now open successfully after this fix.
Original PR description
After an update, the t-if of the button was changed, and it was necessary to adapt the xpath to avoid errors After the change, the VAT Books opened without problems task-6170173
This update resolves a minor visual issue where the bank reconciliation popover was incorrectly displayed on all lines, even those without relevant transactions. The fix ensures the popover only appears when appropriate, improving the user experience and preventing unnecessary visual clutter. This is a low-impact fix.
Original PR description
In this commit:https://github.com/odoo/enterprise/commit/5d88ae9fc1e1f43797fe7d9118a0582f949dc7be we changed the way the popover was working to make it display on hover but forgot to add the condition to display the popover. It means that it was display for every line even the one without exchange move or partial reconcile, so there was a small visual glitch no task id
This update corrects a bug in the appointment booking process for flexible scheduling. Previously, a 20-minute slot was incorrectly serialized, leading to a 404 error. The fix ensures accurate slot duration calculation, resolving the booking issue and improving the user experience.
Original PR description
Steps to reproduce: 1. Install `appointment` 2. Create an appointment type with the followings 3. Schedule type flexible and a slot of 20 min. 4. Share this appointment and try to book appointment for 20 min. Issue: - 404 Error occurs after selectiong the slot Cause: - In 19.0, commit https://github.com/odoo/enterprise/commit/9bae0e13e7bf5e0db25a60fc2683bc51eccb4447 started using slot.duration when building the booking URL for flexible slots. However, slot.duration is rounded to 2 decimals, so a 20-minute slot is serialized as 0.33 instead of its exact value. During validation, the end datetime is recomputed from this rounded duration, which no longer matches the original slot boundaries. This mismatch causes the slot to be considered invalid and the controller raises NotFound. Solution: - Compute the slot duration directly from slot_start_dt_tz and slot_end_dt_tz when building the URL, preserving the full precision. opw-5924312
This update fixes an issue where the Partner Ledger displayed incorrect initial balances when the date range filter wasn't used. The fix ensures that partner balances accurately reflect all transactions, resolving inconsistencies between totals and subline amounts. This improves the reliability of financial reporting.
Original PR description
To reproduce the issue: 1) Create an invoice of 100 € for partner A in 2025 2) Create another invoice of 200€ for the same partner in 2026 3) Open the Partner Ledger for 2026. Unfold A. It shows an initial balance of 100€ and a total of 300€. 4) In debug mode, open the Partner Ledger's form view and uncheck the date range option. 5) Open the Partner Ledger like in step 3) ====> An initial balance of 300€ shows, making the total of Partner A (still 300€) inconsistent with the sum of its sublines (600€) feedback-6042305 Forward-Port-Of: odoo/enterprise#115455
This update corrects a technical error that prevented users from editing appointment pages in the website builder. The issue stemmed from an unnecessary attribute being included in the BuilderContext component, which was flagged by debug mode. This change ensures a smoother editing experience for all users.
Original PR description
Steps to reproduce: =================== 1. Enable debug mode (`?debug=assets`). 2. Open an appointment page in the website & edit mode. 3. Click the appointment type block. => Traceback "Invalid…
Steps to reproduce: =================== 1. Enable debug mode (`?debug=assets`). 2. Open an appointment page in the website & edit mode. 3. Click the appointment type block. => Traceback "Invalid props for component 'BuilderContext': unknown key 'reload'" Cause: ====== The `reload="'/'"` attribute on `<BuilderContext>` in appointment_type_option.xml was never a valid prop on the component: `basicContainerBuilderComponentProps` (the source of `BuilderContext`'s props) doesn't include `reload`. https://github.com/odoo/odoo/blob/f4700ba0f070003ac8a3828f9fd8583c27671e3f/addons/html_builder/static/src/core/utils.js#L887 In normal mode OWL silently ignores unknown attributes, but in debug mode prop validation runs and raises a Traceback Solution: ========= The reload behavior the actions actually need is already handled via `BuilderAction.isReload = true` in `appointment_type_option_plugin.js`, https://github.com/odoo/enterprise/blob/21ed8a6c1cad8d533d04659a3997c2d7e0c3965b/website_appointment/static/src/plugins/appointment_type_option_plugin.js#L35 so the attribute can be removed. opw-6152741 Forward-Port-Of: odoo/enterprise#115242
This pull request addresses a problem with invoice testing related to rounding calculations within the l10n_mx_edi module. It reverts a previous change that introduced the issue and implements a fix. This ensures accurate invoice generation and reporting for Mexican tax purposes.
Original PR description
This reverts commit 50ad147e1f579a094141f6f126e02f75ecc62ab3. Forward-Port-Of: odoo/enterprise#115608
This update resolves an error that occurred when exporting VSME reports if the base year was not a valid 4-digit number. The fix ensures that only valid years (1000-9999) are accepted, preventing a data processing error and ensuring report generation functionality.
Original PR description
Currently, an error occurs when exporting VSME reports if the base year is not a valid 4-digit year. **Steps to Reproduce:** 1. Install the `esg_csrd` module with demo data. 2. Create new "**VSME Reports**" with `Base Year = 1`. 3. Now, click on "**Print**". **Error:** `ValueError - Invalid isoformat string: '1-01-01'` **Cause:** The base year is directly used to build a date in [1], resulting in `datetime.date(1, 1, 1)`. In [2], this is formatted to **"1-01-01"** and used in a domain search, which raises a ValueError due to an invalid ISO date format. **Fix:** - Adds a **constraint on base year** to ensure only valid years (1000–9999) are allowed for new VSME Report records. - Adds a **helper validation method** to verify base year before performing computations on existing records. sentry-7419431039
This update resolves an error preventing users from accessing the Spain VAT Books report within Odoo. The issue stemmed from an outdated template referencing a removed condition, which caused a search error. This fix ensures the report functionality is restored for Spanish companies.
Original PR description
**Steps to reproduce:** - Install the `l10n_es_reports` and `accountant` modules. - Switch to an ES Company. - Navigate to Accounting > Reporting > Spain > `VAT Books`. **Error:** `Element '<xpath…
**Steps to reproduce:** - Install the `l10n_es_reports` and `accountant` modules. - Switch to an ES Company. - Navigate to Accounting > Reporting > Spain > `VAT Books`. **Error:** `Element '<xpath expr="//button[@t-if='this.props.line.chatter and !this.ui.isSmall']" position="replace"/>' cannot be located in element tree` **Root Cause:** After commit [1], the condition `this.ui.isSmall` was removed from the template `account_reports.AccountReportLineNameCustomizable` at [2]. However, the inherited template `l10n_es_reports.VatBooksLineName` was not updated accordingly and still references the old condition, which leads to the error. **Fix:** This commit prevents errors and ensures that users can open the `VAT Books` report by applying a fix similar to [2]. [1]: https://github.com/odoo-dev/enterprise/commit/fd0afa474600586e8703ec377f962c8d7d94307a [2]: https://github.com/odoo/enterprise/blob/7362f1c5be7f496bdab660ed8fad37a6dd283616/account_reports/static/src/components/account_report/line_name/line_name.xml#L81 opw-6169697 opw-6170173
This update resolves a potential issue where duplicate Odoo databases would retain active connections to ARCA web services. This prevented users from accurately testing the system without impacting live production connections. The change ensures ARCA connections are cleared when credentials are updated, improving testing and stability.
Original PR description
Problem and Cause: When duplicating a database with existing ARCA connections, the connections to ARCA webservices are not cleared. Users using the duplicate database may not realize that the ARCA connections are still present. This may lead to production connections getting used while users are testing. Solution: Clear connections to ARCA webservices when updating the credentials.