Daily updates from Odoo
Monday, November 24, 2025
10 changes · master
Enhancements to existing features
Field service products no longer carry a separate worksheet template setting when task templates can already provide the worksheet. This reduces duplicate configuration and helps ensure generated tasks consistently use the worksheet defined on the selected task template.
Original PR description
…om product Before this commit, since the adding of a task template in the product settings when the service product will generate a task in a project selected a project with worksheet feature. The user can set a worksheet template and a task template in that product form view. The task template can actually have a worksheet template set to give it to the task that will be generated once a sale order contains that product and is confirmed. And thus, the worksheet_template_id field in the product form view is a bit redundant with the task template. This commit removes the worksheet_template_id field from the product model to let the task template doing the job. task-5213862
Users can now start an AI chat directly while viewing an attachment, with the selected file automatically included as context. This makes it easier to ask questions about documents without manually adding or moving files, while keeping those temporary context files out of the permanent message attachments.
Original PR description
## Summary - Introduced a new AI composer `file_viewer_ai_button` to allow launching AI chat directly from the file viewer. - The selected file is sent as a context attachment along with the message to the LLM. - Context attachments are linked to the message temporarily for AI processing but not stored in `message.attachment_ids`. task-id-5125822
Shop floor users can now adjust the production quantity or split a manufacturing order directly from the Shopfloor interface. This helps teams react faster to changes in demand without leaving their operational workflow.
Original PR description
Add a new menu in Shopfloor to allow changing product_qty and splitting MOs. Task: 5153835
The message composer is being updated to support a richer writing experience, making it easier for users to format and prepare messages. Related tests were adjusted across Documents, Mail, and Helpdesk Live Chat to ensure the improved composer works reliably in key communication flows.
Original PR description
task-2593397
VOIP calls now keep their duration as a stored value, making it easier to filter, group, and total call activity in reports. The call end time is calculated from the start time and duration, helping keep call records consistent and reducing duplicate stored data.
Original PR description
Persist call duration to enable filtering, grouping, and aggregation, and compute end_date on the fly from start_date + duration instead of storing it explicitly. Add a regression test ensuring the stored duration and computed end date stay in sync. upgrade: https://github.com/odoo/upgrade/pull/8891 task-5187543
The return workflow has been streamlined by removing the separate “Validate” step before submission. This reduces extra clicks and makes tax and payroll return processing faster while keeping related submission and locking flows aligned across affected localizations.
Original PR description
task-5155703
Manufacturing orders that require a lot or serial number can now complete without users manually entering one first. This reduces interruptions on the shop floor and ensures related print actions include the newly generated lot or serial information.
Original PR description
Marking a manufacturing order as done without a provided/generated lot/serial number raises with the message "You need to supply a Lot/Serial number for product ...". We want this information to be populated automatically. The automatic report printing actions had to be reworked to include these generated lots/serials, as well as the mrp.batch.produce which previously did not handle them. task: 4595752 See odoo/odoo#209659
Quality checks for repair orders are now generated when the order is confirmed, rather than at initial creation. This avoids unnecessary checks for repairs that are never processed and keeps product or lot-related checks aligned with confirmed work.
Original PR description
- Generate quality checks when a repair order is confirmed rather than when it is created. This ensures that quality checks are only created for repair orders that are actually being processed. - Product and lot updates quality checks only after confirmation. Task [5227065](https://www.odoo.com/odoo/project/966/tasks/5227065) Forward-Port-Of: odoo/enterprise#98815
GSTR-2B processing now recognizes an additional recoverable warning condition and avoids reprocessing return periods already marked with blocking errors. This reduces unnecessary automated retries and helps keep India GST reporting workflows focused on records that can still be processed.
Original PR description
Before this commit: - `RET2B1017` error code was not handled. - Cron methods `_cron_get_gstr2b_data` and `_cron_gstr2b_match_data` processed all records with status: - `"waiting_reception"` - `"being_processed"` - Records with blocking level `"error"` were still being processed by cron. After this commit: - Added handling for `RET2B1017` and mapped it to `"warning"` level. - Updated cron domain filters to exclude records where `gstr2b_blocking_level = "error"`. - Cron jobs now skip invalid/error-state return periods, preventing unnecessary processing. Forward-Port-Of: odoo/enterprise#100281 Forward-Port-Of: odoo/enterprise#99378
Signature blocks are now registered in a shared editor category so they can work reliably across different editing experiences. This ensures signatures remain available in Mass Mailing and simple editors, reducing disruption when preparing communications.
Original PR description
### Description of the issue/feature this PR addresses: - The Signature Plugin was defined in the sign module by extending the html_editor plugin under the basic_block category. - The mass_mailing builder removed config.plugins, preventing the Signature Plugin from working. ### Desired behavior after PR is merged: - The category is now defined in html_editor and renamed to modules so other modules can also use it. - Mass Mailing: - Signature Plugin is registered in `mass_mailing-plugins` for mass_mailing. - For simple editor, Signature Plugin is registered in `basic-editor-plugins`. **community: https://github.com/odoo/odoo/pull/190616** task-4224624 Forward-Port-Of: odoo/enterprise#75612