Daily updates from Odoo
Monday, March 9, 2026
11 changes · saas-19.1
Enhancements to existing features
This update optimizes the way tests for the stock barcode module are run. By moving setup steps to a class-level configuration, tests now execute faster. This change improves overall system performance and stability.
Original PR description
This commit moves the records' creation and the configuration of the `stock_barcode` tests from the `setUp` to the `setUpClass` method, so those are done only once and not at the beginning of every test. The purpose of this change is to slightly speed up the run of tests. Forward-Port-Of: odoo/enterprise#109624
Resolved issues and error corrections
This update corrects a display issue in the employee emergency contact section. Previously, the 'Relationship' field was incorrectly shown for all employees, regardless of their company location. Now, the field is hidden for employees linked to non-Indian companies, ensuring data accuracy and a consistent user experience.
Original PR description
### Steps to reproduce: - Install l10n_in_hr_payroll. - Create an employee (also link a user) in an Indian company and another company. - Go to My Profile > Private Information > Emergency. - The Relationship field is shown for non-Indian employees as well as employees from other countries. ### Issue: - We're not hiding the relationship field if employee is from other country. ### Fix: - We'll hide this field if an employee belongs to non-indian company. Task: 6008888
This update resolves an issue where the Timesheet Assistant form wouldn't clear after deselecting suggestions, leaving a partially filled timesheet open. The fix ensures that the form is completely cleared and disappears, providing a cleaner user experience and preventing confusion. This improves data accuracy and usability.
Original PR description
# Steps to reproduce - Open Timesheet Assistant - Select multiple suggestions - Click on the cross to deselect all suggestions # Current behaviour The created timesheet from is not cleared and remains opened. # Expected behaviour Instead, the form should be cleared and disappear. task-6003551
This update resolves an issue where sending digest emails failed when a company didn't have a website configured. The fix prevents a technical error (KeyError) by ensuring the system handles cases where website information is missing. This ensures all users can receive their email digests, regardless of whether a website is set up.
Original PR description
When a company has no website configured, sending a digest email raises a traceback. Steps to reproduce the error: - Install ``website`` module - Create a new company and switch to it - Create a new digest email > In KPIs, Enable Visitors > Add recipient > Save - Click on Send Now button Traceback: ```py KeyError: res.company(1,) ``` https://github.com/odoo/odoo/blob/dee3fdee0326db032d95639eb8ee9386bb1762d4/addons/website/models/digest.py#L49-L59 If no website exists for the company, ``websites_per_company`` becomes an empty dictionary. Therefore, accessing ``websites_per_company[company]`` raises the above traceback. sentry-7239108433 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update resolves an issue where the Spreadsheet app would crash when using the 'Date' global filter. The fix ensures the system correctly handles scenarios where the 'spreadsheet_account' module isn't installed, preventing the error and improving filter stability.
Original PR description
Steps to reproduce: - Install Spreadsheet and Accounting - If `spreadsheet_edition_account` is installed, uninstall it - Go to Spreadsheets, create a new one and add a "Date" global filter => Traceback This commit fixes the issue by handling the case where no fiscal year is not installed. Task: 6002612
This update resolves an unexpected behavior in the HTML editor within Safari, where pressing the spacebar would shift the selection incorrectly. The fix involves a manual merging of adjacent text nodes to ensure accurate selection handling, improving the editor's usability across different browsers.
Original PR description
Problem: In Safari, pressing space sometimes can move the selection unexpectedly. Cause: `node.normalize()` in Safari doesn't work in the same way as in Chrome or Firefox. When the selection is on a…
Problem: In Safari, pressing space sometimes can move the selection unexpectedly. Cause: `node.normalize()` in Safari doesn't work in the same way as in Chrome or Firefox. When the selection is on a text node adjacent to another and we normalize, the two text nodes will be merged but the selection will move to the parent element instead of the correct position inside the new merged text node. Example: before normalize: `<span>"ab""c[]d"</span>` after normalize: `<span>"ab[]cd"</span>` (expected) vs `<span[]>"abcd"</span>` (Safari) Solution: Instead of using `normalize`, we manually merge adjacent text nodes and properly restore the selection by computing the absolute offset before the merge and restoring it to the correct position in the merged text node. Steps to reproduce: - Have two adjacent text nodes inside a `span`. - Put the selection on the second text node in the middle. - Press space. - The selection will move to the end of the text. opw-5956709 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#252485 Forward-Port-Of: odoo/odoo#251918
This update fixes an issue where self-order prices weren't accurately calculated when taxes and fiscal position mappings were involved. The change ensures prices are correctly recomputed using accounting methods, leading to more accurate order totals and financial reporting. This improves the reliability of self-order transactions.
Original PR description
Before this commit, the price of order lines from self was recomputed in the backend but for orders with price included taxes and a fiscal position mapping, the recomputation was not correct. This commit fixes the issue by recomputing the prices using compute_all method from accounting on taxes after fiscal position. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#252487 Forward-Port-Of: odoo/odoo#251945
This update fixes an issue where 'Confirm' buttons were incorrectly displayed when payslips existed. The system now correctly hides these buttons when there are outstanding payslips, providing a cleaner user experience. This ensures users only see the 'Confirm' button when it's appropriate.
Original PR description
The 'empty_payslips' field is an Integer, but the view was treating it as a pure Boolean. This commit: - Updates 'Confirm' buttons to be invisible when payslips exist (> 0). Task: 5916154 Forward-Port-Of: odoo/enterprise#106957
This update fixes an issue where credential errors were displayed in a confusing format. It also ensures correct XML generation for partners without OIB information, enhancing data accuracy. New tests have been added to validate these improvements.
Original PR description
- Credentials errors have a separate format in MER, they should now be displayed in a more user-fiendly manner - Correcting XML generation for partners with no explicit OIB provided - Adding tests for both changes task-none --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#252083 Forward-Port-Of: odoo/odoo#249448
This update resolves a problem where invoice PDFs generated with multiple line items displayed incorrectly, often pushing content to subsequent pages or mixing header elements. The fix ensures the PDF engine handles the table as a standard block, preserving the mobile-friendly web view while improving PDF output. This improves the professionalism of invoices generated for printing.
Original PR description
The invoice report table uses 'table-responsive-sm' to improve mobile readability. However, this class causes rendering artifacts in PDF generation via wkhtmltopdf. Steps to reproduce: - Have an invoice with multiple lines - Print Issue: Depending on the number of lines involved the printed pdf may exhibit graphical issues: - The first page may not contain invoice lines at all, with all lines pushed to the second page - The second page may have the header mixed up with the first line Analysis: It occurs after refactoring the invoice report for mobile view https://github.com/odoo-dev/odoo/commit/ad6351c44b7419f2a1c13731e33b111e0b25e633 However, when printing the report we don't actually need the responsible table. This commit preserve the mobile-friendly web view while ensuring the PDF engine handles the table as a standard static block. opw-5909071
This update fixes an issue where miscellaneous journal entries weren't appearing in printed follow-up reports, even when marked for inclusion. Now, all overdue journal entries, including those categorized as 'miscellaneous,' are accurately reflected in the reports sent to partners. This ensures partners receive a complete overview of outstanding debts.
Original PR description
…port Currently, even if users mark a miscellaneous entry to be included in the follow-up report, only its amount is counted in the total overdue; the entry itself is excluded from the printed report sent to the partner. Steps to reproduce: - Have a journal item with partner, receivable account and due date in the past - Open followup report for the partner, uncheck 'No followup' for the aml - Go back to the partner, in the followup section, hit 'Send' and send the manual followup (or wait/trigger the scheduled action) Issue: Printed followup report is missing any info on the misc entry opw-5405657 Forward-Port-Of: odoo/enterprise#109581 Forward-Port-Of: odoo/enterprise#106725