Tuesday, April 21, 2026
14 changes · master
Enhancements to existing features
German point-of-sale certification now processes order changes one at a time, helping keep transactions consistent when items are updated or removed. The checkout experience is also less restrictive because missing ZIP or address details are handled automatically in the backend.
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#114090 Forward-Port-Of: odoo/enterprise#108694
Spreadsheet documents can now display large numbers using locale-specific digit grouping, such as the Indian numbering format. This makes numeric data easier to read and more familiar for users in regions that do not use standard thousands separators.
Original PR description
Some locales (eg. India) do not use standard international thousand grouping for large numbers, but group the first 3 numbers, then group the next numbers by 2. This commit adds the `digitGrouping` parameter to the locale to handle that behaviour. Task: [4829185](https://www.odoo.com/web#id=4829185&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form)
Documents now shows a promotional Auto-Sort option in its cog menu so users can discover the feature even before the required AI Documents setup is available. Selecting it opens a Studio promotion dialog, clarifying that Auto-Sort is available when Studio is installed.
Original PR description
Purpose: ===================== Many users miss the Auto-Sort feature because it depends on the `ai_documents` module and is not visible when only the Documents module is installed. Specifications: ===================== - Add an Auto-Sort promo in the Documents cog menu. - The promo entry opens the Studio promotion dialog. - Auto-Sort is now available only when Studio is installed, as `ai_documents` depends on `web_studio`. Task-6004348
Users can now refresh deduplication, recycling, and field cleaning data for all rules from one cog menu action. This saves time by removing the need to open and update each rule individually.
Original PR description
Before: - User was not able to refresh deduplication, recycle, and field cleaning data for all rules at once. - To refresh data, user had to open each rule and update records manually. After: - Added a button in the cog menu to refresh deduplication, recycle, and field cleaning data for all rules at once. task-5864554
Manufacturing users can now view work order planning grouped by assigned employee, in addition to the existing production and work order views. This makes it easier for teams to balance workloads and understand who is scheduled for which tasks.
Original PR description
Right now the user has the options to plan by grouping by manufacturing order ('Planning by Production') and by work order ('Planning by Workorder'). Here we add a third option that groups work orders by assigned employees ('Planning by Employee').
Task ID: [4789893](https://www.odoo.com/odoo/project/966/tasks/4789893)Large inter-company delivery validations now process related stock move lines in batches instead of one by one. This reduces database work and prevents timeouts for deliveries with many lines, improving reliability for high-volume operations.
Original PR description
Before this PR, `button_validate` was using a `write()` call per matched stock move. On every `write()` there is a Command.create and Command.delete which is resulting in N database round-trips for…
Before this PR, `button_validate` was using a `write()` call per matched stock move. On every `write()` there is a Command.create and Command.delete which is resulting in N database round-trips for the unlinks and N for the creates, followed by N separate `_apply_putaway_strategy()` calls. This is problematic for pickings with many move_ids. This PR attempts to accumulates all move lines to delete and to create. Then performs a single `unlink()` and `create()`, followed by a single `_apply_putaway_strategy()` for all pickings. Unlink is done using `.sudo()` to preserve the superuser context that was previously inherited implicitly through the `purchase_order.sudo().search` that produced the recordset used to obtain the `receipt_move`(s). Benchmarks: | No. move lines in delivery | Before | After | | -------------------------- | ------- | ----- | | 7579 | Timeout | < 200 s | opw-5826905 Forward-Port-Of: odoo/enterprise#110587 Forward-Port-Of: odoo/enterprise#110153
Asset depreciation can now be configured by rate as well as by duration, giving businesses more flexibility to match accounting policies. Duration values can also include decimals, supporting more precise depreciation periods such as 27.5 or 31.5 years.
Original PR description
This commit extends the depreciation model to support depreciation calculation based on rate in addition to duration. Users can now configure depreciation using: - Duration-based depreciation - Rate-based depreciation on a yearly or monthly basis As the rate and duration are mutually exclusive and can be derived from each other, the system computes and stores the corresponding value based on the user input. Additionally, depreciation duration fields now support floating-point values instead of integers, allowing more precise configurations such as 27.5 or 31.5 years. task-5388816
Project users can now print task schedules directly from the Gantt and Calendar views using the existing planning-style report. This makes it easier to share project timelines offline or in meetings without manually recreating schedule information.
Original PR description
In this commit, an action is added to print tasks. task-5139517
Spreadsheet documents now support regional digit grouping rules, such as the Indian numbering format. This makes large numbers display in a way that better matches local business expectations and reduces confusion for users in affected locales.
Original PR description
Some locales (eg. India) do not use standard international thousand grouping for large numbers, but group the first 3 numbers, then group the next numbers by 2. This commit adds the `digitGrouping` parameter to the locale to handle that behaviour. Task: 4829185
Shift templates can now include worksheet templates, so field service interventions created from a template automatically get the right worksheet. Shift templates also now carry their own company setting, improving consistency when projects and worksheet templates involve company-specific data.
Original PR description
This PR adds the possibility to set a worksheet template to a shift template.
This allows to automatically link a worksheet to the intervention when the intervention is created from a template.
We add this new field in the form, list, kanban and search views of the shift template.
We also add a company_id field to the shift template so it does not rely solely on the project's company, since the worksheet template also has a company.
task-5265153Engineering Change Order updates for components and operations are now shown together in one printable report instead of two separate lists. This makes reviewing, sharing, and printing ECO changes easier for manufacturing and PLM users without changing the underlying data model.
Original PR description
Currently the ECO changes are in two different o2m. One for the components and the other for the operations. It would be great to have everything in a single place and easy to print. So the report is a good alternative. Instead of the 2 o2m fields, we add a stat button that redirect to this new report. There is no update on the model
When a rental order is created or updated from a planning shift, users will now be prompted to configure product options when the rental service has variants or optional products. This helps sales and rental teams complete orders more accurately without needing to manually find configuration steps later.
Original PR description
This commit allows to automatically open the product configuration when the Rental order is generated and open from a planning slot with a role set and linked to a rental service product. It also allows the same behavior when the user adds a shift to the last order and a new SOL is generated inside that rental order. Of course, this product configuration modal will only be opened if the new SOL added by planning.slot related has at least one product variant and/or one optional product. task-5000253
The pick up button now stays visible whenever products are linked to a field service shift, instead of disappearing when no immediate action is required. It also shows progress so users can easily see completed deliveries versus the total, helping them keep track of shift-related products at a glance.
Original PR description
The purpose of this commit is to modify the logic of the pick up button. Instead of hiding the button when no action is needed, we always display it if there is a move.line linked to the shift and we use a color code to indicate the state of the shift. That way, the user never lose sight of the total of products linked to the shift. task - 6063536
Mexican localization now supports generating supplementary SAT trial balance reports in the format required by the tax authority. This helps businesses submit corrected or complementary balance sheets with the required reporting type, date information, and file naming.
Original PR description
This commit adds support for generating SAT (Mexican tax authority) trial balance reports in supplementary (complementary) format, as required by SAT specifications. Changes: - Add default value for…
This commit adds support for generating SAT (Mexican tax authority) trial balance reports in supplementary (complementary) format, as required by SAT specifications. Changes: - Add default value for submit_type in SAT XML generation to fix tests that call the method directly without going through the wizard - Add new tests for normal (TipoEnvio=N) and supplementary (TipoEnvio=C) formats - Verify that FechaModBal attribute is correctly included only for supplementary reports - Verify that filenames correctly use BN (normal) or BC (complementary) suffixes The SAT technical specification requires: - TipoEnvio="C" (complementary) for supplementary balance sheets - FechaModBal attribute (date of last accounting modification) when tipo is C - File naming convention: RFC+Year+Month+BN (normal) or BC (complementary) SAT technical specification: https://wwwmat.sat.gob.mx/cs/Satellite?blobcol=urldata&blobkey=id&blobtable=MungoBlobs&blobwhere=1461173762094&ssbinary=true In reference of PR https://github.com/odoo/enterprise/pull/111775 Ticket : https://www.odoo.com/es_ES/my/tasks/6025590 @mial-odoo @fmvt-odoo @moduon MT-14181