Daily updates from Odoo
Friday, December 19, 2025
3 changes
Code cleanup and technical improvements
This update removes the outdated 'company_type' field from the contact model, streamlining the way we identify companies and individuals. The system now automatically determines if a contact is a company based on factors like VAT and identification types, tailored for each country's specific requirements. This simplifies the contact data structure and improves overall system efficiency.
Original PR description
This PR removes the 'company_type' field, which was previously used to distinguish between 'Person' and 'Company' contacts. The goal is to simplify the contact form and model by eliminating this distinction, as part of an effort to streamline and simplify the contact information structure. This change is in line with the broader initiative to remove legacy fields and make the model more straightforward as possible. is_company becomes a computed stored field, allowing each l10n to specify how a company is defined in a specific country. By default we will now rely on VAT and commercial entity to compute `is_company`. --- `l10n_br*` : Now considers a partner a company if their identification type is CNPJ --- `l10n_co*` : Now considers a partner a company if their identification type is RUT --- `l10n_*` : general : removed `is_company` / `company_type` from demo/tests Task-4714892
This update streamlines the customer display functionality by removing specialized code for IoT devices. Now, the display operates using the same standard mechanism as other devices, reducing complexity and maintenance needs. This change improves efficiency and reduces potential technical issues.
Original PR description
Before this commit, when the customer display was used normally, the data was sent via the websocket to any connected clients. When it was used on the IoT box however, a different system using IoT actions was used to update the display. This commit removes the special logic for the IoT case, instead just opening using the same mechanism as any other device. The display still works the same as before, but less requests are needed and there is less code to maintain.
This update simplifies the way documents are searched within Odoo Enterprise by removing a complex and unnecessary search operator. This change improves search performance and stability while addressing a technical issue related to the previous implementation. The update also aligns with best practices for document organization.
Original PR description
`child_of` `char` is weird, fragile, and not necessary. Note that we discourage the use of `user_root` for anything but searching. The compute method is only implemented to not break `filtered_domain` and should likely not be used to add the field in a view. Task-5207995