Daily updates from Odoo
Thursday, May 7, 2026
8 changes · master
Enhancements to existing features
This update simplifies the product list view used by sales teams, making it easier to understand key information. Specifically, irrelevant fields have been hidden and aggregation on the 'version' field has been disabled to prevent misleading totals. This change improves clarity and usability for sales users.
Original PR description
Simplify product views by hiding non-relevant fields and improving clarity for sales users. - Disable aggregation on version field to avoid misleading totals task-6131606
This update simplifies the duplication list view, making it easier to understand merge status and quickly access related deduplication rules. Key changes include clearer visual indicators, a streamlined interface, and enhanced filtering options, ultimately improving the efficiency of data cleanup tasks.
Original PR description
Before this commit, In the duplication list view: - It was not clear which records were merged within a group - Discarded records had no option to reconsider - No quick access to the related Deduplication Rule - Many unnecessary fields were visible by default - Search bar was unstructured and missing useful filters - Archieved and Discarded both similar type of filters After this commit, - Removed Delete action from duplication list view - Added highlight effect on Merge hover to show impacted records - Replaced Merge / Discard with **Unarchive** button for discarded records - Added direct access to Deduplication Rule from group menu - Simplified list view fields (only essential fields visible by default) - Improved search bar structure and added date filters - Remove Archieved filter Impact: - Clearer merge and discard visibility - Faster navigation to deduplication rules - Better filtering and overall usability Taskid-5896560
This update streamlines the Odoo Enterprise module by removing redundant code related to worksheet property editing. The changes consolidate custom code specifically for worksheet templates, improving the module's overall structure and efficiency. This results in a cleaner codebase and potentially faster performance.
Original PR description
This commit moves custom code related to worksheet in that module since that custom code to make the definition of properties field editable in the form view is only useful in worksheet template and so it is not really needed to have it in web module.
This update enhances the visual design of UrbanPiper notifications within the point-of-sale system. The changes create a more organized and user-friendly experience, making it easier for staff to manage UrbanPiper-related alerts and updates. This improves the overall efficiency of operations.
Original PR description
In this commit: ------------------- - We have enhance the UrbanPiper notification popup to make it visually appealing and well-structured. | Before | After | |-----------|--------| | <img width="310" height="224" alt="image" src="https://github.com/user-attachments/assets/14bf3700-919d-46fb-b625-c2b935bf9603" /> | <img width="351" height="235" alt="image" src="https://github.com/user-attachments/assets/2b7a291e-222a-4a08-ac60-18264df356cd" /> | task: 5448621
This update simplifies how variable salary losses are calculated in payroll, addressing previous complexities with work day lines. By separating public holiday and sick time off loss calculations, the system now provides clearer and more accurate results, reducing user verification challenges. This change improves payroll reporting and compliance.
Original PR description
Currently loss on variable salary are managed with worked day lines which is a problem as: - it's not an occupation - the computation of the loss differs for public holiday and for sick time off, grouping them makes the verification very complex for the user - loss for public holiday and loss for sick time off are grouped on the same work day line but should not because the computation of the loss for the public holiday must take into account the loss for sick time off of the last year but not the loss for public holiday This commit refactors the work entry type into two distinct salary rules. task-6152041
This update adds a new field to the call database to differentiate between production and demo calls. Currently, the system doesn't track whether a call is for live use or a demonstration. This change improves reporting and analysis by allowing us to better understand call usage in different environments.
Original PR description
…guish production and demo calls Currently, the database does not differentiate between production and demo calls. This commit adds an is_prod boolean field to preserve this metadata. Task-[6116478](https://www.odoo.com/odoo/5778/tasks/6116478)
This update enhances the visual experience of Odoo's spreadsheet dashboards by adapting colors to dark mode. Specifically, the dashboards now remove a default white background and utilize a new color scheme, resulting in a cleaner and more professional look in dark mode without impacting light mode.
Original PR description
See https://github.com/odoo/odoo/pull/263272
This update enhances how rental prices are calculated by considering the full rental duration and applying prices at regular intervals (hourly, daily, etc.). This change introduces a slight complexity in price calculations due to rounding, and also optimizes the shop page performance by disabling search-based rental price computations.
Original PR description
With the replacement of rental rules by price rules in 2a934b799eb5f6d774ff6de86726b3887f1d8dab, we allowed users to use Availability dates to set specific prices for rental based on the rental…
With the replacement of rental rules by price rules in 2a934b799eb5f6d774ff6de86726b3887f1d8dab, we allowed users to use Availability dates to set specific prices for rental based on the rental period.
Doing so, we introduced a limitation as we currently take only the rule that matches the starting date/time of the rental.
This commit updates rental price computation to sum the price at each `rent_periodicity` step (hour/day/night/week) over the full rental duration.
Two drawbacks to this changes:
1. Formula-based rules may now behave differently. Rounding is applied per periodicity. For example, with a product priced at $99.99/day and a rule applying a 10% discount rounded to the nearest .99, starting on Monday till Tuesday (included). The price for a rental from Monday to Wednesday becomes:
```python
# Monday to Tuesday (included) + Wednesday
(round($99.99 - 10%) - $0.01) * 2 + $99.99
= $89.99 * 2 + $99.99
= $279.97
```
2. The shop page previously computed rental prices of each products based on the current search query. If the base loading times without rental was already slow, adding rental products won't help. An `ir.config_parameter` was added to disable the computation of rental prices based on the search query.
task-6020137
See also:
- https://github.com/odoo/odoo/pull/257618
### Bench
- Best of 5 GET request times on a 1096 days period (maximum allowed by the rental date picker on the shop)
- 21 products (5 by hours, 15 by days/nights, 1 by weeks)
- Hardware: MacBook M4 Pro (so very fast, much faster than SaaS in single core perf)
- Script to generate the DB can be found in [POC](https://github.com/odoo/enterprise/pull/110156)
- Command: `for i in {1..5}; do curl 'http://localhost:8069/shop?start_date=2026-03-23+17%3A00%3A00&end_date=2029-03-22+18%3A00%3A00' -o /dev/null -s -w "%{time_total}\n"; done | sort -g | head -n 1 | awk '{print "best: "$1"s"}'`
| No pricelist | Empty pricelist | Complex pricelist
-- | -- | -- | --
POC approach (diff [here](https://github.com/odoo/enterprise/pull/110693#issuecomment-4178075093)) | 3.841549s | 37.388301s | 126.696783s
Final approach | 1.835127s | 1.837871s | 1.913034s