Daily updates from Odoo
Thursday, August 20, 2026
12 changes · master
Enhancements to existing features
Point of Sale configurations now load the required products for due-payment settlement and UrbanPiper delivery integration more reliably. This helps ensure the right products are available when POS sessions are created or loaded, reducing setup friction and operational errors.
Original PR description
*=pos_urban_piper Following this commit: ==== - Load pos_settle_due products when creating or loading a POS config. - Load urbanPiper products when at least one configuration has urbanPiper enabled task-6171250 Related PR : https://github.com/odoo/odoo/pull/262669
Saudi payroll now splits sick leave at the time leave is created, instead of waiting until payslip calculation. This makes leave handling more consistent across countries and improves payroll accuracy by using standardized work-day calculations and rate-based unpaid entries.
Original PR description
Purpose: move the logic of handling SA sick leave split from payslip computation to automatic split during leave creation - refactored the sick leave split logic from `l10n_be_hr_payroll` and `l10n_lu_hr_payroll` to a standardized logic in `hr_holidays` with the ability to split leaves using calendar days or worked days - added the logic for SA sick leave split during leave creation - changed hardcoded unpaid work entries to use amount rate - adapted the use of the method `_number_of_workdays` to use standard `_get_work_days_data_batch` task-id: 6379346
Brazilian shipments sent through Envia.com can now include the required NF-e access key, helping carriers receive the fiscal information they need. The system automatically looks for the linked invoice from packages, pickings, or the sale order, and if none is ready it lets the warehouse validation finish while prompting the user to link and validate an invoice before sending to the shipper.
Original PR description
In Brazil, if you are using Envia.com or other delivery providers you need to make sure you are sending the NF-e Access Key on shipment generation to make sure that the freight company has the right data. In the normal flow: Sale Order -> Invoice -> Picking, the related invoice is automatically attached to the picking so the customer doesn't have to do anything. Priority is invoice on individual package, invoice attached to the picking, invoice attached to the sale order as a final fallback. If all three are missing and not sent to the government yet, the picking will validate fully, but not automatically send to Envia.com. It will instead post to the chatter that an invoice needs to be validated and linked properly to the record before hitting Send to Shipper. task-6120965
Updating a company’s return reminder day now recalculates deadlines only for open account returns that are affected. This preserves the same business behavior while reducing unnecessary processing as the number of returns grows.
Original PR description
In this commit: - Remove the 'company_id.account_return_reminder_day' dependency from the '_compute_deadline' compute method. - Avoid triggering the compute method for all related account returns whenever 'account_return_reminder_day' is updated, as this becomes increasingly expensive when the number of records grows. - Override 'res.company.write()' to detect changes to 'account_return_reminder_day'. - Manually trigger '_compute_deadline()' only for non-completed account returns that are actually affected by the change, reducing unnecessary recomputations while preserving the existing behavior. task-[6296822](https://www.odoo.com/odoo/project/967/tasks/6296822)
Odoo now checks whether a payment or batch payment exceeds the maximum amount allowed by the connected financial institution before initiating it. This helps prevent failed payment attempts and gives users earlier feedback when a bank-imposed limit applies.
Original PR description
Before trying to initiate payments through Odoo/Odoofin, we should check that the total amount for the (batch) payment does not exceed the maximum payment amount allowed by the institution (some Powens institutions introduced that limit). task-6310729 Forward-Port-Of: odoo/enterprise#127110 Forward-Port-Of: odoo/enterprise#121513
Cash journal users can now choose an account directly when quickly creating bank statement lines, reducing extra reconciliation steps. The update also strengthens cash statement posting and deletion rules so records stay consistent and compliant when journals are secured.
Original PR description
This commit will add the possibility to add an account on the quick create view of a bank statement line when being on a cash journal that when selected will do a set account on the statement line created with the account selected no task id
Payroll will no longer automatically set the current driver of a company car based on benefits alone. Instead, employees are marked as future drivers when they choose or receive a car, preventing already reserved cars from being offered again and reducing unnecessary administrative tasks.
Original PR description
. Remove the auto-assignment of the Driver based on the payroll benefits. . If an employee signs a contract and selects the car or the car gets added to the employee's benefits, he should become the car's future driver. . Don't offer in the salary configurator cars for which the future driver is filled. . Don't generate a task every time the payroll officer assigns a new driver to the car . Add the corresponding tests task-6425360 Forward-Port-Of: odoo/enterprise#127390 Forward-Port-Of: odoo/enterprise#126016
Shopfloor work orders now handle quantity updates consistently with the backend for continuous production, avoiding unintended changes to the quantity being produced. The work order form layout was also reorganized to make continuous production information clearer for users.
Original PR description
In this commit, shopfloor is modified in order to match the behaviour in the backend; On updating WO's quantity, the quantity producing is not updated if its a continuous production. Workorder form fields were also re-ordered as a part of the ongoing continuous production clean. Task: 6346515 Forward-Port-Of: odoo/enterprise#123215
Payroll warning checks are now grouped so the system avoids repeating the same lookup many times. This should make payslip and employee payroll version processing faster when many warnings are active, without changing the warnings users see.
Kitchen staff can now print preparation tickets on demand directly from the kitchen workflow. Tickets can also print automatically when orders reach configured stages, and added barcodes let staff scan tickets to move orders forward faster.
Original PR description
*: pos_restaurant_preparation_display, pos_urban_piper, pos_self_order_preparation_display In this commit: ------------------- - Introduced functionality to print KOTs on demand from the kitchen. - Added support for automatic printing when an order is moved to a configured stage. - Added barcodes to KOTs printed from the kitchen, allowing kitchen staff to scan them and directly move the order to the next stage. task: 6131467 Related PR: https://github.com/odoo/odoo/pull/273944
Sign managers and the person who sent a signature request can now add or change the linked record at any stage. This helps teams correct or complete request details after the request has moved beyond the sent state, while keeping the field read-only for other users.
Original PR description
Before: - The 'Linked To' field on a Signature Request could only be edited while the request was sent state After: - Sign manager and user who sent SR can now set or change the "Linked To" field at any time. - Other users keep seeing the field as read-only. Impact: - Admins and request senders can correct or add the linked record even after the request has moved past the sent state. Taskid: 6321326
This update refreshes the spreadsheet interface to align with the latest underlying spreadsheet library. Users will see more consistent icons, section styling, and drag-and-drop behavior when working with lists, pivots, and filters in spreadsheet side panels.