Tuesday, September 2, 2025
8 changes · master
Resolved issues and error corrections
Subscription orders that include one-time products now correctly create a delivery and generate the related invoice. This prevents fulfillment from being missed when customers buy one-off items as part of a subscription order.
Original PR description
**Version:** - saas-18.4 **Steps to reproduce:** - Install the sale_subscription_stock module. - Create a one-time product and save it. - Create a subscription order, add the one-time product to the order line, and confirm the order. **Before this commit:** - When a one-time product was added to a subscription order, no delivery was created. **After this commit:** - A delivery is properly created, and an invoice is automatically generated when the order includes a one-time product. **Solution:** Add a condition to check for one-time products in the order lines and create a delivery if found. **Impact:** - A delivery is now created when a one-time product is in the sale order. Also, an invoice is automatically generated for it. task-4938898 Forward-Port-Of: odoo/enterprise#90528
Closing an AI Livechat conversation no longer opens a separate chat window with the ended conversation. This removes a confusing interruption for website visitors and keeps the AI chat close action behaving as expected.
Original PR description
closing the chat with the ai agent on the ai_livechat snippet results in a chatwindow popping up which gives a bad user experience. Steps to reproduce: - Log in as Mitchell Admin. - Go to website. -…
closing the chat with the ai agent on the ai_livechat snippet results in a chatwindow popping up which gives a bad user experience. Steps to reproduce: - Log in as Mitchell Admin. - Go to website. - Click on edit and choose `Contact & Forms`. - Add the AI Livechat website snippet. - From the snippet options, add an AI Agent and choose a livechat team. Make sure that Mitchell Admin is configured as an operator for that livechat team (livechat channel). - Click on save. - Open an incognito tab. Log in as Marc Demo. - Go to Website. - Type a message inside the `ASK AI` text area and press enter. - Wait until you receive a response and then click close. - A chat window will popup with the messages of the conversation with the AI along with a message saying `Visitor has left the channel`. This happens because `close` button will call `closeConversation` => `livechatService.leave()` => `visitor_leave_session` => `_close_livechat_session` that posts a message that the visitor has left the channel. This commit solves the issue by posting the message that the visitor has left the channel while suppressing the notification, if the operator of the channel isn't a human, to prevent the chatwindow from popping up. See https://github.com/odoo/odoo/pull/224758
When users upload a file to an existing document or request, the progress indicator now appears on that same item instead of creating a duplicate card or row. This reduces confusion and keeps document lists cleaner during uploads.
Original PR description
Step to reproduce: 1. Upload a file to a request: - Create a Request. - Upload a file for that request. - Another Kanban card / List row is created showing the upload progression. 2. Upload a file into the manage version dialog. - Manage version for an existing document. - Upload a new document. - Another Kanban card / List row is created showing the upload progression. The upload progression should be shown on the existing document. Task-4863051 Forward-Port-Of: odoo/enterprise#87428
This fix prevents a server error when opening the Tax Report after changing its root report setting. It ensures the report can access the needed accounting data reliably, so users can continue reviewing tax information without interruption.
Original PR description
**[FIX] account_reports: ensure join on account_move for tax report base amount calculation** Fixes a server error in the generic tax report where `account_move_line__move_id` was referenced without an explicit join. The fix adds a conditional join on `account_move` to make fields like `always_tax_exigible` available, preventing `UndefinedTable` during SQL execution. Steps to reproduce: 1 - in a fresh db or runbot go to `Accounting > Config > Accounting Reports`. 2 - Open the Tax Report and change the `Root Report` to Balance Sheet. 3 - Save and try to open the tax report. opw-4990771 Forward-Port-Of: odoo/enterprise#91941
Users assigned to a secondary company could hit an access error when creating multi-company tax returns. This fix allows eligible users to create those returns without being blocked, improving reliability for multi-company accounting workflows.
Original PR description
When a tax return is created with multi companies and a user member of one of the secondary companies, he would get an access error due to missing sudo() task-5039551 Forward-Port-Of: odoo/enterprise#93325
Dutch tax report submissions will now have their status checked automatically on a regular schedule instead of relying only on manual triggering during submission. This prevents reports from getting stuck without updates if a previous status check fails or crashes.
Original PR description
The way the cron was used before was by manually triggering it from the Tax Report submission flow. The cron was set to not never trigger otherwise (9999 months). However, if, for whatever reason, the cron fails/crashes, the status of the submitted report would never be fetched unless a report is submitted again.
Audit balance filtering now excludes draft entries, so users see accurate account balances for the selected period. Slovenian reporting deadlines are also set correctly across all companies, preventing missing defaults in multi-company setups.
This update fixes issues in the Documents app where moving folders by drag and drop could crash and creating a folder from the New menu could place it in the wrong location. It also simplifies internal folder handling, making folder organization more dependable for users.
Original PR description
1. Fix a crash when drag and dropping folders in the searchpanel 2. Fix creating a folder with New > Folder in any location 3. REF: Remove `is_company_root_folder` field, a simple getter can do the job. See details in individual commits. Follow-ups of #89030. Task-5055163