Sunday, August 3, 2025
1 change · saas-18.4
Resolved issues and error corrections
Confirming a sales order for a service product could fail when its project template had no company set but the customer did. The fix automatically aligns the generated project with the customer's company, preventing the error and allowing sales orders to be confirmed smoothly.
Original PR description
Currently, a user error occurs when confirming a Sales Order (SO). **Steps to reproduce:** 1) Install sale_project 2) Create a service product that generates a project and a task. 3) Add a project…
Currently, a user error occurs when confirming a Sales Order (SO). **Steps to reproduce:** 1) Install sale_project 2) Create a service product that generates a project and a task. 3) Add a project template by creating one from the product form view. 4) Create an SO by creating a customer with a company 5) Add the above-created service product and confirm the SO. **Error:** A user exception will be triggered ``` The project and the associated partner must be linked to the same company. ``` **Cause:** - When a project template is created from the product view, both the customer and the company_id default to empty. - Later, when confirming a SO with a customer that belongs to a company, the new project's company_id is taken from the project template, which is empty. https://github.com/odoo/odoo/blob/876e9d5e9ba87fa69188b2da098eec78f77040f5/addons/sale_project/models/sale_order.py#L140-L141 - However, the project’s partner_id (the customer) does have a company_id, (since the customer value for the project will be set through SO's customer). - This leads to a mismatch between the project’s company_id(which is empty) and its partner’s company_id. So a user exception will be triggered from the below lines https://github.com/odoo/odoo/blob/876e9d5e9ba87fa69188b2da098eec78f77040f5/addons/project/models/project_project.py#L257-L258 **Solution:** - If the project template has no company_id, and the customer of the project has one, set the project’s company_id to match that of the customer. opw-4900741,4880495 Forward-Port-Of: odoo/odoo#216582