Daily updates from Odoo
Monday, August 25, 2025
16 changes · master
Enhancements to existing features
Marketing automation now includes a controlled option to bypass the blacklist for important transactional or incident-related emails and SMS messages. This helps ensure critical customer communications can still be delivered when needed, while limiting visibility of the option to ERP managers in debug mode.
Original PR description
Add an option to bypass the black list for example for transactional or incident emails/sms. This option is only displayed for erp manager and when debug mode is enabled. Task-3575361
This update adds missing account mappings for salary rules in the UAE and Egypt payroll accounting modules. It helps ensure payroll entries are posted to the correct accounts, improving accounting accuracy and reducing manual corrections.
Original PR description
xx: ae,eg In this commit we add the mapping for all the salary rules accounts Taks: 4930175
Installing the Guatemalan electronic invoicing module is now safer for companies with large databases. The update avoids heavy recalculations during setup that could previously cause installation failures, and the module will no longer be installed automatically with the base Guatemalan localization.
Original PR description
This commit adds `_auto_init` to the `account.move` object in the Guatemalan EDI that prefills all computed stored fields in the move object with null values. This prevents computation on those fields when installing the module, and also prevents MemoryError on large databases. task-5031330 Forward-Port-Of: odoo/enterprise#92881
Chilean delivery guides can now include editable cross-reference documents, such as purchase orders, directly on stock pickings. This reduces manual work and improves accuracy by copying references from sales orders and backorders while reusing the same reference display across invoices and delivery guides.
Original PR description
Currently Delivery Guides can reference a Purchase Order by using the client_order_ref field on the sale order linked to the picking. This works but has issues, it is hardcoded to only that one reference document, it isn't editable if needed, and has a hardcoded date of the picking. This PR takes advantage of the `l10n_cl.account.invoice.reference` model that exists in `l10n_cl_edi` for `account.move` and supports identical functionality on `stock.picking`. It will automatically copy the reference from the sale order to the picking if it is set and copy over to any related backorders. To remove duplication, l10n_cl_edi was modified to extract the report table to a reusable template that is accessible by both modules. task-4970185
Turkish payroll can now keep an employee's net wage constant and calculate the required gross salary each month. This helps businesses honor net salary agreements while accounting for changing payroll calculations and deductions.
Original PR description
This PR adds the feature of keeping the NET wage constant in payroll of employees with contracts in Turkey, while every month calculating the Gross Salary that will result in said net wage. task link: https://www.odoo.com/odoo/all-tasks/4619061
Mexican electronic invoicing now handles discount distribution across invoice lines more consistently, including complex refunds and point-of-sale invoices. This helps produce more accurate compliant invoice data and reduces errors in edge cases involving negative lines or discounts.
Original PR description
Forward-Port-Of: odoo/enterprise#92910 Forward-Port-Of: odoo/enterprise#92727
Planning schedules now better match employees with the shifts they are eligible to see. Employees are shown slots based on their assigned roles, and non-flexible employees only see slots that fit within their working hours, reducing scheduling confusion.
Original PR description
- Added role-based filtering: employees only see slots that match their roles or have no role assigned (unless they have no roles, in which case all are allowed). - Applied attendance filtering for non-flexible employees, restricting slots to their valid work intervals. related task - 4701095
Maintenance requests now show an explicit scheduled end time, making planned work easier to understand. Teams can also log or plan workcenter maintenance outside normal hours or after it has happened, while conflict checks are handled earlier to avoid unnecessary scheduling records.
Original PR description
With This Commit: ----------------------- 1. Replace duration with schedule_end - Replaced the `duration` field with an `scheduled end` on maintenance requests, in preparation for removing the…
With This Commit: ----------------------- 1. Replace duration with schedule_end - Replaced the `duration` field with an `scheduled end` on maintenance requests, in preparation for removing the problematic `date_delay` attribute in calendar views. - Improves time range visibility by making the end time explicit in the form view. 2. Allow past leave creation - Allowed creating leaves in the past for workcenters. - This matches real-world maintenance use cases where activities are logged after they happen or just started. 3. Reorder logic to prioritize scheduling on the exact desired date - The logic now first checks if the requested time slot is available for the maintenance request. - If the slot is already taken, it raises a UserError before creating any preventive maintenance leaves. - This ensures early validation and avoids unnecessary record creation, improving overall performance. 4. Allow creating maintenance during non-working hours (flexible schedule) - Users can now plan maintenance during nights, weekends, or other off-hours. - This ensures the "MO already scheduled for this time slot" error only shows when there's an actual conflict. - This removes unnecessary restrictions and supports more efficient maintenance planning. 5. Refine `Maintenance Requests Analysis` report - Removed low-impact measures to improve clarity and help users focus on key metrics like request count and duration. - Retained the duration measure to help users analyze time spent by assignee. Framework task: [4609678](https://www.odoo.com/odoo/all-tasks/4609678) task-4582789
The Field Service customer ratings action has been changed so it no longer depends on a live server connection. This improves reliability for users working in offline mode while keeping access to customer rating information.
Original PR description
Before this commit The "Customer Ratings" action in industry_fsm used a server action, incompatible with offline mode due to its dependency on a live backend connection. After this commit The server action is replaced with a standard window action, which is supported in offline mode. task-4920361
Belgian payroll now supports setting a minimum withholding tax amount as an additional payslip input. This helps ensure payroll calculations meet required withholding levels by automatically adjusting payslip lines when the calculated tax is below the specified minimum.
Original PR description
This commit adds a new other input type that can specify the minimum amount of withholding tax that should be applied. The withholding tax is adjusted on the payslip lines if it does not reach the specified minimum. task-4936543
HR users can now open the employee’s contract version directly from an offer before countersigning, making review easier. The signed contract button now consistently opens the correct version, including after the page is refreshed.
Original PR description
New: - A smartbutton for HR to view the employee version before countersigning. - The smart button exists within the offer form view when the offer is partially-signed, redirects to a view of the employee version based on the partially signed contract. Fixes: - When the contract is countersigned, clicking on the "signed contract" smart button now leads to the correct version view. - When the page is refreshed, the correct version is still loaded. Task-4873800
This update improves the Time Off request experience and keeps related payroll, planning, project, and localization workflows aligned. It mainly adjusts supporting checks to ensure existing business processes continue to behave consistently after the time off window changes.
Original PR description
related: https://github.com/odoo/odoo/pull/213604/
The employee form has been reorganized to make key HR and payroll information easier to find and understand. Wording and layout improvements reduce friction for HR teams, while the signatories area has been removed to simplify the page.
Original PR description
In this PR, we improved the existing employee form UX, by moving some parts, improving wording and UX, and removing the Signatories tab. Related task: 4879234 Community PR: https://github.com/odoo/odoo/pull/214962
Shopfloor cards now show which employees are assigned to each work order, making it easier to see which work is already taken and which remains available. Active work orders are more clearly highlighted, and the selected employee's assigned work orders are emphasized in the overview for faster access.
Original PR description
In shopfloor, to know which WOs are free to take, Assigned employees are now shown on the card (limited to 13 employees). With the recent shopfloor redesign, it became less easy to identify active WOs. Therefore, now any active WOs are highlighted for any user. **NEW:** In overview, for the employee currently selected, the WO quick access button is highlighted in WOs they're assigned to. Task: 4987845
VAT returns now separate the VAT total for the period from the balance shown on the closing entry, making amounts easier to understand. The update also improves return management with deadline filtering, archive controls, automatic paid status for zero or negative submitted balances, and more accurate payable amounts across periods.
Original PR description
* Show VAT Total for the period and show the vat balance on the closing entry if it is different from period vat total. * Add Deadline Filter on return search. * Allow Archive and Unarchive automatically generated returns. * Return is paid automatically if submitted and balance is negative or equal to zero. task-4981853
UAE payroll calculations now include days when an employee is outside their contract period. This helps payroll teams produce more accurate salary results by reflecting non-contract days in the relevant salary rules.
Original PR description
days to UAE payroll task-4700453 Forward-Port-Of: odoo/enterprise#92807 Forward-Port-Of: odoo/enterprise#84758