Tuesday, December 30, 2025
18 changes · saas-19.1
New functionality added to Odoo
This update adds comprehensive testing for the POS Restaurant module's preparation display functionality. The tests, using a new testing environment, ensure the display works correctly and reliably, contributing to a more stable and accurate user experience. This work is part of ongoing efforts to improve the quality and reliability of the Odoo Enterprise platform.
Original PR description
In this commit: --- - Added HOOT test coverage for the POS Restaurant module's preparation display. - Introduced `setupPosPrepDisplayEnv` to mock and initialize the preparation display test environment. - Added test coverage for core components, models, and service logic. - Adjust hoot case for pos_urban_piper. task-5225193 Related PR: - https://github.com/odoo/odoo/pull/234474 Forward-Port-Of: odoo/enterprise#102962 Forward-Port-Of: odoo/enterprise#98849
This update introduces new Profit & Loss and Balance Sheet reports that utilize account tags instead of traditional account codes. This change allows for more granular reporting and replaces older reports based on account codes, which are now inactive. Users will need to manually enable these new reports.
Original PR description
This pr introduce new PL and BS reports based on account tags. And old PL and BS reports based on account codes are inactive now. So now user have to now manually enable them via Enable more on each report. Related Community PR: https://github.com/odoo/odoo/pull/222186 Task: 4978415 Forward-Port-Of: odoo/enterprise#103002 Forward-Port-Of: odoo/enterprise#91903
Enhancements to existing features
This update simplifies the single slide carousel experience by disabling unnecessary reordering and navigation buttons when only one slide is displayed. This improves the user interface, prevents confusing behavior, and optimizes the system's performance. The changes were made to enhance usability and maintain a cleaner design.
Original PR description
1. The slide reordering and navigation buttons should be disabled when only a single slide is present. This prevents unnecessary actions, avoids confusing UI behavior and protects history from…
1. The slide reordering and navigation buttons should be disabled when only a single slide is present. This prevents unnecessary actions, avoids confusing UI behavior and protects history from polluting with the unnecessary mutations. The disabling logic is handled by conditionally adding the "disabled" class based on the current slide count. 2. When the active slide is first then "**Move to first**" reordering button should be disabled. Similarly, when the active slide is last then "**Move to last**" reordering button should be disabled. task-5363601 1. | Before | After | |-----------------------------|---------------------------------| | <img width="292" height="283" alt="image" src="https://github.com/user-attachments/assets/b89a810f-f5fe-4db4-a98b-036d6b1a6568" /> | <img width="284" height="273" alt="image" src="https://github.com/user-attachments/assets/c4ce2e7d-1fef-4186-bea0-ad00834a8680" /> | 2. | Before | After | |-----------------------------|---------------------------------| | <img width="285" height="179" alt="image" src="https://github.com/user-attachments/assets/d0b6833f-a66f-4f80-8e18-c7ea2245fce1" /> | <img width="289" height="208" alt="image" src="https://github.com/user-attachments/assets/e0ef23fb-83ca-45c2-929b-2e86133c0789" /> | Forward-Port-Of: odoo/odoo#237718
Resolved issues and error corrections
This update adjusts the size of the QR code displayed to customers in Odoo Point of Sale. The previous QR code was too small, making it difficult to scan. This change improves the customer experience and ensures easier order processing.
Original PR description
**Description of the issue/feature this PR addresses:** QR code generated for customer display in Odoo POS is considered too small, therefore need size adjustment for enhanced visibility and user experience. Sizing is adjusted to be more uniformed with the backend popup. task-[5262218](https://www.odoo.com/odoo/project.task/5262218) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#237684
This update changes the name of the demo company within the Odoo system to align with requirements for validating Mexican CFDI (Comprobante Fiscal Digital) and XML documents. This ensures accurate tax reporting and compliance within the Odoo platform. The change was made as part of a standard improvement process.
Original PR description
Update the demo company name so we can validate CFDI's and XML target: 19.0 task-5239031 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#239323
This update enhances the synchronization of product data within the Point of Sale module. Specifically, the system now uses unique identifiers to link products more reliably, and test data has been improved to better represent product categories. This ensures more accurate and consistent product information across the POS system.
Original PR description
In this commit: --- - Improved `sync_from_ui` function to support record UUID-based relational mapping. - Added `pos_categ_ids` field in product data for better category linkage in tests. task-5225193 Related PR: - https://github.com/odoo/enterprise/pull/98849 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#241500 Forward-Port-Of: odoo/odoo#234474
This update adds specific account tags for Ireland's accounting standards. These tags are used in new financial reporting tools, ensuring accurate and compliant reporting for Irish businesses using Odoo. This change aligns with local accounting regulations.
Original PR description
Added dedicated account tags for ireland CoA. And set these tags to corresponding Irish and default accounts. These tags are used for computation in new PL and BS tags reports. Related Enterprise PR: https://github.com/odoo/enterprise/pull/91903 Task: 4978415 Forward-Port-Of: odoo/odoo#222186
This update fixes a visual issue in the email interface where the unread message separator would overlap with the highlight animation when navigating to new messages. The change restores the correct spacing to ensure the separator is always visible, providing a cleaner and more consistent user experience. This improves the overall readability of the email inbox.
Original PR description
**Description of the issue/feature this PR addresses:** ---------------------------------------------- In saas-18.2, the unread message separator can visually overlap with the message jump/highlight…
**Description of the issue/feature this PR addresses:** ---------------------------------------------- In saas-18.2, the unread message separator can visually overlap with the message jump/highlight animation when navigating to unread messages. This issue was not present in 18.0 and results from reduced vertical spacing between the unread separator and the first unread message. **Current behavior before PR:** ---------------------------------------------- - Clicking the “X new messages” banner triggers a jump highlight animation - The highlighted message overlaps the unread red separator line - The separator becomes partially or fully obscured during the animation **Desired behavior after PR is merged:** ---------------------------------------------- - The unread separator remains clearly visible during message jump/highlight - No overlap occurs between the separator and the highlighted message - Highlight animation behavior remains unchanged - Visual behavior matches the stable experience observed in 18.0 This PR restores sufficient vertical spacing for the unread separator line, preventing overlap without altering message animation or interaction logic. Task-5420965 I confirm I have signed the CLA and read the PR guidelines at https://www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#241294
Previously, out-of-stock messages on the website were rendered as a single line, causing them to overflow and look unprofessional. This update fixes this by ensuring line breaks are preserved, allowing the message to wrap naturally and display correctly within the product badge. This improves the user experience and visual consistency.
Original PR description
- Before saas-18.4, the [out-of-stock](https://github.com/odoo/odoo/blob/saas-18.3/addons/website_sale_stock/static/src/xml/website_sale_stock_product_availability.xml#L8) message was rendered as…
- Before saas-18.4, the [out-of-stock](https://github.com/odoo/odoo/blob/saas-18.3/addons/website_sale_stock/static/src/xml/website_sale_stock_product_availability.xml#L8) message was rendered as plain text without any layout-specific classes, allowing the message to wrap naturally. **Reference of version saas-18.3** <img width="1920" height="768" alt="2025-12-16_18-53" src="https://github.com/user-attachments/assets/d7670fa4-6808-40d7-9bad-768d0637f366" /> - From saas-18.4, the [out-of-stock](https://github.com/odoo/odoo/blob/saas-18.4/addons/website_sale_stock/static/src/xml/website_sale_stock_product_availability.xml#L13-L16) message is rendered using `t-out`, which outputs plain text and collapses line breaks, causing the message to appear on a single line and overflow when used with `d-inline-flex`. See screenshots in the PR description (Before fix). <img width="1920" height="672" alt="2025-12-16_14-28" src="https://github.com/user-attachments/assets/927080cd-f2b0-45cd-ae0a-2917699c05f6" /> - Updated the layout to replace `d-inline-flex` with `d-flex` and apply `text-break` on the message container so long and dynamic texts wrap correctly inside the badge. See screenshots in the PR description (After fix). <img width="1918" height="682" alt="2025-12-16_14-31" src="https://github.com/user-attachments/assets/2cafdc61-e494-468a-9d41-08ab3c83b041" /> opw-5274850 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#240235
This update simplifies the process for restaurant staff when setting up tables. Previously, users had to specify the number of guests each time a preset was activated. Now, the system prompts users to select the number of guests only when a table is first opened with a guest preset.
Original PR description
Before, when a preset with guests option was activated, it asked user to choose the number of guest to the first kitchen sending. Now, we ask user, if the option is activated, when the table is opening for the first time. task: 5431510 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#240964
This update corrects a minor formatting issue in the HR and HR Holidays documentation. The original documentation used section underlines that were too short, causing a warning during the documentation build process. This fix ensures the documentation is properly formatted and consistent, improving the overall user experience.
Original PR description
This pull request fixes improperly formatted reStructuredText section titles in the hr module documentation. The original MD file used a section underline that were shorter than the title text, which caused docutils to raise this warning: (WARNING/2) Title underline too short. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#236908
This update allows accountants to archive reports, streamlining their workflow and reducing clutter. The change was necessary because a standard accountant user lacked the permissions to modify menu items, leading to an access restriction. This fix ensures accountants can manage reports effectively without needing administrative privileges.
Original PR description
As a simple accountant without sysadmin rights, archive a report. A user access is raised because the user doesn't have access to update menuitems. Forward-Port-Of: odoo/enterprise#102276
This update fixes a visual issue where warning tooltips appeared incorrectly across the entire payrun status. Now, tooltips only display on the specific stage where a warning exists, providing a clearer and more accurate representation of the payrun's status. This enhances user understanding and reduces potential confusion.
Original PR description
Issue: The warning tooltip appeared on all stages of the payrun, even when the warning existed only in the current stage. Fix: Show the warning tooltip only on the active stage where the warning or error bubble actually exists. Impact: Makes the payrun status bubbles clearer and prevents users from misunderstanding where warnings actually are. task-5406861
This update fixes a bug where forum images set to specific sizes (50% or 25%) weren't being saved correctly. The system was stripping out inline style attributes, preventing the desired image size from being applied. This change disables the use of inline styles for image sizing in forum posts, ensuring images are displayed as intended.
Original PR description
Problem: When creating a new forum post with an image set to "50%" or "25%" size, the post is saved with the original image size instead of the selected one. Cause: The `Post.content` field has `strip_style=True`, which removes any inline `style` attributes before saving. Since image size ratios were applied using `style="width: 50%"`, the width information was lost. Solution: Disable image size options that depend on inline `style` attributes, as they cannot be preserved when saving forum posts. Steps to reproduce: 1. Go to Forum. 2. Create a new post. 3. Add an image and set its size to 50% or 25%. 4. Save the post — the image appears with its original size. opw-5173917 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#240701 Forward-Port-Of: odoo/odoo#234354
This update resolves an issue where users were unable to set invalid default values for date fields in partner records. The fix prevents the system from throwing an error when attempting to assign incorrect data types, ensuring data integrity and a smoother user experience. This improves stability and reduces potential data entry problems.
Original PR description
Steps:
- Create a user defined defaults value
- Model: res.partner
- Field: date
- Value: 1
- Create a new contact
Actual result:
- invalid field type
- 'int' object is not subscriptable (depends of field type)
Expected result:
- No error
- User is not able to put an invalid value as a default
task-3729963
Forward-Port-Of: odoo/odoo#238539
Forward-Port-Of: odoo/odoo#225991This update fixes an issue where payslips were not correctly displaying currency symbols. A small, hidden field was added to the payslip form to ensure the correct currency is associated with monetary values, leading to accurate reporting and financial data presentation.
Original PR description
The properties widget relies on the presence of the currency field in the view. Add an invisible currency_id field to the payslip form to properly display monetary symbols. task-5357836 Forward-Port-Of: odoo/enterprise#102896
This update fixes a discrepancy in the tax tag report, specifically the 'P.P. 30 – Less sales subject to 0% tax rate' line. The previous version removed the negative sign, leading to incorrect reporting. This change restores the correct sign for accurate tax calculations.
Original PR description
Since v19.0, the sign was removed from tax tags. This caused the 'P.P. 30 – Less sales subject to 0% tax rate' line to have an incorrect sign. This commit adds a negative sign directly in the formula to restore the correct behavior. task-5448506 Forward-Port-Of: odoo/odoo#241596
This update resolves an issue where batch and wave names in the stock_picking_batch module were incorrectly generating extra slashes. The fix removes a redundant slash insertion during name creation, ensuring names are clean and consistent. This prevents potential confusion and errors when managing batch transfers.
Original PR description
Issue before this commit: ========================= The batch and wave names were generated with an extra '/' before the sequence number. Example: `BATCH/WH/OUT//00001`. Steps to Reproduce:…
Issue before this commit: ========================= The batch and wave names were generated with an extra '/' before the sequence number. Example: `BATCH/WH/OUT//00001`. Steps to Reproduce: ========================= - Install the stock_picking_batch module. - Go to Operations → Batch Transfers. - Observe existing batch names containing an extra /. Cause of the issue: ========================= In this [PR](https://github.com/odoo/odoo/pull/190305), the 'sequence_code' field was changed to be 'related' to 'sequence_id.prefix', which already includes the warehouse and operation parts defaults(e.g., WH/OUT/). However, in the _prepare_name method, an additional / was still appended after picking_type.sequence_code, leading to the duplicate slash in the name. With This Commit: ========================= The redundant '/' insertion in _prepare_name has been removed. Since picking_type.sequence_code already defines the separator, this change ensures that batch and wave names are generated correctly and remain clean.