Friday, January 9, 2026
11 changes · 19.0
Enhancements to existing features
This update simplifies the display of buttons within the bank reconciliation widget. Previously, buttons were presented on separate lines, which has now been consolidated to align with the last displayed button for a cleaner and more intuitive user experience. This change enhances usability and visual clarity.
Original PR description
This commit aims to: Avoid having the dropdown toggle on a separate line, it should always stick to the last displayed button. task-5382731
Resolved issues and error corrections
This fix ensures pending business data changes are saved reliably when automated pre-commit actions run. It reduces the risk of missed updates or processing loops during transaction finalization, improving stability without changing user workflows.
Original PR description
In the existing implementation sometimes precommit hooks need to flush manually because they are ran after the flush is executed in the cursor. A precommit that triggers ORM changes may be not flushed unless it is done explicitly, however an explicit call may turn into an infinite loop. This removes the need to flush in precommit hooks and let the ORM handle it safely. Flushing of the environment was already done in #220379. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#242815 Forward-Port-Of: odoo/odoo#242248
Brazilian tax records were renamed to avoid duplicate names and better describe cashback-related taxes. This helps companies load the Brazil chart of accounts reliably and improves Portuguese labels shown to users.
Original PR description
In 17.0, some taxes have had their incorrect name for the cashback taxes. This renames the invoice_label and name fields of such taxes to better represent what they are as well as add portuguese translations where necessary. task-5470453 Forward-Port-Of: odoo/odoo#242747 Forward-Port-Of: odoo/odoo#242446
Typing `B)` will now stay exactly as entered instead of being automatically changed into the sunglasses emoji. This prevents accidental changes to user-written text and helps preserve the intended message.
Original PR description
Before this PR, typing `B)` was automatically converted into a 😎 emoji, which could unintentionally alter user input. This PR disables that conversion. task-[5221032](https://www.odoo.com/odoo/project/1519/tasks/5221032) Forward-Port-Of: odoo/odoo#242831
Scanning a cashier barcode no longer causes an error when employee-based login is disabled in Point of Sale. This keeps checkout operations smoother and avoids interruptions from a configuration-specific issue.
Original PR description
Before this commit, if logging with employee was disabled, scanning a cashier barcode would raise an error. opw-5437310 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#241318 Forward-Port-Of: odoo/odoo#241131
Spreadsheet printing has been adjusted so the print dialog only opens after cell display changes and animations have finished. This helps ensure spreadsheets, especially those with data validation fields, print with the correct layout and content.
Original PR description
The hook preparing the spreadsheet for printing did not account for cell animations. Unfortunately, this can affect spreadsheets that contain a datavalidation as the spreadsheet is forced to dashboard mode to print (current technical limitation) and since the datavalidations do not have the same aspect between spreadsheet and dashboard modes, an animation is triggered. This revision ensures that we wait for all animations to be done before triggering the browser printing. Task: 5461856 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#242260
This update fixes an issue where users wouldn't see signed documents after a request was completed. The change ensures that both the requester and signer automatically receive 'view' access rights to the signed document, resolving the visibility problem. This improves the user experience and ensures proper document access.
Original PR description
To reproduce: ============= - as a User U with Admin rights on Documents (not Sys Admin) - create a folder at the root of the company - create a Sign Request template using this folder as signed document folder - send the Sign Request to another user O and sign it with that user O - go to Documents app with user U and check the folder where the signed document should be - the signed document is not there Problem: ======== when creating signed documents, the access rights for the requester are not set, causing the requester to not see the signed document Solution: ========= give `view` access right on signed documents to both the requester and the signer if they don't already have `edit` access right on it or ownership opw-[5087233](https://www.odoo.com/web#id=5087233&view_type=form&model=project.task) Forward-Port-Of: odoo/enterprise#103406 Forward-Port-Of: odoo/enterprise#97132
This update fixes a discrepancy in the website product barcode lookup test. It aligns the test with a recent community change that prevents products created via the website from automatically publishing if a category isn't selected. This ensures consistent behavior and avoids potential issues with product visibility.
Original PR description
Align barcodelookup website test with community change where products created from the website are not auto-published when no category is selected. opw:5408903 SEE ALSO: Community PR:https://github.com/odoo/odoo/pull/242779
This update resolves a bug where the timesheet timer incorrectly behaved when using sample data. The fix adds a hidden column to the timesheet grid view, preventing the timer from being affected by the state of sample records. This ensures the timer functions correctly for all users.
Original PR description
Steps to reproduce: - Open Timesheets app, - Click on search(magnifying lens) to open on cell with no records. - Let sample record be loaded. Issue: - Timer is already started. If you switch back to grid view and stop the time it throws traceback as it has data of sample records. Reason: - The sample records can have record states that are running because timer_pause field is not present in list view thus not active field thus not generated. Fix: - Add field as invisible column in list view, thus makes the `TimesheetDisplayTimer` component not have runningTimer as truthy value always in sample records mode. task-5267303
This update fixes an issue where the summary lines in the Barcode app appeared in light colors when Dark Mode was enabled. The fix utilizes variables to dynamically adjust background colors based on selection status, ensuring a consistent and visually appropriate display across different user interface themes. This improves the user experience for all users, especially those utilizing Dark Mode.
Original PR description
## Issue In the Barcode app (`stock_barcode`), the summary line appears in its light color scheme, even if the user is using dark mode. <img width="1914" height="989" alt="before"…
## Issue In the Barcode app (`stock_barcode`), the summary line appears in its light color scheme, even if the user is using dark mode. <img width="1914" height="989" alt="before" src="https://github.com/user-attachments/assets/39f47454-6dc5-4fe6-927d-8ebc984b13b7" /> ## Cause The `background` property was set to a constant (light) color. ## Steps to reproduce 1. Install the Barcode (`stock_barcode`) and Purchase (`purchase`) apps. 2. In Inventory / Configuration / Settings, enable *Lots & Serial Numbers*. 3. Turn on Dark Mode by clicking in the upper-right corner and toggling *"Dark Mode"* 3. Create a product tracked *By Unique Serial Number*. 4. Create a Purchase Order for the product created in step 3 with a quantity greater or equal than 2, then click *Confirm*. 5. Go to the Barcode app, click *Operations*, then *Receipts*, and select the picking created from the PO. 6. The summary line appears in white (or light blue when selecting it). ## Solution We can use variables instead of constant colors. The `--list-group-bg` variable holds a different color depending on whether the line is selected, faulty, or completed. https://github.com/odoo/enterprise/blob/999009c859a1fb8e244f754a530fe39d71ede506/stock_barcode/static/src/components/line.scss#L27-L47 ## After this commit <img width="1912" height="983" alt="after" src="https://github.com/user-attachments/assets/899366fc-0290-42e8-9c50-fd3298e262d6" /> opw-5364654 Forward-Port-Of: odoo/enterprise#102270
This update resolves a bug that caused an extra suspense line to be created when editing a bank statement reconcile line, particularly when dealing with bills in foreign currencies. The fix prevents the system from incorrectly duplicating bill values and generating unnecessary entries, ensuring accurate reconciliation reporting.
Original PR description
Steps to reproduce: - Create a bill in foreign currency (for example 10€) - Create a bank statement in company currency matching almost the whole bill - Reconcile the statement with the bill - Click the pencil icon - Edit the reconcile line to match the full amount of the bill - Save Issue: An extra suspense line will be created with amount equal to the bill line This occurs because the system attempts to create the tax lines without the tax for the reconcile line and ends up duplicating the bill values opw-5355964