Friday, February 21, 2025
13 changes
4 changes
Enhancements to existing features
This update standardizes how bank statement CSV imports manage temporary database changes, making the process easier to maintain and more consistent. It also simplifies salary simulation rollback handling so trial calculations are fully discarded after running, reducing risk of unintended saved data.
Original PR description
### [IMP] account_bank_statement_import_csv: use savepoint() Use the savepoint object to import the data instead of custom SQL. The goal is to be able to find easily all savepoint usages and have them working in the same way. ### [IMP] hr_contract_salary: remove savepoint for simulation When simulating salary data, we want to rollback all that is done during the simulation. Since we commit just before trying to do the simulation, we can just rollback at the end instead of using savepoints. https://github.com/odoo/odoo/pull/198584
Users can now edit report date periods directly instead of repeatedly clicking arrows to move between months, quarters, or years. The date filter dropdown also supports keyboard navigation, making financial reports faster and more accessible to use.
Original PR description
Currently the new date filter widget on reports only allows users to change a period by clicking the `<` and `>` arrows next to the period description. This makes it cumbersome if a user want to switch from a month in one year to the same month in another year. He will have to click the arrow button at least 12 times. In order to simplify this kind of operation, we allow users editing the period text inline on double clicking it. That way they can manually change the month, quarter, or year and the report will reload with the correct period based on that. [task-4284292](https://www.odoo.com/odoo/project.task/4284292) Related to https://github.com/odoo/odoo/pull/190141
Portal ticket lists now show combined time spent versus allocated hours when tickets are grouped, helping customers understand overall work progress more easily. For services billed on validated timesheets only, the displayed time now respects that policy and only includes validated entries.
Original PR description
_*= helpdesk, helpdesk_sale_timesheet, documents_project - In this commit we have enhanced the functionality of displaying effective hours divided by allocated hours of grouped ticket in the portal list view. task-3609050
Project budget columns now use clearer business terms: Forecast, Actual, and Difference. The budget status also avoids incorrectly marking projects as overspent when a budget has been allocated but no spending has occurred, giving teams a more accurate view of project finances.
Original PR description
-Replaced table headers string:
'Allocated', 'Spent', 'Remaining' with 'Forecast', 'Actual', 'Difference'.
Currently, when a project only has the budget allocated without any spending, the project task Kanban incorrectly shows it as 'overspent'.
task-43531919 changes
Enhancements to existing features
Invoice lists can now be searched using the total invoice amount. This makes it easier for users to quickly find specific invoices when they know the amount but not other details.
Original PR description
It would help people to be able to search on the Total amount for invoices task-4575021 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Point of Sale order amounts now use the currency linked to each session, so values display and behave according to the right monetary precision. This improves consistency for businesses using different currencies and simplifies related quality checks.
Original PR description
check commit message for description
The Indian e-invoicing module now rejects pincodes outside the valid government-defined range, such as 000000. This helps prevent invalid partner address data from causing issues during e-invoice submission.
Original PR description
As per the [government schema for json](https://einv-apisandbox.nic.in/version1.03/generate-irn.html#requestPayload), the pincode should be in range of 100000 and 999999 but in odoo we only validated string of 6 digit character Before this commit- if a partner with pincode `000000` then no validation error After this commit- if a partner with pincode `000000` invalid pincode validation raises Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Automated guided tour tests now better detect unstable page behavior by waiting briefly after finding a target and confirming it remains visible and unchanged. This helps reduce unreliable test results and improves confidence in product quality checks.
Original PR description
in this commit, we improve the method to look for indeterminisms in the tours. The method waits a certain amount of time once the trigger has been found and then checks if the element is still visible, if it has changed or if it has undergone mutations. We take advantage of this commit to also improve the method to find the trigger in the DOM (we check that body does not have the class o_is_blocked and that the frame is is-ready=true if the element is in an iframe)
This update prevents errors caused by company-specific fields pointing to records that no longer exist. It improves reliability when loading or comparing these values, reducing unexpected disruptions for users working across companies.
Original PR description
When using JSONB for company-dependent many2one fields, references to non-existing records in the comodel can lead to MissingError. This commit introduces validation during fetch and comparison by taking advantage of index-only scan to ensure that referenced records exist. Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The point of sale system now includes a dedicated way to apply discounts during sales flows. This helps make discount-related actions more consistent and easier to reuse in the checkout experience.
Original PR description
add a function to add discount
The Knowledge app now relies on the shared HTML editor for content migration instead of maintaining its own migration logic. This reduces duplication and helps keep Knowledge, Website Knowledge, and related features aligned with the standard editor behavior.
Original PR description
This commit moves the html_field migration system to the standard. See implementation in 0df669159aaa1a9631ab12a68758bf78954071f7. Removing the Excalidraw command means that the html migration system must be moved to `html_editor`. This commit thus removes the sytem from Knowledge and adapts the manifests to take into account the move done, and updates a test to account for the new html editor version (1.1). task-4489076
Customer follow-up reports now use a dedicated statement format that focuses on the current year and only includes customer invoices. The report separates invoices that are due from those that are overdue, making payment follow-up clearer and less confusing for customers.
Original PR description
Instead of sending a confusing customer statement that includes invoices from the last period regardless of their status. Adding a new Partner ledger variant that will be sent as a follow-up report that provides the current year's customer statement including only customer invoices with separating Due and OverDue invoices. task-4454196
After pairing an IoT Box, users can now configure eligible devices for a selected Point of Sale directly from a popup. This reduces manual setup work for barcode scanners, customer displays, and receipt printers, making store onboarding quicker and easier.
Original PR description
To configure IoT Devices in a PoS we needed to pair the IoT Box, then go to PoS configuration and select devices (barcode scanner, customer display, receipt printer) one by one. We now display a popup right after IoT Box pairing, allowing autoconfiguration of eligible devices in the wanted PoS. Task: 4585446