Daily updates from Odoo
Navigate
Branch
Saturday, September 14, 2024
33 changes
32 changes
New functionality added to Odoo
Quality teams can now build quality control checks using spreadsheets, making checks easier to configure without Studio. Spreadsheet cells can calculate pass or fail results with formulas, enabling more flexible checks and shop floor usage while limiting stored history to control database growth.
Original PR description
This commits add a new way to design quality control checks with spreadsheets. It can be used similarly to worksheet but doesn't require studio and it might be easier to configure. The value of a cell is used as the result of a quality control point. The check passes if the value is truthy (TRUE, number other than 0) and fails otherwise. This value can be computed based on the value of others cells with formulas. It allows to implement custom logic and interactions between different inputs (while worksheets are static). Task: 4144096
Adds support for retrieving invoice reference data from India's GST portal and using it to create or update vendor bills. This reduces manual entry, improves billing accuracy, and helps companies stay aligned with GST compliance workflows.
Original PR description
This pull request introduces a new module, `l10n_in_reports_gstr_qr_irn_extension`, and implements an API for better integration with the GST portal. #### Key Features: - **Module Addition:** - Fetches and processes IRN data from the GST portal. - Automatically creates draft bills if no related IRN bill exists. - Improves GST compliance and billing efficiency. - **API Implementation:** - Adds an endpoint to get bill details using IRN. - Ensures IRN is a 64-character alphanumeric string. - Allows setting IRN via QR scanning or GST report. #### Impact: - Enhances billing accuracy and compliance. - Reduces manual work. - Streamlines billing processes. Related-Community: https://github.com/odoo/odoo/pull/175644 Task ID: 3551097
Payroll teams can now generate a salary statement report showing an employee's monthly or yearly salary component calculations. This makes it easier to provide clear payroll computation details to employees when requested.
Original PR description
In this PR new salary statement report is added it is for employee yearly of monthly components computation information purpose which widely used by payroll officer provide to employees on demand. task-3959531
Enhancements to existing features
Spreadsheet pivot tables now support additional ways to group and break down data. This gives users more precise reporting options directly in spreadsheets, helping teams analyze business information at the right level of detail.
This update standardizes how Odoo verifies user permissions across several business apps, making access decisions more consistent and easier to maintain. It affects areas such as accounting, appointments, CRM/helpdesk, data cleaning, and documents, with minimal direct change expected for everyday users.
Spreadsheet pivot tables now support more detailed time grouping options, making it easier to analyze data at the right level of detail. This updates related spreadsheet panels and behavior so business reports stay aligned with the enhanced pivot view capabilities.
Original PR description
This commit adapts the enterprise codebase to the introduction of new granularities on the pivot view. Task: 4031965
Dutch VAT closing entries now apply the same whole-number rounding used in the tax report. This helps ensure payable or reclaimable VAT totals are consistent when closing tax periods, including simpler reports with a single total line.
Original PR description
Add the tax report integer rounding in the tax closing. Also, add the support to a `total` key in the `vat_results_summary` of `_vat_closing_entry_results_rounding`. That key is used when reports have a single line with the payable/reclaimable vat. task-3691312
Subscription tests were updated to match recent changes in the community edition. This helps ensure subscription pricing continues to be validated correctly when sale prices are changed, reducing the risk of billing inconsistencies.
Original PR description
task-3964654
The manufacturing work order dashboard has been simplified so its cards are cleaner and easier to maintain. Users should see the same dashboard behavior with a more consistent interface that follows current Odoo standards.
Original PR description
In this commit we have simplified the kanban arch for the mrp module dashboard. the goal is to simplify them, make them easier to read and use bootstrap utility classnames. - Previously, we used kanban-box, but now we are using kanban-card instead. - Deprecated oe_kanban_global_click and oe_kanban_global_click_edit. - More use of <field/> tags - Removed the oe_kanban_colorpicker class and replaced it with the kanban_color_picker widget. - Changed type='edit' to type='open' to open records. since version 16, records always open in edit mode by default. - kanban_image from rendering context, is deprecated so we use <field name=... widget=image/> instead - kanban_color, kanban_getcolor and kanban_getcolorname are deprecated use new attribute highlight_color=color_field_name on root node Task-3992107
The accounting dashboard now uses a new Odoo Finance source to retrieve bank institution information. This helps Odoo hide blocked or unsupported institutions from the dashboard, giving users a cleaner and more reliable selection experience.
Original PR description
The aim of this commit is using a new Odoo Fin route which returns necessary information for the accounting dashboard. This new route allows us to blacklist some institutions to avoid them to appear in the accounting dashboard. task-4150174
The Sign app’s kanban cards have been simplified to use newer standard layouts and controls. This makes the interface easier to maintain and helps keep the signing experience consistent across desktop and mobile views.
Original PR description
In this commit we have simplified the kanban arch for the sign module. The goal is to simplify them, make them easier to read, and use bootstrap utility classnames. - Previously, we used `kanban-box`, but now we are using `kanban-card` instead. - Deprecated `oe_kanban_global_click` and `oe_kanban_global_click_edit`. - More use of `<field/>` tags - Removed the `oe_kanban_colorpicker` class and replaced it with the `kanban_color_picker` widget. - Changed type='edit' to type='open' to open records. Since version 16, records have always been open in edit mode by default. - `kanban_image` from rendering context, is deprecated so we use `<field name=... widget=image/>` instead Task-3992107
This update simplifies how automated tests open and prepare forms across delivery, manufacturing, field service, quality, and rental workflows. It improves maintainability of the test suite without changing day-to-day product behavior for users.
HR-related kanban views were updated to use newer, cleaner card layouts and standard interface components. This makes the screens easier to maintain and keeps the employee appraisal, contract signing, payroll, and referral areas aligned with current Odoo interface practices.
Original PR description
*hr_appraisal,hr_contract_sign,hr_payroll,hr_referral In this commit we have simplified the kanban arch for the hr and their related modules.the goal is to simplify them, make them easier to read and use bootstrap utility classnames. - Previously, we used kanban-box, but now we are using kanban-card instead. - Deprecated oe_kanban_global_click and oe_kanban_global_click_edit. - More use of `<field/>` tags - Removed the oe_kanban_colorpicker class and replaced it with the kanban_color_picker widget. - Changed type='edit' to type='open' to open records. since version 16, records always open in edit mode by default. - kanban_image from rendering context, is deprecated so we use `<field name="..." widget="image"/>` instead - kanban_color, kanban_getcolor and kanban_getcolorname are deprecated use new attribute highlight_color="color_field_name" on root node Task-3992107
Several Odoo apps now use simpler, more modern kanban card layouts. This makes these views easier to maintain and helps keep the user interface consistent without changing core business workflows.
Original PR description
*sale_subscription,sale_timesheet_enterprise In this commit we have simplified the kanban arch for the planning, project_forecast,quality_control,room,sale_subscription and sale_timesheet_enterprise modules.the goal is to simplify them, make them easier to read and use bootstrap utility classnames. - Previously, we used kanban-box, but now we are using kanban-card instead. - Deprecated oe_kanban_global_click and oe_kanban_global_click_edit. - More use of `<field/>` tags - Removed the oe_kanban_colorpicker class and replaced it with the kanban_color_picker widget. - Changed type='edit' to type='open' to open records. since version 16, records always open in edit mode by default. - kanban_image from rendering context, is deprecated so we use `<field name="..." widget="image"/>` instead - kanban_color, kanban_getcolor and kanban_getcolorname are deprecated use new attribute highlight_color="color_field_name" on root node Task-3992107
Website generation now applies style choices more consistently and avoids issues when some page information is missing. Image cropping behavior is also preserved better, helping generated pages look closer to the intended design.
Original PR description
Apply style customizations and minor fixes: - Handle case where 'page_count' is not defined. - Added missing 'cropping_dimensions' attribute. - Re-use original class attributes when replacing cropped images
Users who open a Point of Sale link without an active session are no longer sent back to the dashboard. The system now starts the session automatically, reducing friction for staff and making POS access faster and more consistent.
Original PR description
Before when trying to access to the POS url with no opened session, the user was redirected to the backend POS dashboard. Now, when the user access to the POS url with no opened session, the session is opened automatically. taskId: 4161131
Tags in rental and subscription forms now display with better spacing, alignment, and sizing. They are no longer clickable, preventing users from accidentally opening related records while reviewing orders or schedules.
Original PR description
Current Behaviour: - In some modules (subscriptions, rental, etc.), the HTML and field tags in the form view are misaligned and improperly sized, with no space between them. some of the tags are clickable and opens the form view Expected Behaviour: - Ensure proper alignment and sizing of HTML and field tags in the form view, with appropriate spacing between them. make the tags not clickable. task-3903783
The Social and Push Notifications apps now use simpler, more modern campaign card layouts. This makes the underlying views easier to maintain while preserving the same user workflow for opening and editing records.
Original PR description
In this commit we have simplified the kanban arch for the utm and their related modules.the goal is to simplify them, make them easier to read and use bootstrap utility classnames. - Previously, we used kanban-box, but now we are using kanban-card instead. - Deprecated oe_kanban_global_click and oe_kanban_global_click_edit. - More use of <field/> tags - Removed the oe_kanban_colorpicker class and replaced it with the kanban_color_picker widget. - Changed type='edit' to type='open' to open records. since version 16, records always open in edit mode by default. - kanban_image from rendering context, is deprecated so we use <field name="..." widget="image"/> instead - kanban_color, kanban_getcolor and kanban_getcolorname are deprecated use new attribute highlight_color="color_field_name" on root node Task-3992107
Helpdesk customer ratings are now clearer and easier to understand, with ratings shown as scores and emojis instead of percentages. The update also simplifies rating setup, improves guidance for teams, and prevents users from rating their own tickets from email templates.
Original PR description
In this commit, improve following changes in helpdesk app - remove the portal_show_rating field and the logic associated to it, rating page is no longer exists after this commit. - add fa-lightbulb…
In this commit, improve following changes in helpdesk app - remove the portal_show_rating field and the logic associated to it, rating page is no longer exists after this commit. - add fa-lightbulb and content on customer rating feature enable on team so that use gets a clear idea about the feature and configuration. - while configure customer ratings and set an email template on stages hide the 'teams' field by default and display the 'email template' field by default in list view. - remove the 'add a description' placeholder and set the 'add a description to help your coworkers understand...' sentence as a placeholder instead. - 'helpdesk: ticket rating request' email template: set 'auto delete' to true by default. - helpdesk overview express ratings as '2.00 / 5' instead of % - display ratings as emojis instead (as in the form/kanban view) and hide the 'rating' label in list view of tickets - disable clicking on the emojis of the rating email template for user so that they can't rated themself. task-3279405
Resolved issues and error corrections
The payroll app now installs successfully even when demo data is not included. This prevents setup failures for companies using a clean production-style installation.
Original PR description
If you install hr_payroll without demo data, a method called for a domain will crash, effectively not installing correctly the payroll app. PR related: 66873 Task: 4049872
Corrects an issue in UAE payroll where the WPS report could misread payslip data during generation. This helps ensure payroll payment reports are produced reliably and with the correct employee payslip information.
Original PR description
…PS report Ticket [#3326388](https://www.odoo.com/odoo/my-tasks/3326388) Fixing an issue while parsing the result of _get_line_values in the WPS report in UAE payroll. The returned dict was being indexed with `payslip` while it should have been `payslip.id`
The invoice extraction process now safely handles VAT numbers where no country can be identified. This helps prevent processing errors for valid VAT numbers, including Swiss cases that the underlying detection tool may not recognize.
Original PR description
The stdnum function guess_country can return an empty array if it is not able to detect a country for a vat number. This fix handles the case of no country being detected. This can happen for the Swiss vat numbers, as even though they are valid, stdnum does not check for swiss vat numbers.
The point of sale UrbanPiper integration now avoids unnecessary order synchronization attempts that could create duplicate orders. This reduces crashes when staff accept or mark UrbanPiper orders as ready, making online order handling more reliable.
Original PR description
The excessive calls on syncAllOrders result to order duplicates in the pos app. And because of duplicates, the app crashes when "accepting" or "marking as ready" an urban piper order. The removal of those extra calls results to a more reliable use of the urban piper features. Community: https://github.com/odoo/odoo/pull/179778
Code cleanup and technical improvements
The point of sale preparation display code was updated to align with a related platform change in how sounds are handled. This is an internal cleanup that helps keep the module compatible and maintainable without introducing a noticeable workflow change for users.
Original PR description
pos*: pos_iot, pos_preparation_display In this commit we adapt the code to reflect the change in the corresponding community commit.
Miscellaneous changes
Gross should come before deductions for aesthetic purposes on the payslip Forward-Port-Of: odoo/enterprise#70063 Forward-Port-Of: odoo/enterprise#70026
Original PR description
Gross should come before deductions for aesthetic purposes on the payslip Forward-Port-Of: odoo/enterprise#70063 Forward-Port-Of: odoo/enterprise#70026
To improve customer's comprehensibility; the gantt and pivot view are added task-3999189 Forward-Port-Of: odoo/enterprise#68023
Original PR description
To improve customer's comprehensibility; the gantt and pivot view are added task-3999189 Forward-Port-Of: odoo/enterprise#68023
Description of the issue this commit addresses: When creating an invoice from the sales or the purchase app, the product names are not picked and put in the name (label) of the invoice lines linked to it. This causes several issues among which the act that the pdf of the invoice only gives the description of the product but not its name. --- Desired behavior after this commit is merged: This commit makes sure the product's display_name is always shown in the invoice line's name so th
Original PR description
Description of the issue this commit addresses: When creating an invoice from the sales or the purchase app, the product names are not picked and put in the name (label) of the invoice lines linked to it. This causes several issues among which the act that the pdf of the invoice only gives the description of the product but not its name. --- Desired behavior after this commit is merged: This commit makes sure the product's display_name is always shown in the invoice line's name so that it is rendered on the pdf. --- Community PR: https://github.com/odoo/odoo/pull/177242 opw-4119507 Forward-Port-Of: odoo/enterprise#68620
Before this commit, a queryCount was set at 3453 queries and was failing on multiple builds. This PR bump that count. Forward-Port-Of: odoo/enterprise#69489 Forward-Port-Of: odoo/enterprise#69420
Original PR description
Before this commit, a queryCount was set at 3453 queries and was failing on multiple builds. This PR bump that count. Forward-Port-Of: odoo/enterprise#69489 Forward-Port-Of: odoo/enterprise#69420
This commit adapts the Account reports's filters styling, following the fix of the record selector's caret positioning made in community. Community: https://github.com/odoo/odoo/pull/180046 Forward-Port-Of: odoo/enterprise#69994 Forward-Port-Of: odoo/enterprise#69944
Original PR description
This commit adapts the Account reports's filters styling, following the fix of the record selector's caret positioning made in community. Community: https://github.com/odoo/odoo/pull/180046 Forward-Port-Of: odoo/enterprise#69994 Forward-Port-Of: odoo/enterprise#69944
We get a KeyError when trying to format values in consolidation report Steps: - Install account_consolidation - Open a consolidation balance - Try to reformat values -> KeyError -> `blank_if_zero` and `format_params` are not in `column_dict` when we try to access it in `account_reports._format_column_values` opw-4070070 Forward-Port-Of: odoo/enterprise#67708
Original PR description
We get a KeyError when trying to format values in consolidation report Steps: - Install account_consolidation - Open a consolidation balance - Try to reformat values -> KeyError -> `blank_if_zero` and `format_params` are not in `column_dict` when we try to access it in `account_reports._format_column_values` opw-4070070 Forward-Port-Of: odoo/enterprise#67708
**[FIX] documents: skip spreadsheets while toggling preview in FileViewer** Issue: - preview any document that can be previewed. - toggle the preview to make the FileViewer preview a spreadsheet. - as the spreadsheet lacks a preview, a blank preview is seen when the FileViewer lands on the spreadsheet. Reason: - while preparing the `documentsRecords` there is actually a filter present to filter out only previewable records. please refer --- https://github.com/odoo/enterprise/
Original PR description
**[FIX] documents: skip spreadsheets while toggling preview in FileViewer** Issue: - preview any document that can be previewed. - toggle the preview to make the FileViewer preview a spreadsheet. -…
**[FIX] documents: skip spreadsheets while toggling preview in FileViewer** Issue: - preview any document that can be previewed. - toggle the preview to make the FileViewer preview a spreadsheet. - as the spreadsheet lacks a preview, a blank preview is seen when the FileViewer lands on the spreadsheet. Reason: - while preparing the `documentsRecords` there is actually a filter present to filter out only previewable records. please refer --- https://github.com/odoo/enterprise/blob/17.0/documents/static/src/views/hooks.js#L311 - but for some reason the function `[isRecordPreviewable]` is not passed as a parameter from neither the `DocumentsKanbanController` nor the `DocumentsListController` and as a result, rendered the `.filter()` useless. Fix: - We migrate the `isRecordPreviewable()` method to the `DocumentsSpreadsheetControllerMixin` so that it overrides the newly created `isRecordPreviewable()` method in the `DocumentsKanbanController`, which is then accessed by the `.filter()` mentioned above. -------------------------------------------------------------------------------------------------------------------------- **[FIX] documents: optimize the condition to save computation** Issue: - the current condition renders the `youtubeVideoToken` value useless even when the record is actually a youtube video link. - the condition `__comp__.props.record.isViewable()` does takes care of those records but I feel since we have an exclusive variable declared to check for the youtube videos link, the `isViewable()` call should be the last check to determine if any record `isViewable()` Fix: - switch the order of conditions `__comp__.props.record.isViewable()` and `youtubeVideoToken`. Task-4029257 Forward-Port-Of: odoo/enterprise#69557 Forward-Port-Of: odoo/enterprise#66248
### Steps to reproduce: - Enable packages in the inventory settings - Create a storable product tracked by Lot and put 4 units in stock: - 2 Units for "LOT001" - 2 Units for "LOT002" - Create and confirm a sale order for 2 units - Go to the barcode app > Operations > Delivery orders > your Delivery Order - Register "LOT002" manually > One unit will be added to your delivery moves. - Put in pack > You can unroll the move to see that one move line was created for 1 unit with a package a
Original PR description
### Steps to reproduce: - Enable packages in the inventory settings - Create a storable product tracked by Lot and put 4 units in stock: - 2 Units for "LOT001" - 2 Units for "LOT002" - Create and…
### Steps to reproduce: - Enable packages in the inventory settings - Create a storable product tracked by Lot and put 4 units in stock: - 2 Units for "LOT001" - 2 Units for "LOT002" - Create and confirm a sale order for 2 units - Go to the barcode app > Operations > Delivery orders > your Delivery Order - Register "LOT002" manually > One unit will be added to your delivery moves. - Put in pack > You can unroll the move to see that one move line was created for 1 unit with a package and 1 unit is still missing. - Register a second unit of "LOT002" manually to put in an other pack > The line is updated to 2 units instead of 1 so that the additional unit can not be packed in an other pack ### Expected behavior: You should be able to pack units of the same lot in different packages. ### Cause of the issue: To determine which line is going to be updated by our lot registration the `_findLine` method is called. This method look for each line in pageLines and when it finds a candidate move line it continues to find a better candidate. However, fully packed moves should not be considered as valid candidates. opw-4068334 Forward-Port-Of: odoo/enterprise#69738 Forward-Port-Of: odoo/enterprise#68535
1 change
Resolved issues and error corrections
This update ensures that the POS system can work with both older and newer IoT Box devices during a transition period. The system was updated to use a single configuration file instead of multiple files, but some devices haven't been updated yet. This fix allows the system to check both the old and new configuration methods, ensuring seamless operation regardless of which IoT Box version is being used.
Original PR description
As we replaced the individual config files by a single `odoo.conf`, we need to adapt the code to keep compatibility between updated and non-updated IoT Boxes. As we did not update this one in the migration method from [this PR](https://github.com/odoo/odoo/pull/173866), we have to try both old and new methods to get the config value. opw-4183138