Daily updates from Odoo
Wednesday, July 9, 2025
19 changes
5 changes
Enhancements to existing features
The automated walkthrough for creating website forms in Website Studio has been updated to work with the redesigned website builder. This helps keep quality checks active so future changes are less likely to break the form-building experience.
Original PR description
The `website_studio_website_form` tour was previously broken due to DOM structure changes introduced by the new website builder and was consequently disabled. This commit updates the tour steps to align with the new DOM and re-enables the associated test.
Installing the Belgian POS blackbox module no longer interrupts users with a prompt to reload IoT Box drivers. This makes setup simpler because the required blackbox driver is now included by default on IoT Boxes.
Original PR description
When we installed the module `pos_blackbox_be`, a dialog was shown to ask the user to reload his IoT Box's drivers (in order for its blackbox to be dected as a blackbox instead of an adam scale). We removed this dialog as we now download the blackbox driver by default on IoT Boxes.
This update helps prevent the same scale reading from being processed twice in Point of Sale when using IoT-connected scales. It makes weighing more reliable for store operations and reduces the risk of incorrect quantities or pricing at checkout.
Original PR description
The main changes are in the community PR odoo/odoo#213537. This commit simply adds a call in the `scale_service.js` override to ensure the new behaviour is also enabled in Enterprise. task-4859589 Forward-Port-Of: odoo/enterprise#88089 Forward-Port-Of: odoo/enterprise#87296
The printer test button now uses the same connection approach as regular receipt and report printing, making test prints behave more consistently. If the usual connection method fails, the system automatically falls back to an alternative so users are less likely to experience failed printer tests.
Original PR description
The "test" button on printer devices should behave exactly as printing a receipt/report in other apps. We now use the IoT http service to handle longpolling call then websocket if longpolling fails. We also updated all other calls to use this service instead of simple longpolling service. Community PR: odoo/odoo#217932 Task: 4922613
Belgian accounting data has been updated with corrected chart of accounts details, translations, and disallowed expense rules. The change also adds default asset model handling for Belgium, helping companies apply Belgian accounting setup more consistently and reducing manual configuration.
Original PR description
1) Misc data modifications and corrections for l10n_be. * Updated the CoA (accounts, descriptions, translations) * Fixed and updated disallowed_expenses 2) Added default asset models module for l10n_be See task-4791757 for more details. Related :https://github.com/odoo/odoo/pull/210755 Forward-Port-Of: odoo/enterprise#87067
12 changes
Enhancements to existing features
The IoT Box discovery dialog has been updated to make the setup flow easier for users to understand and complete. This should reduce confusion when connecting an IoT Box and improve the overall onboarding experience.
Original PR description
We updated the IoT Box found dialog in order to ease user experience. Task: 4922620 Forward-Port-Of: odoo/enterprise#89608
The IoT app device list now shows each device's connection status. This makes it easier for users to quickly identify whether devices are online or need attention without opening each device record.
Original PR description
This PR adds the connection status to the device list view in the iot app Forward-Port-Of: odoo/enterprise#89632
The Colombian localization now supports retrieving required customer name and email information directly from DIAN using the customer's identification type and number. This helps businesses comply with Colombian rules that limit what customer information they can request while keeping invoicing data complete.
Original PR description
The Colombian government restricts the information a company can ask from their customers to only their identification type and number. The other data (name and email) is required to be fetched from the DIAN service. task: 4796355 Forward-Port-Of: odoo/enterprise#86172
This update adds support for a mobile-style bottom sheet experience and adjusts related automated tests. It helps users access actions and options on smaller screens without leaving their current context.
Original PR description
A BottomSheet is a UI component in mobile apps that slides up from the bottom of the screen to display additional content or options. It can be partially or fully expanded and is commonly used for actions, menus, or forms. BottomSheets provide a non-intrusive way to show relevant information without leaving the current screen. This commit fixes JS tests task-4551522
A Web Studio automated test was adjusted to match recent changes in the available editor options. This helps keep quality checks stable and reduces the chance of false test failures after similar updates.
Original PR description
In https://github.com/odoo/odoo/pull/216638, the lists of operators available for selection in the tree editor have been changed for several field types. Here we adapt a studio test to that change and make it less likely to fail if similar changes would be brought. Task ID: 4894524
IoT devices are now shown with a cleaner name format in places that support formatted display, such as POS configuration dropdowns. This makes it easier for users to identify the device, its connection, and its IoT box at a glance.
Original PR description
Before this commit, IoT device names would dislplay in the format '[iotbox] Device Name'. After this commit, in environments with formatting enabled (such as the device dropdown when configuring in POS), we show the name with the following format: Device Name Connection IoT box Where Connection and IoT box are using muted text. task-4922608  Forward-Port-Of: odoo/enterprise#89703 Forward-Port-Of: odoo/enterprise#89664
Contract templates now show more of the information that was previously lost after HR and contract records were merged. The template form has been reorganized across payroll and localized payroll modules, making it easier for teams to configure contracts consistently.
Original PR description
Since the merge of hr and contract, we only have a form view for contracts for templates. Thus, during the merge, a lot of info has been lost on contract template form view. This commit, reintroduce fields that were present in saas-18.3 and re-organize them. task-4904024
The tree editor now supports building more complex rules with repeated AND and OR conditions. This makes it easier for users configuring views, spreadsheets, and filters to express advanced criteria without workarounds.
Signer names in the Sign app are now loaded once per request instead of repeatedly. This reduces unnecessary database work and makes templates with many roles open and respond more smoothly.
Original PR description
Currently, the application retrieves signer names multiple times from the database, leading to unnecessary overhead and delays. By modifying the logic to fetch signer names only once per request, we significantly reduce the number of database calls. This change will result in a smoother and faster user experience, especially when dealing with templates that contain many roles. task-4841694
The printer test button in IoT now works more like regular receipt or report printing, improving consistency for users. If the usual connection method fails, the system automatically falls back to another method, making printer testing more dependable.
Original PR description
The "test" button on printer devices should behave exactly as printing a receipt/report in other apps. We now use the IoT http service to handle longpolling call then websocket if longpolling fails. We also updated all other calls to use this service instead of simple longpolling service. Community PR: odoo/odoo#217932 Task: 4922613 Forward-Port-Of: odoo/enterprise#89638
AI tools can now be declared in a cleaner, more maintainable way, reducing setup complexity for future AI capabilities. The change also adds checks that tool definitions and inputs are valid, helping prevent misconfigured AI actions from running incorrectly.
Original PR description
*: ai_calendar,test_ai Remove the need for server action records when declaring AI tools. Tools are now defined by decorating methods with @register_ai_tool, making declarations cleaner and more…
*: ai_calendar,test_ai Remove the need for server action records when declaring AI tools. Tools are now defined by decorating methods with @register_ai_tool, making declarations cleaner and more maintainable. Schema validators are introduced to support basic parameters schema. These validators are used at app loading via _register_hook to ensure tool parameters are properly defined. More complicated schemas will be supported in the future if necessary. Input validation is also introduced. Whenever a tool is called, the input is tested against the schema declared for the called tool, raising a validation error if the input doesn't match the tool schema. Important note: It's not enough to decorate a method to register it as an AI tool. A corresponding `ai.tool` record has to be created. It has to be done this way to avoid auto-generation of `ai.tool` records. Moreover, `ai.tool` records have to be created for finer control since the tools are linked to the `ai.topic` records. task-4791949 Co-authored-by: Joseph (jcb) <jcb@odoo.com>
The Point of Sale IoT scale integration now applies the latest weighing behavior in Enterprise as well as Community. This helps avoid duplicate weighing actions at checkout, reducing operator mistakes and improving reliability when using connected scales.
Original PR description
The main changes are in the community PR odoo/odoo#213537. This commit simply adds a call in the `scale_service.js` override to ensure the new behaviour is also enabled in Enterprise. task-4859589 Forward-Port-Of: odoo/enterprise#89763 Forward-Port-Of: odoo/enterprise#87296
2 changes
Enhancements to existing features
The Point of Sale weighing dialog has been reorganized so businesses or implementation partners can customize it more easily. This is a small internal improvement that supports future adaptations without changing the standard user experience.
Original PR description
Enterprise PR: https://github.com/odoo/enterprise/pull/89280 This commit makes a small change to move the code that calls the weighing dialog into its own function. This is so it can more easily be overridden. task-4910716 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Odoo now accepts Vietnam’s updated VAT identification formats, including the 12-digit personal CCCD format required from July 2025. This helps businesses keep customer and vendor tax records compliant with new Vietnamese tax registration rules while still supporting existing enterprise and branch VAT numbers.
Original PR description
The current validation uses stdnum.vn.mst.validate(), which only accepts 10- or 13-digit MST with legacy checksum logic. It does not support the 12-digit CCCD format now required for individuals from…
The current validation uses stdnum.vn.mst.validate(), which only accepts 10- or 13-digit MST with legacy checksum logic. It does not support the 12-digit CCCD format now required for individuals from 01/07/2025 (per Circular 86/2024/TT-BTC). * This patch introduces a separate format-level validator for: • 10-digit enterprise VAT • 13-digit branch VAT (10-digit + suffix) • 12-digit CCCD (from 01/07/2025) * References: • Circular 86/2024/TT-BTC (tax registration & CCCD admin): https://thuvienphapluat.vn/van-ban/Thue-Phi-Le-Phi/Thong-tu-86-2024-TT-BTC-dang-ky-thue-565309.aspx • CCCD replacing tax ID from 01 Jul 2025: https://thuvienphapluat.vn/ma-so-thue/bai-viet/cach-doi-ma-so-thue-sang-ma-so-dinh-danh-ca-nhan-tu-0172025-200926.html • VAT ID structure 10/13 digits (Law, TT 105/2020): https://thuvienphapluat.vn/phap-luat/cau-truc-ma-so-thue-la-10-chu-so-hay-13-chu-so-phan-loai-cau-truc-ma-so-thue-nhu-the-nao-theo-quy-d-796465-178397.html --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#217456 Forward-Port-Of: odoo/odoo#217253