Daily updates from Odoo
Saturday, March 7, 2026
8 changes · saas-19.2
Resolved issues and error corrections
This update resolves an issue where Romanian customers without a company registry were incorrectly assigned the default VAT instead of the standard VAT. The fix removes a redundant condition that was causing this misassignment, ensuring accurate VAT application 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 Forward-Port-Of: odoo/odoo#252475
This update corrects an issue where generating PIX payment QR codes would fail if company names included special characters like emojis. The fix ensures company names only contain valid characters, guaranteeing QR code validity and successful payment processing. This improves the reliability of PIX payments for Brazilian customers.
Original PR description
When generating the QR code for PIX payment, if the company name contained incorrect characters (like emojis), the generated code was invalid and the payment could not be processed. Steps to reproduce: ------------------- * Install l10n_br and PoS * Create a PIX payment method and set it on the PoS session * Change the company name to contain an emoji (e.g. "Company emoji 😇") * Open the PoS session and try to pay with PIX > Observation: If you try to verify the generated QR code, it will be invalid Why the fix: ------------ We apply the same regex as defined here: https://github.com/odoo/odoo/blob/72654c3596660e3ec4b6885c5b957739465de097/addons/l10n_br/models/res_partner_bank.py#L81 To make sure the company name only contains valid characters, and the generated QR code is correct. This also modify the other tests because it removes the `_` that is not an allowed character. opw-5907530 Forward-Port-Of: odoo/odoo#250917
This update resolves an issue where invoice content overlapped with the header on subsequent pages when generating PDFs. The fix addresses a technical problem related to how wkhtmltopdf handles tables across pages, ensuring the header and invoice content are properly separated.
Original PR description
**Steps to reproduce:** * Install `Accounting` module. * Create an invoice with enough lines to span multiple pages. * Print the invoice to PDF (or use the 'Print' action). **Observed behavior:** *…
**Steps to reproduce:** * Install `Accounting` module. * Create an invoice with enough lines to span multiple pages. * Print the invoice to PDF (or use the 'Print' action). **Observed behavior:** * On the second page (and subsequent pages), the invoice table rows overlap with the company header (logo, address). * This regression was introduced in saas-19.1 after the flexible document layout refactoring (commit). **Cause:** * The invoice's main table (`o_main_table`) is wrapped in a `<div class='table-responsive-sm'>`. * `table-responsive-sm` applies `overflow-x: auto` at narrow viewports, which creates a Block Formatting Context (BFC). * In wkhtmltopdf's WebKit engine, a BFC container does not participate in normal page fragmentation. When the table spans multiple pages, the content bleeds into the next page without respecting the header spacing defined by `--margin-top` and `--header-spacing`. * This causes the continued table rows (and any repeated `<thead>`) to render at the very top of the content area, overlapping with the page header. **ref:** https://github.com/odoo/odoo/commit/15697add5751181544fb61302ddb745a354a2935#diff-c85e75bc27fc841662ca0598c09a22670e0a0b4e5120815934c0a50999ff02bfR172 with this commit `table-responsive-sm` added to invoice pdf layout. **Fix:** * Add `overflow: visible` on the `table-responsive-sm` wrapper div to prevent the creation of a scroll container / BFC. * This ensures wkhtmltopdf can properly fragment the table across pages and respect the header spacing on all pages. **Before:** <img width="874" height="250" alt="image" src="https://github.com/user-attachments/assets/2da0a82a-abc9-49d6-9788-c8e89283e4b2" /> **After:** <img width="872" height="256" alt="image" src="https://github.com/user-attachments/assets/cd38b7e3-b2b6-4c03-a1d8-5ac31cad0925" /> opw-5949713 Forward-Port-Of: odoo/odoo#249998
This update ensures that the 'Insert in spreadsheet' action is only visible to users with the necessary permissions for Documents and Dashboards. Previously, users without these permissions could still see the action, which has now been corrected for a more streamlined and secure user experience.
Original PR description
Current behavior before PR: - The 'Insert in spreadsheet' action was always visible in the list view action menu, even when the user lacked access rights for Documents or Dashboards. Desired behavior after PR is merged: - The action is shown in the list view action menu only if the user has the required permissions. Task: 5930184 Forward-Port-Of: odoo/enterprise#109739 Forward-Port-Of: odoo/enterprise#108099
This update ensures that users only see the 'Insert in spreadsheet' option in the kanban view if they have the necessary permissions. Previously, users without these permissions could still see the option, leading to potential confusion. The update also removes a restriction that prevented inserting records from kanban views grouped by m2m fields, streamlining the process.
Original PR description
Current behavior before PR: - The 'Insert in spreadsheet' action was always visible in the kanban view action menu, even when the user lacked access rights for Documents or Dashboards. - Inserting records from a kanban view into a spreadsheet was blocked when the view was grouped by an m2m field. Desired behavior after PR is merged: - The action is shown in the kanban view action menu only if the user has the required permissions. - The m2m field check is removed when inserting from kanban views. Task: 5930184 Forward-Port-Of: odoo/enterprise#108098
This update allows all agents with live chat access to edit the description of a live chat conversation, regardless of whether they are a member of the channel. Previously, only channel members could make these changes. This improves agent flexibility and efficiency in managing live chat interactions.
Original PR description
…cription **Before this PR**, only users who were channel members could edit the description of a live chat conversation. With this change, agents who have live chat access can now edit the channel description **even if they are not members** of that specific live chat channel. task-5046015 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#251451
This update resolves an issue that occurred when the demo version of Odoo Enterprise was used. Specifically, certain buttons were incorrectly triggered, causing unexpected behavior within the accounting module. This fix ensures the demo mode functions reliably and prevents potential disruptions for users.
Original PR description
community https://github.com/odoo/enterprise/pull/97209 Forward-Port-Of: odoo/enterprise#109792
This update fixes an issue where the system incorrectly rejected valid Non-Resident (NRI) GSTINs. The change adjusts the validation process to accept a wider range of valid NRI GSTIN formats, ensuring accurate tax ID processing for international customers. This improves data integrity and prevents errors when entering tax information.
Original PR description
Currently, valid GSTINs for certain Non-Resident taxpayers are rejected. **Steps to reproduce:** - Install the `l10n_in` module. - Navigate to Settings > Users & Companies > Companies. - Open `IN…
Currently, valid GSTINs for certain Non-Resident taxpayers are rejected. **Steps to reproduce:** - Install the `l10n_in` module. - Navigate to Settings > Users & Companies > Companies. - Open `IN Company` and set `Tax ID` to `9922JPN29001OSU` and try to `save`. **Error:** `The VAT number [9922JPN29001OSU] for partner [IN Company] does not seem to be valid.` `Note: the expected format is 12AAAAA1234AAZA` The system rejects the GSTIN, although it is valid and verifiable on the official GST portal: https://services.gst.gov.in/services/searchtp **Root cause:** At [2], the GSTIN validation regex for NRI taxpayers only supports formats ending with `NRX` (X = any alphanumeric character). However, certain valid GSTINs follow a different structure and are not matched by the existing regex. **Fix:** This commit ensures that valid NRI GSTIN formats are accepted during validation. Confirm with IN PO. [1]: https://services.gst.gov.in/services/searchtp [2]: https://github.com/odoo/odoo/blob/5e59f4b3def44aa84c06ba4c2ed34bf2e8da928f/addons/base_vat/models/res_partner.py#L712-L723 opw-5956299 Forward-Port-Of: odoo/odoo#252647 Forward-Port-Of: odoo/odoo#251760