Thursday, April 16, 2026
6 changes · saas-19.1
Enhancements to existing features
This update enhances the Point of Sale system by providing audible feedback during barcode scans. A pleasant beep confirms successful product identification, while a distinct error sound alerts users to scanning failures. This improves the user experience and reduces potential errors during transactions.
Original PR description
Play a beep sound when a barcode scan successfully finds a product, partner, or GS1 barcode. Play a distinct error sound when the scan fails to match any record. task-id: 5969010 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#250434
This update fixes an issue where product names on the Replenishment dashboard were being cut off, leading to a poor user experience. The team adjusted column sizes to maximize space and ensure product names are fully visible, improving usability.
Original PR description
Purpose: the name of the product in the replenishment dashboard often gets truncated which is bad for UX. Adjust column widths to make better use of space. task-5097352 Forward-Port-Of: odoo/odoo#253384
This update simplifies the balance sheet structure in both the generic and US versions of Odoo. It clearly separates 'Earnings' and 'Equity' accounts, making it easier to track financial performance and improve reporting accuracy. This change enhances the clarity of financial statements.
Original PR description
Simplifying the structure of the Balance Sheet in order to distinguish clearly **Earnings** and **Equity**, in the generic and US balance sheet. Improving the generic and us charts of accounts to better highlight the account pair for the allocation of earnings. task-6053852 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#256674
This update simplifies the Balance Sheet report to clearly separate Earnings and Equity, enhancing financial reporting for both the standard and US versions of Odoo. The changes improve the presentation of key financial accounts, making it easier to understand and analyze financial performance.
Original PR description
Simplifying the structure of the Balance Sheet in order to distinguish clearly **Earnings** and **Equity**, in the generic and US balance sheet. Improving the generic and us charts of accounts to better highlight the account pair for the allocation of earnings. task-6053852 Forward-Port-Of: odoo/enterprise#112499
This update enhances the process of updating German Point of Sale certification orders by ensuring consistent and reliable transaction handling. The team removed redundant UI validation steps, streamlining the user experience. This change improves order accuracy and stability for our German customers.
Original PR description
In this commit: ------------------- - We have added logic to execute API calls using a mutex for order updates (such as line updates and removals). This ensures that each update is processed (sequentially), allowing us to properly track and maintain order consistency. - We removed the ZIP and address validation on the UI since the backend already assigns default values if they are missing. So, there’s no need to restrict the user on the UI. task:5941742 Forward-Port-Of: odoo/enterprise#113969 Forward-Port-Of: odoo/enterprise#108694
This update enhances how offers are managed by automatically treating contract start dates within existing periods as amendments, creating new versions instead of new contracts. It also proactively archives outdated versions and provides a warning to users, ensuring data accuracy and preventing conflicts.
Original PR description
**Contract Amendment & Versioning Logic** * When an offer's contract start date falls within an existing contract period, it is treated as a contract amendment (new version) rather than a new…
**Contract Amendment & Versioning Logic** * When an offer's contract start date falls within an existing contract period, it is treated as a contract amendment (new version) rather than a new contract. * For contract amendments, the offer's contract end date is read-only and automatically inherited from the existing contract. * When creating a new offer, any existing versions with effective dates **on or after** the new offer's contract start date are automatically archived, as they likely contain outdated data. * Added a warning to notify users when a new offer will replace existing future versions. **Technical Refactoring** * Simplified the `employee_version_id` computation by delegating to the existing `_get_version` method on the employee model. This ensures the selected employee version correctly matches the contractual state effective at the new offer's * Ensured cache invalidation after rollback savepoints to prevent stale data. The overridden `_get_version` in `hr_contract_salary_payroll` writes to `employee.version_id` and the `contract_template_id`; although rolled back, it polluted the cache. We now always invalidate the cache after rollbacks to avoid inconsistencies, including later module installation. **Simulation & Chatter** * Inside the simulation, when calling `_get_version`, we need to adjust the contract dates of the version being simulated. The main challenge is allocating this simulated version between existing employee versions without creating contract overlaps, since overlaps raise validation errors. * To avoid this issue, we move to a new approach. We archive all versions after `employee.version_id` and set `employee.version_id.contract_date_end = False`. * Then, instead of replacing the active version, we create the simulation version as an amendment to `employee.version_id`. The amendment's effective date is set to `max(fields.Date.today(), employee.version_id.contract_date_start, self.contract_start_date)` + 1 day. This ensures the current version remains unchanged, avoids contract overlaps, and prevents chatter pollution. task: 5408192 Forward-Port-Of: odoo/enterprise#103846