Daily updates from Odoo
Thursday, February 19, 2026
18 changes · master
New functionality added to Odoo
This update to the Phone dashboard adds a key metric: the duration of each phone call. This provides sales teams with a clearer understanding of call efficiency and helps them track important sales activities. This improvement enhances reporting and allows for better analysis of sales team performance.
Original PR description
Task: 5384664 Co-authored-by: François Gillet <frgi@odoo.com> Co-authored-by: Pierre Rousseau <pro@odoo.com>
Enhancements to existing features
This update simplifies payslip delivery by sending a single email to each employee containing links to all their payslips for the period. Previously, a separate email was sent for each payslip, which has now been consolidated for efficiency. A note field has been added to the email for any relevant comments.
Original PR description
Purpose ======= Don't send one mail per payslip to send, by only one mail per employee with all the employee's selected payslips. Specifications ============== Group the payslip to send by employee and send only one mail per employee with one link per payslip in the mail. Remove the template from the wizard as it is not really useful in this case. Instead, add a custom comment field to add some note if needed in the mail. task-5068655
This pull request adjusts the Spanish language reporting module to reflect a recent change in account naming conventions within Odoo. This ensures accurate financial reporting for Spanish businesses using the Odoo Enterprise platform. The update maintains existing reporting functionality without impacting core accounting processes.
Original PR description
Forward-Port-Of: odoo/enterprise#106698
Resolved issues and error corrections
This update resolves an issue where the 'Remove date filter' button on the Booking tab of the POS kanban view was not functioning correctly, causing a technical error. The fix ensures this button now works as expected, allowing users to manage their booking filters effectively.
Original PR description
Steps: - Install pos_appointment. - Open a POS session with bookings configured. - Open the Booking tab and click Remove date filter in the header. Issue: - A traceback occurs with `Invalid handler`. Cause: - The Remove date filter button’s onclick handler was not defined. Fix: - Define a valid onclick handler for the Remove date filter button. Task-5902656 Forward-Port-Of: odoo/enterprise#107633 Forward-Port-Of: odoo/enterprise#106684
This update fixes a calculation error in the Saudi HR payroll system. Previously, employees resigning after less than two years received a negative value for their end-of-service benefit, which was incorrect. The change ensures that these employees receive a zero value, aligning with Saudi regulations.
Original PR description
purpose: In the saudi eos rule, if the employee resigned after working in the company less than 2 years, their end of service is being computed as a negative value when it should be 0 instead. - added the correct check for the case of employee resignation - moved the logic of the salary rules for EOS benefit and provision from python methods to the rule itself to be more clear for the user task-id: 5499646 Forward-Port-Of: odoo/enterprise#107251 Forward-Port-Of: odoo/enterprise#104466
This update ensures that screenshots taken during the trial mode of Odoo Enterprise capture the correct end-result data. Previously, the system lacked the database URL needed to fetch the final data, now it forwards the URL to ensure accurate screenshots are generated.
Original PR description
During the trial flow, we don't know the db url when making the ws request. To still be able to take screenshots of the end result in trial mode, we forward the db_url when getting the result back. Forward-Port-Of: odoo/enterprise#107034
This update resolves a bug that was causing errors during record creation within the Australian Payroll module. The fix avoids using a temporary ID (NewId) in search queries, ensuring proper record functionality and stability. This improves the reliability of payroll processing.
Original PR description
The generic `TestEveryModel` fails because a virtual ID (NewId) is used in a search domain during record creation, causing a crash. This commit uses `.ids` with the `'in'` operator to idiomatically handle virtual records and prevent the framework error. runbot-115303 Forward-Port-Of: odoo/enterprise#107644
This update ensures that the preparation display in the backend accurately reflects changes when a POS order is cancelled or deleted. Specifically, related preparation orders and data are removed, maintaining data consistency and a more reliable view of order preparation activities.
Original PR description
**In this commit:** Ensure the preparation display UI is updated when a POS order is cancelled or deleted from the backend. - On order cancellation, the preparation display is refreshed accordingly. - On order deletion, related preparation orders, lines, and states are removed via notify call. Task-5373116 Related: https://github.com/odoo/odoo/pull/240523 Forward-Port-Of: odoo/enterprise#107734 Forward-Port-Of: odoo/enterprise#103052
This update simplifies website template code by replacing an outdated method (`request.env`) with the standard `env`. This change ensures consistent behavior across all website templates and resolves potential issues with how the system tracks data dependencies, ultimately improving reliability.
Original PR description
Target: remove all request in models/files and view/files.
A previous issue prevented the appointment module from reinstalling properly, resulting in errors during mail template validation. This update resolves the problem by skipping the generation of invitation URLs during the installation process, ensuring a smooth and successful module reinstallation.
Original PR description
Reinstalling the appointment module fails during mail template validation. ### Reproduction Steps 1. Install the `appointment_hr_recruitment` module. 2. Uninstall `appointment`. 3. Reinstall…
Reinstalling the appointment module fails during mail template validation. ### Reproduction Steps 1. Install the `appointment_hr_recruitment` module. 2. Uninstall `appointment`. 3. Reinstall `appointment`. → A template parsing error appears. ### Cause The global `request.env` is bound to the registry active at the start of the request. When reinstalling a module, this registry becomes stale and does not include the models being re-added. During installation, the `mail.template` model performs a test render to validate its XML data. One of the templates calls `_get_interview_invite_url`, which invokes a controller that looks up the `appointment.type` model using `request.env`. Because the registry is stale and does not contain this model, the lookup raises a KeyError and the installation fails. ### Fix Rationale Skip invite URL generation when `install_mode` is set to avoid using the stale `request.env`. opw-5898780 Forward-Port-Of: odoo/enterprise#107650
This update resolves an issue where DHL shipping rate calculations failed when requested for dates outside of business hours. Adding a 'next business day' flag ensures rates are accurately determined, preventing errors and improving the reliability of shipping estimates.
Original PR description
Before this commit, there was an issue when trying to get the rates for DHL shipping late in the day. The issue happened because `plannedShippingDate` fell outside of the working hours. This commit adds the nextBusinessDay flag for the rating request to avoid the error. Error: ``` Product not found 996: The requested product(s) not available for the requested pickup date. Process ID associated for this transaction') ``` opw-5393684 Forward-Port-Of: odoo/enterprise#107153
This update corrects a bug that prevented users from successfully testing new printer configurations within the Point of Sale module. The fix ensures that the printer's IP address is correctly updated when using the test printer button, resolving a previous error. This improves the reliability of the test functionality.
Original PR description
When creating a new printer and test it with the test printer button, it will cause an error because the field of the ip address in pos.printer has changed and it was not changed into the test button.
This update streamlines the way AI Documents sends notifications within Odoo. The team replaced a specific function call with a new, more efficient method, improving the underlying system. This change enhances the stability and performance of the AI Documents module.
Original PR description
This commit replaces the uses of `self.env["bus.bus"]._sendone()` by `_bus_send()` in the `ai_documents` module. Following https://github.com/odoo/enterprise/pull/90124#discussion_r2822278385
This update corrects a bug that prevented users from successfully testing new printer configurations within the Point of Sale module. The fix ensures that the printer's IP address is correctly updated when using the 'test printer' button, resolving a previous error. This improves the reliability of the Point of Sale system.
Original PR description
When creating a new printer and test it with the test printer button, it will cause an error because the field of the ip address in pos.printer has changed and it was not changed into the test button.
Bug : allocate a number of holidays that is not an integer (ex : 20.5), then check the holiday attest (shows 20 allocation). The same problem happens if the number of leaves taken is not an integer Steps : - in the belgian company, create a new employee with a valid contract give an employee 19.5 days of Time Off type leaves. - on the form view of the employee , click on the action button -> Departure: Notice period and payslip -> and fire the employee. - now click on action button
Original PR description
Bug : allocate a number of holidays that is not an integer (ex : 20.5), then check the holiday attest (shows 20 allocation). The same problem happens if the number of leaves taken is not an integer…
Bug : allocate a number of holidays that is not an integer (ex : 20.5), then check the holiday attest (shows 20 allocation).
The same problem happens if the number of leaves taken is not an integer
Steps : - in the belgian company, create a new employee with a valid contract give an employee 19.5 days of Time Off type leaves.
- on the form view of the employee , click on the action button -> Departure: Notice period and payslip -> and fire the employee.
- now click on action button -> Departure: Holiday Attests, you'll see that the employee has 19 allocated instead of 19.5
Reason : The number of leave_allocation_count and leave_count are defined as integers in HrPayslipEmployeeDepatureHolidayAttestsTimeOffLine, when they are populated, they end up casting the assigned value to an int.
Fix : Create two new float fields leave_count_float and leave_allocation_count_float to replace their corresponding integer fields.
task - https://github.com/odoo/enterprise/commit/5461268c9411d36feac90cd45dcff42aab59599b
Forward-Port-Of: odoo/enterprise#103258Features or functions removed from Odoo
This update removes outdated code related to a previous system change within the Account Avatax module. The removal of specific methods and parameters simplifies the codebase and improves maintainability. This change is part of an internal optimization.
Original PR description
In 5a133025edac we moved from using the dedicated commit endpoint to creating another committed transaction. This left dead code related to the old approach. This removes: - _commit_avatax_taxes() and commit_transaction() - commit parameter from _get_avatax_service_params() - 'commit' branch from _change_avatax_state() opw-5382268
Code cleanup and technical improvements
This update streamlines the serial drivers used for our IoT devices, specifically those related to the Adam scale. The changes consolidate related functionality within a dedicated module, improving code organization and maintainability. This refactoring enhances the system's stability and reduces potential complexity.
Original PR description
We simplify serial drivers and move adam scale specific methods in `pos_iot_adam_scale`. see odoo/odoo#245226
This pull request updates the event management system by running a binding script. The changes involve minor adjustments to XML files within the event and timesheet modules, streamlining the process for event registration summaries and animation transitions. This update ensures consistent event data handling.