Daily updates from Odoo
Tuesday, September 2, 2025
22 changes
Enhancements to existing features
This update aligns enterprise report and subscription portal templates with a core platform change. It helps keep PDF exports and customer portal pages working consistently after the template engine update.
This update allows accounting return periods to be adjusted when needed instead of always following the current configuration. It helps migration processes accurately recreate older returns whose dates may differ from today’s settings.
Original PR description
The method _get_period_boundaries not allow to override the targetted period and start_date. This is used for the migration script to recreate old returns that not always has the same period as the one configured. See: https://github.com/odoo/upgrade/pull/8288 Forward-Port-Of: odoo/enterprise#93100
The website editing experience now opens new content options from a dropdown instead of a modal window. This makes creating website content quicker and less disruptive for users working in Website, Appointments, and product barcode lookup flows.
Original PR description
task-2941442
Manual invoices for post-paid subscriptions now cover the full subscription period instead of only the partial skipped period, making billing easier to understand. Users are warned when creating these advance invoices, and salespeople are alerted when work or deliveries are completed after a period has already been invoiced.
Original PR description
_*= sale_subscription_stock, project_sale_subscription, sale_subscription_timesheet ### Before - Manually invoicing a post-paid sub before its next invoice date would generate an invoice only for the…
_*= sale_subscription_stock, project_sale_subscription,
sale_subscription_timesheet
### Before
- Manually invoicing a post-paid sub before its next invoice date would generate an invoice only for the skipped period (from last invoice to today).
- Users found this behavior unclear, especially when it is shown that the invoice period ended on the same day as it started.
- There was no warning for the users during this process
### After
- The full subscription period is now invoiced when manually creating an invoice for a post paid subscription.
- A warning is shown in the invoice creation wizard to notify users about post-paid subscriptions being invoiced in advance.
- An activity is posted for the salesperson when a delivery order, timesheet,or a milestone is completed for a closed period.
### Impact
- Users gain clarity when manually invoicing post-paid subscriptions.
- Reduces confusion during manual operations.
- Salesperson is notified if something is delivered after invoicing of a closed period.
---
task- 4929802The monthly planning calendar now shows shift times and job titles on separate lines, making schedules easier to scan. Long event names are shortened neatly, and popovers are simplified by removing remaining-hours details.
Original PR description
- Displayed time and title on separate lines for better readability. - Added ellipsis to truncate long event names. - Removed the remaining hours from the popover display. ``` Before: • 8 AM - 12 P... Shipping ... Now: • 8 AM - 12 PM (04:00) Shipping Associate ``` task-4672875
Sales reports and customer portal views now follow the newer section and subsection behavior across affected regional and subscription flows. This improves consistency for displayed subtotals and hidden grouped lines, reducing confusion in customer-facing documents.
Original PR description
- Community introduced a new section/subsection logic in odoo/odoo#221574, including support for hiding sections in report/portal. - Some localizations (e.g., l10n_br_sale and l10n_br_sale_subscription) were not yet adapted to these changes. - This commit updates these localizations to ensure consistency with community behavior by: - Supporting subtotals on section lines. - Grouping hidden section lines by tax_ids. See Also: https://github.com/odoo/odoo/pull/224219 task-5009037
Annual leave management for UAE payroll is now configured through Payroll settings instead of standard leave types. This makes payroll setup clearer and stops automatically calculating total annual leave days, giving businesses more direct control over the configured allowance.
Original PR description
Removed Annual Leave type from leave types and added it in Payroll settings, total leave days per year are not computed anymore Task: 5048791
Audit report PDFs now use the same page format across account reports and article pages. This reduces layout misalignment and makes printed or on-screen reports cleaner and easier to read.
Original PR description
Currently, account reports and article pages use different page dimensions. This inconsistency causes misalignment and often leads to irregular layouts when printed. To resolve this, we enforce a single paperformat for all generated PDFs and disable custom margin settings (see: `specific_paperformat_args`). This ensures every report uses a consistent page size, improving readability on screen and producing cleaner, more reliable printouts. Task-4989809
The Appointment screens now use Odoo’s own plus and minus icons instead of older third-party icon styles. This keeps the user interface visually consistent with the rest of Odoo and helps maintain a cleaner, more unified experience.
Original PR description
Before this commit, some parts of the frontend were still using fa fa-* icons (plus/minus). This commit replaces `fa fa-plus` with `oi oi-plus`. task-5046832 Requires: https://github.com/odoo/odoo/pull/224700 <table> <tr> <td></td> <th>Current (master)</th> <th>This commit </th> <tr> <th> Appointment (Guests)</th> <td> <img width="786" height="484" alt="image" src="https://github.com/user-attachments/assets/3d6d5c5d-ae7b-4360-8059-54403de31416" /></td> <td> <img width="786" height="484" alt="image" src="https://github.com/user-attachments/assets/d095c5d2-cb35-4367-9d82-cac5ce1c27d1" /> </td> </table>
SEPA payment batch booking is now disabled by default in the affected payment modules, encouraging customers to use reconciliation based on end-to-end payment references. The field tooltip was also clarified so users better understand the business impact of enabling batch booking.
Original PR description
This commit has 2 main purposes: 1. Adapt the tooltip of batch booking fields present in both sepa modules for something more meaningful for our customers. 2. Change the default value of these field to false. The goald of this change is trying to change the "normal" behavior of our customers to let them use the new reconciliation feature based on the end to end uuid. To use this new feature, payments couldn't be batch booked. no task id
Product-related screens were polished with clearer labels, better ordering, and standard interface tools. These small updates make product setup and management easier to understand across sales, rentals, subscriptions, and barcode image lookup workflows.
Original PR description
Minor changes on the UI by renaming labels, adapting orders or using built-in tools to improve the user experience. task-4417236
Documents now record clearer activity updates when files move between folders, are sent to or restored from trash, or are affected by access-right changes. This gives users and administrators better visibility into important document changes without needing to manually investigate what happened.
Original PR description
First commit :
[IMP] documents: add tracking messages to folder when moving documents
We are adding tracking (not really) messages to the old folders when moving documents in/out to/from another folder. We also add a tracking message when sending and restoring documents to/from trash.
Second commit :
[IMP] documents: add tracking on every documents impacted by rights change
This commits handles the tracking of Documents access rights by creating manually the tracking values from all the childrens documents/folders. All those tracking values are stored temporarily in a new table and will be processed by a cron as soon as possible.
Third commit :
[IMP] documents: adapt testsSpreadsheet users can now review and edit how a data source matches global filters directly from the data source panel. This reduces repetitive navigation, makes setup faster, and lowers the risk of missed or incorrect filter matching when adding pivots or other data sources.
Original PR description
Let's say you insert a new data source (e.g. a pivot data source) into an existing spreadsheet which have lots of global filters. You want to match your new pivot to each filter (or you want to check the automatic matching). Currently, you have to open each and every global filter configuration panel, uncollapse the "Field matching" section and check your pivot matching. This is a lot of clicks, and error prone if you have lots of filters. This commit adds the ability to see (and edit) in one place all matching of a given data source. Task-4344293
Users can now open spreadsheet dashboards directly in edit mode from the form view menu and from dashboard cards on mobile. This removes extra navigation steps and makes dashboard updates faster, especially for users working on phones or tablets.
Original PR description
### **PR Description** **Description of the issue/feature this PR addresses:** * In the **form view**, the cog menu did not provide an option to open dashboards in edit mode. * In the **mobile kanban view**, dashboard cards lacked an 'Edit' button, forcing users to switch context to edit dashboards. **Current behavior before PR:** * The cog menu in the form view has no 'Edit' option. * Dashboard kanban cards in mobile view have no 'Edit' button. * Users cannot directly open dashboards in edit mode from these views. **Desired behavior after PR is merged:** * Adds an 'Edit' option to the **cog menu** in the form view of `spreadsheet.dashboard`. * Adds an 'Edit' button to **kanban cards** for `dashboard_ids` in mobile view. * Clicking either option opens the selected dashboard in edit mode through the spreadsheet client. **Task:** [4965595](https://www.odoo.com/odoo/project/2328/tasks/4965595)
Companies based in Turkey can now print a Certificate of Employment directly from an employee record. This makes it easier for HR teams to issue official employment documentation without manual preparation.
Original PR description
### Before - N/A ### After - If an employee belongs to a company based in Turkey, a Certificate of Employment can now be issued to the employee. - This option is available under the cog menu>print>Certificate of Employment Task: 4910315
Point of Sale users can now switch the IoT Box connection mode directly from the local, online, or offline status button. This makes it easier to recover or choose the best connection method, including forcing websocket mode when needed.
Original PR description
We used to allow longpolling again manually if the IoT Box was reachable (by pinging it), but we couldn't force the connection to use websocket if needed. We now switch between modes when clicking the local/online/offline button in PoS. Task: 5055024 Forward-Port-Of: odoo/enterprise#93595
Printed planning schedules now use a clearer one-week calendar layout grouped by resources instead of a simple list table. This makes shared schedules easier to read and more useful for teams reviewing staffing and assignments.
Original PR description
[IMP] Planning: Print shiny plannings In this commit: - The simple table printed from planning list view is replace with a better one week calendar view grouped by resources. task-3349893
Employees who do not have Odoo user access can now open their salary offers through secure URL tokens, similar to applicants. Offer emails are also clearer when there is no expiration date, avoiding confusing empty expiry text.
Original PR description
Currently, when an offer is sent to an existing employee, they can't open it unless they have a user. However, not all employees in a company are granted user rights. Now, offers made to employees without users, just like those made to applicants, can be accessed via url tokens. Task-4914401
Indian payroll now supports additional contract fields that calculate salary components as percentages of wage, basic pay, or gross pay. This helps ensure related allowances and deductions adjust consistently when unpaid leave affects an employee's monthly payslip.
Original PR description
To make salary computation easier, add new contract fields based on the Indian salary structure. Percentage fields are used for calculate amount with leaves if employee has leave in his payslip month all other amount should decrease according to the calculation of basic and gross. EXA: 50000 monthly wage basic 50% of wage = 25000 hra 50% of basic = 12500 with 1 leave in month basic would be less than 25000 so based on basic we should calculate other salary components like HRA, LTA, STD, etc. task-4922359
The Workcenter Planning view now automatically groups work orders by the employee assigned to them. This makes it easier for managers to see workload by person and organize production tasks more efficiently.
Original PR description
- Users found it difficult to efficiently manage work orders in the Workcenter Planning view based on the employees assigned to them. There was no immediate way to view work orders categorized by responsible employee. - After this commit, A Group by Assigned Employee filter is now applied in the Workcenter Planning view. This allows users to instantly see work orders organized per employee, simplifying work-center management and improving overall usability. Task Id: 4900235
The audit report PDF now uses a newer footer rendering method to stay compatible with upcoming platform changes. A dedicated footer template keeps the report clean by avoiding extra company branding and layout elements that are not needed for this document.
Original PR description
This PR updates the method for rendering the audit report PDF to use the `footer` option instead of the `footer-right` option, which is being removed in the COM PR. To render the footer, we now use a custom template, as the template used in the account report does not meet our needs. The account report footer includes the company name, logo, and other elements we don't want. It also loads numerous assets and applies a specific paper format. To avoid complicating the existing template, we are creating a new template from scratch. COM: odoo/odoo#222199 Task-4989809
PDF thumbnail generation for Documents now uses a shared Mail service that creates thumbnails from the first page of a PDF. This reduces duplicated logic and helps keep document previews consistent across Odoo.
Original PR description
PR community: https://github.com/odoo/odoo/pull/221006 Task-4605759