Thursday, April 16, 2026
8 changes · 19.0
Enhancements to existing features
This update enhances the process of updating German Point of Sale certification transactions by ensuring order updates are processed sequentially. Additionally, unnecessary ZIP and address validation checks on the user interface have been removed, streamlining the user experience. This change improves order consistency and reduces complexity.
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#113809 Forward-Port-Of: odoo/enterprise#108694
Resolved issues and error corrections
This update resolves an issue where lunchtime shifts were incorrectly calculated when an employee's time zone differed from the calendar time zone. The fix ensures accurate lunch time tracking and corrects the reset of work entries when time zone discrepancies exist, improving the reliability of employee time data.
Original PR description
- Correct lunch time shift if employee tz differs from calendar tz - Correct reset of WE if employee tz differs from calendar tz Task: 6072325
This update ensures that transaction dates pulled from Codabox are always within the correct timeframe. Previously, incorrect date ranges could occur, but this fix now uses the latest statement or statement line date, guaranteeing accurate reporting. This improves the reliability of financial data.
Original PR description
To fetch transactions from iap, we have to give a date from. Before this commit, it was possible to have a date from prior the lock date which is not supposed to happen. This commit will do the max between the lock date the last date of either the statement or the statement line. task-6019584 Forward-Port-Of: odoo/enterprise#110010
This update fixes an error in how Odoo calculates the available capacity for appointments booked through Google Reserve. Previously, the system reserved the full party size for each resource, leading to overbooking. This change ensures accurate capacity allocation, preventing scheduling conflicts and improving appointment management.
Original PR description
The current logic inside the appointment google reserve controller to compute reserved and used capacity per resource was incorrect. It was reserving the full party size for each resource instead of properly computing how much spots we are reserving for each. The code was fixed and a test was adapted for proper coverage. Task-6120016 Forward-Port-Of: odoo/enterprise#113908 Forward-Port-Of: odoo/enterprise#113805
This update resolves an issue preventing the generation of session reports in the CO company setting. Previously, generating the report would result in an error. The fix corrects a data access problem, allowing users to successfully generate and review their POS session reports.
Original PR description
Currently when trying to generate the session report a traceback appears. Steps to reproduce: ------------------- * Install l10n_co_edi_pos * Switch to CO company * Open pos session * Make a sale * Close register * Generate session report > Traceback Why the fix: ------------ We get the sale details with: https://github.com/odoo/odoo/blob/0ce5baf2918960591284eb494d82dfef07043af0/addons/point_of_sale/models/report_sale_details.py#L429-L430 Where the config ids given to `get_sale_details` are given here https://github.com/odoo/odoo/blob/0ce5baf2918960591284eb494d82dfef07043af0/addons/point_of_sale/models/report_sale_details.py#L413-L414 From there we can't access any field from a list of number. opw-6049484 Forward-Port-Of: odoo/enterprise#111627
This update resolves an issue where the 'Create a Payslip' button was unresponsive when no payslips existed in the W2 report. The fix corrects a technical error in the system's code that prevented the button from functioning properly. This ensures users can consistently generate W2 reports.
Original PR description
1.Install l10n_us_hr_payroll 2 Navigate to Payroll>Reporting>W2 Report. 3.Open/Create W2 form and try to add payslip by clicking "Add a line". 4."Create a payslip" button appears if their are no valid payslips. 5.Click it, it won't work! Root cause: - `onAdd` bind was missing in the controller - Renderer applied an additional `.bind(...)`, breaking the callback Fix: - Pass a dedicated `createNewPayslip` action from controller - Remove double binding in renderer - Forward callback directly to helper component task-[5928770](https://www.odoo.com/odoo/project/1251/tasks/5928770) Forward-Port-Of: odoo/enterprise#111735
This update resolves an issue that prevented Odoo from importing LinkedIn accounts when the LinkedIn image data was missing a key field. The change ensures the import process doesn't crash and successfully connects more LinkedIn accounts by gracefully handling missing image URLs.
Original PR description
When importing a LinkedIn account, Odoo fetches the image metadata of the organization page and expects each returned image to contain `downloadUrl`. For some LinkedIn accounts this key is missing from the image response, which makes the callback crash with `KeyError: 'downloadUrl'` and prevents the account from being connected. LinkedIn's current Images API documentation describes `downloadUrl` as an optional field, so the import flow should not assume it is always present. This patch skips image entries without `downloadUrl` instead of crashing. opw-6099244
This update resolves a previous issue where invoice settlement would fail if the commercial partner information wasn't fully loaded. The change streamlines the process by directly using the partner ID from the invoice data, preventing errors and ensuring smooth invoice settlement. This improves the reliability of the Point of Sale module.
Original PR description
Before this commit, it was possible that commercial_partner_id was not loaded, which caused an error when settling an invoice. This commit fixes the issue by avoiding the need to load the full partner record. Since only the partner ID is required to load the account move, it is now read directly from the raw data, which already includes the ID. opw-6023150 Forward-Port-Of: odoo/enterprise#111957