Daily updates from Odoo
Tuesday, April 14, 2026
37 changes · master
New functionality added to Odoo
This update introduces new premium pay categories within the payroll system, allowing businesses to accurately account for overtime and special pay arrangements like night shifts, weekends, holidays, team bonuses, and miscellaneous payments. This enhancement improves payroll accuracy and reporting for companies with employees receiving these additional compensation types.
Original PR description
add premium pay categories and rules for night, sunday, holiday, team, and miscellaneous Task: 6033393
This update introduces a required report, DAS2, for French businesses to comply with tax regulations when declaring payments to third-party service providers. It aligns with French legal requirements and ensures accurate financial reporting. A related update also ensures data consistency across Odoo modules.
Original PR description
This PR introduces the DAS2 report for the French localization. This report is essential for companies to comply with French tax regulations and is used to declare payments made to 3rd party service providers. Task ID: 4894097
This update enhances the AI agent's understanding of Odoo's core models by introducing a dedicated 'explanation' field. This allows the AI to generate more relevant and detailed context for its operations, improving its performance and accuracy. The change impacts several key enterprise modules like HR and Sales, leading to better AI-driven insights.
Original PR description
This PR introduces a dedicated _explanation attribute to Odoo's core models and actions to provide verbose, LLM-targeted context. Previously the AI agent relies on the _description attribute, which in fact has little to do with action of describing. It just the human readable display name of the model. By adding a separate explanation field to `ir.model` and `ir.actions.actions`, we can now provide better explainability of the model for both ai and humans use. This PR has introduced a selection of description. Future work should continue to add more in the future. https://github.com/odoo/odoo/pull/256616/ task-6009099
Enhancements to existing features
This update optimizes Odoo's startup speed by delaying the loading of a specific library (openpyxl). This change reduces startup time by approximately 100ms and allows Odoo to function without this library, improving overall system responsiveness. It's a small but important performance enhancement.
Original PR description
This is the only module loading it eagerly at startup. We can save at least 100ms by moving it to the function that uses it. Moreover, this way we can start odoo without openpyxl being available.
This update incorporates changes from the Odoo community to enhance tracking functionality across multiple modules. Specifically, it simplifies tracking value checks and adds new tracking tests, particularly in appointment flows and mail tracking. The changes improve the reliability and accuracy of tracking data within Odoo.
This update enhances budget reporting by automatically incorporating asset accounts (current, non-current, and fixed) into budget tracking. Previously, budget reports only covered expense accounts; now, users can gain a more complete financial picture, especially when tracking expenses related to company assets.
Original PR description
Expand the scope of budget tracking to include asset accounts. Modified the account filtering logic so that when a budget type is set to "Expenses" or "Both", the query includes 'asset_current', 'asset_non_current', and 'asset_fixed' account types. task-5994048 Forward-Port-Of: odoo/enterprise#112239 Forward-Port-Of: odoo/enterprise#109496
This update simplifies quotation templates by organizing advanced settings into a dedicated tab, reducing clutter. Subscription-related fields are now only shown when subscriptions are included, and template sharing is now explicitly enabled, ensuring better data management and a cleaner user experience.
Original PR description
This commit enhances the quotation template form view by moving advanced options into a dedicated **Settings** tab, making the form cleaner. Subscription-related fields are now displayed only when the template contains at least one subscription product, avoiding unnecessary clutter. The visibility logic has been refined: templates are shared globally only when `share_template` is explicitly enabled. Demo data has been updated accordingly to reflect this behavior. Additionally, some Many2one relations have been adjusted to align with the introduction of section templates. task-5946222 See Also: - https://github.com/odoo/odoo/pull/250390
This update streamlines the employee form by dynamically showing only relevant benefit information based on each company's configuration. It consolidates payroll data and removes unused modules, resulting in a cleaner and more efficient user experience for HR teams. This change improves performance and reduces complexity.
Original PR description
### **Overview** The employee form view has become increasingly cluttered with benefit-related fields that are often irrelevant to specific company configurations. This PR introduces a dynamic…
### **Overview** The employee form view has become increasingly cluttered with benefit-related fields that are often irrelevant to specific company configurations. This PR introduces a dynamic mechanism to "lighten" the UI by linking views directly to specific benefits. Key Change: Benefit-related views and salary rules are now conditional. If a benefit is deactivated, its corresponding fields and view elements will no longer appear on the employee form. ### **Technical Changes** Several models and calculations have been moved: `hr.contract.salary.benefit`: Moved from hr_contract_salary to hr_payroll. Yearly Cost Calculation: Logic has been migrated to hr_payroll. Payroll Properties : Activation is now based on the active field of the salary rule Signature & Configurator: The logic specifically tied to the salary configurator and document signing remains in hr_contract_salary. ### **2. Dynamic View Management** view_ids Field: Added to hr.contract.salary.benefit. Benefit-specific UI components are now defined in separate views, which are activated/deactivated based on the benefit's active field. ### 3. Module Consolidation & Cleanup hr_contract_salary_payroll: Merged into hr_contract_salary to reduce module overhead. hr_contract_salary_holidays: Removed. This module contained significant dead code and is no longer required. Data Migration: Localized benefit data has been moved from l10n_be_hr_contract_salary to l10n_be_hr_payroll
This update enhances the budgeting process by clearly separating purchase order commitments (representing expected purchases) from actual invoice liquidations (representing paid invoices). This improved distinction provides more accurate budget tracking and reporting, leading to better financial insights.
Original PR description
Improve the budget committed and liquidation aspects by distinguishing them. Committed represents purchase orders while liquidation represents invoices. task-6067368
This update enhances the accuracy of account reconciliation by ensuring that deferred dates reversal moves are correctly matched with their original transactions. This resolves a potential issue where reconciliation reports might have been incomplete, leading to inaccurate financial reporting. The change impacts the core accounting processes within Odoo Enterprise.
Original PR description
This commit makes that the deffered dates reversal move debit lines reconciled with their corresponding credit lines from the original move. task-5902974
This update enhances the accuracy of German point-of-sale (POS) transaction reporting by refining how transactions are tracked and managed. Specifically, the system now correctly records transaction start and end times, and ensures all active transactions are cleared at the end of each session, aligning with updated tax regulations. This improves data reliability and compliance.
Original PR description
In this commit: ------------------ - The transactions were shown to be processed within 0-1 seconds as we were used to call start and finish transaction calls on validation so in the case of retails it won't give actual data of start and end time so we need to improve this and called now for `start transaction` when first orderline added to a new order, calling `cancelled` if the order is deleted or all the orderlines are removed manually, and `finished` on validation of the order. - Also will delete all active transactions on the fiskaly at the time of closing of session so that no active order remains (if cleared cache) As a lot things are already handled in v19 Handled https://github.com/odoo/enterprise/pull/99216 pr's remaining updates here. Forward-Port-Of: odoo/enterprise#113669 Forward-Port-Of: odoo/enterprise#107530
This update enhances the visual presentation of return reports within Odoo, specifically focusing on the kanban view, checks view, and dashboard card. The changes prioritize highlighting return deadlines to improve urgency awareness and streamline the user experience.
Original PR description
improve the styling of the kanban/list view of returns, the checks view and the dashboard card related to the returns. Focus primarily on bringing the deadline more visibility about the urgency. Slighlty clean the templates as well by optimizing divs and classes. task-6082300
This update clarifies how recurring products are handled in Odoo Enterprise. The name of a key field has been changed from `has_subscription_products` to `has_recurring_products` to better reflect its purpose: controlling which fields are displayed on order templates. This ensures accurate product visibility for subscription-based sales.
Original PR description
Rename `has_subscription_products` to `has_recurring_products` to avoid confusion. Recurring products are only treated as subscriptions when a plan is set; here we only check if products can be sold recurringly to control some fields' visibility on `sale.order.template`
Resolved issues and error corrections
The 'Validate' button for GSTR1 and GSTR2B returns was temporarily hidden. This fix corrects a technical issue caused by a recent code change, ensuring the button is now correctly displayed for these return types. This ensures users can properly process and submit their GSTR filings.
Original PR description
The Validate button was not visible for GSTR1 and GSTR2B return types. This issue was introduced after the removal of the 'new' state from l10n_in_gstr1_status and l10n_in_gstr2b_status in commit: https://github.com/odoo/enterprise/commit/8058bf55918bd0c1ac0de52d696de67ce0b3b45b As a result, the button visibility condition relying on state = 'new' was no longer valid, since the initial state is now represented by False (i.e., no value set) instead of an explicit 'new' selection. This fix updates the visibility condition to correctly handle the new default state and restores the expected behavior. task-6105435
This update fixes an issue where dropdown menus within the softphone wouldn't close when clicking outside the softphone. This improvement ensures consistent navigation and usability when using the softphone, aligning with recent changes to modal behavior. The fix was implemented to restore expected dropdown functionality.
Original PR description
Since [1] (and its follow-up commits), the softphone became the "UI active element" once it opens. This was required to solve multiple keyboard navigation issues that occurred while being on the app…
Since [1] (and its follow-up commits), the softphone became the "UI active element" once it opens. This was required to solve multiple keyboard navigation issues that occurred while being on the app switcher with the softphone opened. It also simply improved navigation any time the softphone is used, allowing it to close on ESC, etc. This is also consistent with what is being done at [2] where the softphone will get closer to modal behavior. However, it came with a bug: dropdown inside and outside the softphone were not closed anymore if clicking outside the softphone. E.g.: - Open the user dropdown menu - Click outside => it closes - Open the softphone - Open the user dropdown menu - Click outside => It does not close anymore This commit adds a test about it. The fix lies in the dropdown closing logic in the community counter-part of this PR. [1]: https://github.com/odoo/enterprise/commit/df1772e877a508150fd3f549526dec9d867354be [2]: https://github.com/odoo/enterprise/pull/111337 task-6055692 Forward-Port-Of: odoo/enterprise#111516
This update resolves issues with the payrun window's filters in Hong Kong, ensuring accurate reporting. It corrects a misconfiguration related to employee type filtering and removes an unnecessary file that was causing problems. These changes improve the reliability and accuracy of payroll processing for Hong Kong users.
Original PR description
[FIX] l10n_hk_hr_payroll: new payrun employee selection Fixes a few issues with the payrun window causing the filters to not work well in Hong Kong. - The override wasn't updated for the new employee type filter - When eMPF was merged into the base module, the js file wasn't added to the backend assets and wasn't loading - Update the JS override to better match the new version of the original file. [FIX] l10n_hk_hr_payroll: remove payrun card The file mas mistakenly reintroduced with the eMPF merging, but unused. The change in manifest done in this pr highlighted that this template is no longer needed and cause issues, so we can properly remove it. task-6108320
This update enhances the stability of the Odoo integration with Fiskaly, primarily by refining error handling and configuration settings. Specifically, the system now correctly manages SCU limits and provides better tracking of company configurations, ensuring smoother operation and accurate data synchronization.
Original PR description
- Retry only on server errors (5xx) instead of client errors (4xx) to avoid masking meaningful API responses with a confusing RetryError. - Reuse the existing active SCU when E_SCU_LIMIT_REACHED is returned, since Fiskaly only allows one active SCU per account. - Pass the pos.config id as metadata when creating a cash register on Fiskaly, making it easier to match Fiskaly register IDs back to their config when the local link is broken. - Hide the test mode toggle once the company is registered with Fiskaly (l10n_at_fiskaly_organization_id is set) to prevent mode changes after registration. opw-5958673 Forward-Port-Of: odoo/enterprise#113601 Forward-Port-Of: odoo/enterprise#113496
This update resolves a critical issue where users could cancel documents after all signatures were collected, potentially compromising legal records. Now, the cancel button disappears automatically after signing is complete, and backend cancellations are blocked to ensure document permanence and security. This protects the integrity of agreements and strengthens legal proof.
Original PR description
Before this commit, users could cancel documents after everyone had signed. This weakened legal records and proof of agreement. After this commit, the cancel button disappears once signing is complete. We also blocked backend cancellations to keep finished documents permanent and secure. task-5980337 Forward-Port-Of: odoo/enterprise#113409 Forward-Port-Of: odoo/enterprise#109353
A recent issue prevented users from accessing server action views correctly within the Document module. This was caused by a priority setting problem in the view configuration. This update resolves the issue by explicitly setting a priority, ensuring the correct server action view is displayed, and improving usability.
Original PR description
When the document module is installed, sometimes the server action view that is shown when accessing the server actions from the normal menu can be broken: the model field for instance is no longer visible, which makes the user interface unusable. <img width="723" height="412" alt="image" src="https://github.com/user-attachments/assets/73f6d516-77be-4f66-80dc-033fd8c0cb7c" /> This is because the document module defines a new primary form view for server actions, but does not set a priority for that view. As a result we have 2 primary views, with the same default priority of 16 in the database, and in that case the sorting of view can lead to the document specific view to be selected, when the other one is expected. We fix this by explicitly setting a priority of 32 on the form view in the document module. Forward-Port-Of: odoo/enterprise#112847
This update creates a direct link between Documents and Project Tasks, resolving a previous issue where attachments and saved documents weren't automatically connected. Now, documents created from Project Tasks will automatically include a link back to the task, improving workflow and organization.
Original PR description
Previously, there was no connection between the Documents app and Project Tasks (`project.task`). Attachments added to a task via the chatter were not synced to the Documents app, and documents manually saved from the chatter lacked a link back to the corresponding task. This commit introduces a link between them by posting a message in the created document's chatter, linking it back to the task. This solution is specifically for stable versions. On `master`, we introduce a proper bridge. task-5941719 Forward-Port-Of: odoo/enterprise#111996
This update fixes an issue where the LU VAT reports were incorrectly showing only the first product ID instead of all products with missing internal references. This ensures accurate reporting for Luxembourg VAT compliance, addressing a previous data discrepancy and improving report reliability.
Original PR description
This is one of several commits fixing the FAIA xml export. The internal reference must be set for all products reported in the FAIA report. When there are multiple products missing this field, our previous code only reported the first ID to the customer. This commit shows the customer all incorrectly configured products. opw-5427296, opw-6113665 Forward-Port-Of: odoo/enterprise#113563 Forward-Port-Of: odoo/enterprise#113452
This update fixes an issue where the employee health warning incorrectly flagged employees with long sick leaves prior to 31 days. The change adjusts the logic to include employees who have been on sick leave for at least the past 31 days, ensuring more accurate health assessments. This improves the reliability of the warning reports.
Original PR description
-**Issue**: The warning shows employees who had a long sick leaves before 31 days, which is incorrect. -**Fix**: Adjust the logic to include employees who have been on a sick leave for the past 31 days (at least). Forward-Port-Of: odoo/enterprise#113443 Forward-Port-Of: odoo/enterprise#112985
This update resolves a crash that occurred when users double-clicked 'Add Custom Field' within a list view's optional fields dropdown in Odoo Studio. The fix prevents Studio from opening multiple times simultaneously, ensuring a stable user experience. This improves reliability and prevents data loss.
Original PR description
On a list view, open the optional fields dropdown. Click twice on "Add Custom Field" Before this commit there was a crash, because opening studio while it is already opening was not protected. After this commit, there is no crash. Forward-Port-Of: odoo/enterprise#113299
This update ensures CSV files are now correctly recognized as viewable within Odoo's list views, mirroring the behavior in the Kanban view. Previously, CSV files were ignored in list views, creating a discrepancy in functionality. This change enhances usability and consistency across Odoo.
Original PR description
Current behavior before PR: - CSV files were viewable from the Kanban view, and opened the spreadsheet conversion dialog - In list view, CSV files were not considered viewable - Same issue for trashed CSV files in list view Desired behavior after PR is merged: - Consider CSV files as viewable in list view - Align behavior with the Kanban view Task: 6052134 Forward-Port-Of: odoo/enterprise#113586 Forward-Port-Of: odoo/enterprise#112869
This update fixes a bug in the payroll system where warning messages weren't displaying all employees needing review – specifically those marked as 'anomaly'. Now, warning messages accurately include employees in both 'to review' and 'anomaly' states, ensuring accurate review processes and better compliance.
Original PR description
Currently, when a payrun has some employees whose review state is "to review" or "anomaly", a warning message for review is shown, but it shows only employees records with "to review" state. This commit adds the employees with "anomaly" state as well. task-6095318
This update resolves a critical error preventing customers from connecting or refreshing their Shopee accounts through the Odoo module. The fix corrects a technical issue within the module's code, ensuring a smoother onboarding experience. New automated tests have been added to prevent similar problems in the future.
Original PR description
Currently, customers report errors when connecting or refreshing a Shopee account through the `sale_shopee` module. **Steps to reproduce:** - Install and configure the `sale_shopee` module - Attempt…
Currently, customers report errors when connecting or refreshing a Shopee account through the `sale_shopee` module. **Steps to reproduce:** - Install and configure the `sale_shopee` module - Attempt to connect a Shopee account via the onboarding flow - Complete the authorization process **Observed behavior:** An error is raised during the authorization callback, preventing the Shopee account from being connected or refreshed. **Root cause:** In `onboarding.py`, the `shopee_return_from_authorization` controller incorrectly uses `utils.with_context(authorization_code=code)`. Since `utils` is an imported Python module, calling `with_context` on it attempts to set the context on the module itself rather than on a model instance, which raises an error. **Solution:** Move the `with_context` call from the `utils` module to the `temp_shop` record, which is the appropriate model instance that needs the context. Additionally, this commit adds regression tests for the controller to prevent future regressions, as this functionality was previously untested. opw-6092524 Forward-Port-Of: odoo/enterprise#113081
This update fixes a problem where the payroll dashboard displayed warnings for all companies, even when a user was only working with one. Now, the dashboard only shows warnings related to the company the user is currently managing, ensuring more relevant and accurate alerts. This improves the user experience and data clarity.
Original PR description
This commit will restrict the payroll dashboard alerts to only display warnings relevant to the user's currently selected company.
**Why:**
Previously, the payroll dashboard search method fetched and displayed warning of `Employees Without Running Contract` from all companies in the database, regardless of the user's active company context.
**What:**
- Added a domain filter ('company_id', '=', self.env.company.id) to the search query.
task-6095361This update fixes an issue where search filters in the MRP Planning section (MPS) were lost when users navigated away and returned. The fix ensures that search filters are correctly retained, providing a more consistent and efficient user experience. This improves usability and data accuracy.
Original PR description
Issue: In the MPS view, when the user sets a search filter, navigates away and then returns via the breadcrumb, the search filters that were applied are gone. This happened because the MPS client action was not passing `globalState` to the `WithSearch` component. Fix by passing `globalState` in `withSearchProps`. task-5368078 Forward-Port-Of: odoo/enterprise#113183 Forward-Port-Of: odoo/enterprise#113125
This update corrects payroll tax rates in the Belgian HR payroll module (l10n_be_hr_payroll) to reflect the latest regulations for the year 2026. This ensures accurate tax calculations and compliance for employees and the company. The change is a technical fix to maintain correct financial reporting.
Original PR description
Forward-Port-Of: odoo/enterprise#113426
This update resolves an issue where prompts within email templates weren't being evaluated correctly. The fix ensures that all prompt containers are wrapped in a `<div>` to prevent errors during evaluation, guaranteeing prompts now function as intended. This improves the reliability of AI-powered email content.
Original PR description
Note: In 18.4, the editor inserts a space before and after the prompt container, in which case the following steps won't cause an error because the container won't be the only html element. Steps to…
Note: In 18.4, the editor inserts a space before and after the prompt container, in which case the following steps won't cause an error because the container won't be the only html element. Steps to reproduce: - Create a new email template. - Insert a prompt by using the '/prompt' command. - Type any prompt like 'Say Hello'. - Save the email template. - Click on preview. - The prompt isn't evaluated. The '_eval_ai_prompts' method creates a root element from the passed html content. When the passed content represents a single prompt container html element, the root will become that prompt container. The method will try to evaluate the prompt and replace the prompt container and then return the root. The returned root won't contain the evaluation of the prompt in this case because the whole root should be replaced by the evaluation given that there is no other elements. To fix this, the html content will always be wrapped in a `<div>` to avoid the need for replacing the whole root element. Forward-Port-Of: odoo/enterprise#111645 Forward-Port-Of: odoo/enterprise#110247
This update fixes an issue where appointment booking descriptions were displayed in the user's language instead of the website's language. Previously, the system used the user's language setting, regardless of the website's language. Now, booking descriptions will correctly display in the website's language (e.g., French) for users with different language preferences.
Original PR description
When booking an appointment, the cart shows the date/time in the partner's language instead of the website's language. `_prepare_order_line_values` uses `self.partner_id.lang`, ignoring the website language and using the user's language instead. Steps to reproduce: 1. Have a website language different than the user's language 2. Go to the website appointment page 3. Book an appointment 4. Check the booking For this case: - Website language: French - User language: English => You will find, "xxx at xx:xx to yyy at yy:yy" instead of "xxx à xx:xx au yyy à yy:yy" Ticket [link](https://www.odoo.com/odoo/action-4043/5931610) opw-5931610 Forward-Port-Of: odoo/enterprise#113208 Forward-Port-Of: odoo/enterprise#107698
This update resolves an issue where 'Hide Composition' sections weren't consistently hidden in the portal preview. The fix ensures that sections with hidden products are correctly masked, matching the behavior in PDF reports. This improves the accuracy of sales order previews for customers.
Original PR description
**Problem:** Currently, when 'Hide Composition' is enabled on a section containing at least one product, while the order have subscription product, the recurring lines within that section are still…
**Problem:** Currently, when 'Hide Composition' is enabled on a section containing at least one product, while the order have subscription product, the recurring lines within that section are still visible in the portal's 'preview' view, whereas they are correctly hidden in the PDF report. **Expected behavior:** As observed in pdf format, in preview, the hidden section should hide the components and only view the name of the section. **Steps to reproduce:** - Create quotation with One Goods type product - Add section with Hide composition - Add service type product in the section - Preview it and section products will be hidden - Confirm the quotation and now preview the sales order - Now the hidden section products will be visible **Solution:** - We need to separate the logic of displaying lines and invoiceable lines (since _get_invoiceable_lines doesn't necessarily return the sections/subsections) - The filtering in sale subscription module wasn't considering the `collapse_composition` boolean field, which why hidden sections content were displayed. - We need to hide any product with a parent (section or subsection) collapsed, hide any subsection with a parent section collapsed. opw-5868148 Forward-Port-Of: odoo/enterprise#106287
This update resolves a problem where PDF previews within invoices were not displaying correctly after a recent update to the PDF viewer. The fix restores a key setting that allows the system to properly extract and display the embedded PDF data, ensuring invoices with attached PDFs open correctly.
Original PR description
Steps to reproduce: 1. Upload an XML invoice (e.g., UBL) containing an embedded PDF into the Documents app. 2. Select the document to open the preview panel. 3. The viewer opens but shows a…
Steps to reproduce: 1. Upload an XML invoice (e.g., UBL) containing an embedded PDF into the Documents app. 2. Select the document to open the preview panel. 3. The viewer opens but shows a grey/empty PDF viewer. Context: Commit odoo/odoo@5035107e introduced an updated PDF viewer.js. Subsequently, commit d3481a5e removed the `download=0` query parameter from the viewer route to prevent `new URL()` parsing errors on relative paths. However, the backend specifically relies on the `download=0` flag to intercept the request, extract the Base64 data, and serve the raw PDF binary. Without this parameter, the backend serves the raw XML string directly to the PDF viewer, causing the parser to crash. Fix: Restore the `download=0` parameter by using the core `url` utility to construct a safe, absolute URL before encoding it for the viewer. This satisfies the strict `new URL()` parsing in the updated PDF viewer while ensuring the backend correctly triggers the PDF extraction. Task-6065246 Forward-Port-Of: odoo/enterprise#112007
This update resolves a memory issue that was impacting the performance of the HR payroll dashboard. The team optimized the data processing method, switching from complex unions to a simpler list-based approach. This change results in a faster and more stable dashboard experience.
Original PR description
Instead of using union in _group_records_by_schedule and _group_by_warning_and_date we append in a list and browse to avoid memory errors Forward-Port-Of: odoo/enterprise#113543
This update prevents regular employees from modifying the target job within an appraisal. The original system caused access errors because employees lacked the necessary permissions to view company job postings. This change ensures that target job assignments are managed solely by managers, improving data integrity and security.
Original PR description
Steps to reproduce: 1- Create an appraisal for a regular employee 2- Confirm it so its state changes to 'ongoing' 3- Try to change the target job as an employee 4- Click on see more Cause: The main cause is that regular employees lack the privilage to view job postings by a company. therefore an access rights errors is resulted when the flow is executed. Solution: Made the field readonly for normal employees (as it should be, target jobs are the managers' responsibility to change). Forward-Port-Of: odoo/enterprise#112663
This update resolves an issue where users couldn't exclude leaves that were also considered working time. Now, administrators can correctly designate leaves as non-working time, ensuring accurate tracking of employee availability and preventing scheduling conflicts. This improves the accuracy of holiday planning and reporting.
Original PR description
…orking time We can't take leaves considered as working time. We should be able to task-6089849 Forward-Port-Of: odoo/enterprise#112820
Code cleanup and technical improvements
This update refines the Odoo Studio interface to better support mobile devices. Specifically, a change was made to the template naming convention to align with recent improvements that allow colorpickers to appear inline with labels, enhancing the user experience on smaller screens.
Original PR description
This commit renames the o_wrap_field_boolean to o_wrap_field_inline in studio templates, following the community changes made to support colorpicker field inline next to its label on mobile.