Friday, March 6, 2026
15 changes · 18.0
New functionality added to Odoo
This update adds comprehensive tests to ensure the correct synchronization of Gelato products into Odoo and the seamless purchasing of Gelato products. These tests improve the reliability and stability of the Gelato integration, allowing for more accurate product listings and order processing.
Original PR description
Tests for synchronizing Gelato products with Odoo and buying Gelato products are added. task-4527206
Resolved issues and error corrections
This update adjusts the minimum and maximum amounts for employee mobility budgets each year, aligning them with inflation. This ensures employees continue to have access to appropriate budget levels for relocation expenses. The change is a technical update to the payroll module.
Original PR description
Each year the minimum and maximum amount of mobility budget is indexed, here are the new values.
Documentation and clarification updates
This pull request adds a required Certificate of License Agreement (CLA) signature for Odoo version 17.0. This ensures compliance with Odoo's open-source licensing requirements and protects the project's legal standing. The change is a standard legal update.
Original PR description
Added missing CLA for V17.0 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#252213
This update resolves an issue preventing the deletion of products tied to specific companies when a Point of Sale session is open in another company. The fix now only checks for open sessions matching the product's company ID, allowing for smoother product management across different company environments. This improves user workflow and reduces unnecessary session closures.
Original PR description
**Problem:** When we try to delete a company specific product (company_id field), the deletion will fail if we have an opened session, even in another company that does not have access to this product. **Steps to reproduce:** - Create a product for company A only - Go to company B and open a PoS session - Go back to company A and try to delete the product - It fails and asks to close all PoS sessions **Why the fix:** The way it was done before this commit is to check that all PoS session were closed before allowing the deletion of a product. It makes more sense to only check this if the product we are trying to delete is not a company specific product. The way we do it now is that if the products are company specific, we only check the open sessions that match the product's company_id field. This way, the product could be deleted even if some sessions are opened in other companies. opw-5050325
This update clarifies the chatbot's message when a conversation ends, changing from 'Conversation ended...' to 'Conversation has ended.' Removing the ellipses ensures a clearer and less ambiguous signal to the user that the chat is complete, improving the overall user experience.
Original PR description
This commit updates the chatbot completion message from 'Conversation ended...' to 'Conversation has ended.' The previous version used ellipses, which typically suggest an incomplete thought. Since the message is meant to clearly indicate that the conversation has concluded, the ellipses were unnecessary and potentially confusing. Forward-Port-Of: odoo/odoo#251166
This update resolves an issue where account reports exports in XLSX format were sometimes truncated due to a limit on the number of rows per sheet. The system now intelligently splits the export into multiple sheets to accommodate larger datasets, ensuring complete reports are generated and opened correctly in Excel.
Original PR description
The XLSX format has a hard limit of 2^20 rows (~1M) by sheet. Thanks to 6a3804c5fe6b4f1d48a4ab311a0f1fbb24d75187 the GL can now handle more lines than before when exporting in XLSX. This can sometimes go above the format hard limit which makes the resulting file truncated when opened in Excel or Calc. This commit split the file into multiple worksheets by opening a new sheet in case the current file size + the size of the next lines to write goes above the limit. The total lines are written on the last sheet. Forward-Port-Of: odoo/enterprise#109328
This update ensures stock availability emails are sent from the correct website partner during testing. Previously, nightly runbots encountered errors because the website partner lacked an email address. The fix now provides a default email for testing and prevents sending emails with the current user's address, resulting in a more reliable testing process.
Original PR description
This commit (https://github.com/odoo/odoo/pull/249299/changes) backported some changes concerning stock availability mails. The mail is now sent from the partner associated to the website. However, in nightly runbots, the partner associated to the website does not have any email, so an error is thrown This fix does two things : - Make sure the website's partner has an email when running the tests - Prevent the mails being sent with the current user's email as a last ressort, and let an error be thrown instead runbot-102934954 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update resolves a printing issue that occurred when creating multiple vendor bills using DIAN support documents. The fix ensures the report template only attempts to print related information when a valid DIAN attachment exists, preventing a crash caused by parsing errors. This improves the reliability of the printing process for users working with DIAN 2.1.
Original PR description
**Steps to reproduce:** * Install the **l10n_co_dian** module. * Enable DIAN 2.1 operation mode: **Support Documents** in settings. * Create a vendor bill using a **DIAN support document** journal. * Confirm the vendor bill. * Click **Print**. **Observed behavior:** * Printing fails with `ValueError: can only parse strings`. **Cause:** * The report template unconditionally called `_l10n_co_dian_get_extra_invoice_report_values()`, which parses `l10n_co_dian_attachment_id.raw` via `etree.fromstring()`. * On duplicated bills, `l10n_co_dian_document_ids` (and thus the computed `l10n_co_dian_attachment_id`) is empty, so `.raw` is `False`. **Fix:** * Wrap the QR code / CUFE / signing section in the report template with `t-if='o.l10n_co_dian_attachment_id'` so it is only rendered when the DIAN attachment exists. opw-5930173
This update resolves a bug where pressing ALT+P in the asset management module incorrectly navigated to the 'Posted Entries' view instead of the previous asset. The shortcut has been changed to ALT+SHIFT+P to align with existing functionality and improve usability.
Original PR description
# How to reproduce - Have atleast two assets - Go to the last asset - Type ALT + P on your keyboard # The problem We enter the Posted Entries view instead of going to the previous asset # Why This PR (https://github.com/odoo/enterprise/pull/67840) added shortcuts to the asset form view, but used ALT + P for the Posted Entries. This shortcut is already used on all form views for the "previous page" button. After consulting with the developer of the original PR, we decided to move the Posted Entries shortcut to ALT + SHIFT + P opw-5948523
This update corrects a bug where timesheets were being created for employees even when the associated public holiday didn't apply to their company. The change ensures that timesheets are only generated for employees within the companies where the public holiday is active, improving accuracy and reporting.
Original PR description
**Steps to reproduce** - Have 2 companies A and B - Use a single working schedule (needs to have no company on it) for both companies and their employees - Create a public holiday with company A, while having company B in the selected companies - There's a timesheet for the public holiday created for employees of company B, even though the public holiday will not apply for them. **Change** Only generate the timesheets for employees belonging to the companies of the public holidays. opw-5498462
This update resolves an issue where customers without a company registry were incorrectly assigned the default VAT instead of the standard VAT. The fix removes a redundant condition that caused this misbehavior, ensuring accurate VAT assignment for all Romanian customers.
Original PR description
Problem --------- In a recent fix, in the Tax Scheme customer node, the scheme type was recomputed correctly depending on the companyID node. However, during the fix, a condition was wrongly introduced. This will lead to some issue: when a customer has no VAT, he should be given the default VAT. However, due to condition, the customer gets given the Default VAT only when he does not have a vat NOR A COMPANY REGISTRY. Solution --------- Remove the condition no-task --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes a display issue in the SEPA payment wizard, ensuring the warning message accurately reflects the number of payments being processed (2 installments per bill). It also resolves a bug where the 'group payment' button was incorrectly visible in certain scenarios. This ensures accurate payment tracking and a better user experience.
Original PR description
[FIX] account: right number of payments skipped in send wizard Steps to reproduce: - install modules account_sepa_direct_debit, account_iso20022 - create 2 vendor bills with payment terms so that there are 2 installments per bill, and post them - from the list view, select both bills and click pay - select SEPA as a payment method, a warning message is displayed mentionning 4 payments We want the warning to display a number of 2 payments because we're paying only the first installment of each bill This commit also fixes the visibility of the "group payment" button: when two bills from different suppliers were selected with one having installments, the button was visible task-5917803
This update fixes an issue where the SEPA payment wizard incorrectly displayed the number of payments being skipped. Specifically, it now accurately reflects that only the first installment of each bill is being paid when using the SEPA payment method. Additionally, a visual bug related to the 'group payment' button has been resolved.
Original PR description
[FIX] account_iso20022: right number of payments skipped in send wizard adding tests to the community commit Steps to reproduce: - install modules account_sepa_direct_debit, account_iso20022 - create 2 vendor bills with payment terms so that there are 2 installments per bill, and post them - from the list view, select both bills and click pay - select SEPA as a payment method, a warning message is displayed mentionning 4 payments We want the warning to display a number of 2 payments because we're paying only the first installment of each bill This commit also fixes the visibility of the "group payment" button: when two bills from different suppliers were selected with one having installments, the button was visible task-5917803
This update resolves an issue where the batch view in stock_picking_batch displayed multiple 'Validate' buttons, causing confusion. The fix ensures that only one 'Validate' button is visible, streamlining the batch creation process and improving user experience. This change corrects a visual inconsistency.
Original PR description
Steps to reproduce: - Create two storable products: “P1” and “P2” - Create two pickings, one with P1 and another with P2 - Create a quality check for P1 - From the picking list view: - Select both pickings and create a batch - Open the batch Problem: Two “Validate” buttons are displayed instead of one. The inherited view was overriding the original `invisible` attributes of the two existing `action_done` buttons and also adding an extra `action_done` button. Because the original visibility logic was replaced (instead of extended), the conditions were no longer mutually exclusive, causing multiple Validate buttons to be visible at the same time. Solution: - Remove the extra `action_done` button added in the inherited view - Extend the existing `invisible` conditions using `separator=" or "` so the original logic is preserved and the buttons remain mutually exclusive opw-5508871
This update resolves an issue where the batch view in the Enterprise module incorrectly displayed multiple 'Validate' buttons. The fix ensures that only one 'Validate' button is visible, streamlining the batch creation process and improving user experience. This change corrects a visual inconsistency.
Original PR description
Steps to reproduce: - Create two storable products: “P1” and “P2” - Create two pickings, one with P1 and another with P2 - Create a quality check for P1 - From the picking list view: - Select both pickings and create a batch - Open the batch Problem: Two “Validate” buttons are displayed instead of one. The inherited view was overriding the original `invisible` attributes of the two existing `action_done` buttons and also adding an extra `action_done` button. Because the original visibility logic was replaced (instead of extended), the conditions were no longer mutually exclusive, causing multiple Validate buttons to be visible at the same time. Solution: - Remove the extra `action_done` button added in the inherited view - Extend the existing `invisible` conditions using `separator=" or "` so the original logic is preserved and the buttons remain mutually exclusive opw-5508871