Daily updates from Odoo
Monday, March 2, 2026
18 changes
1 change
Enhancements to existing features
This update integrates an AI agent ('Odoo agent') to automatically create partners during account creation. A new feature will be added to allow administrators to exclude specific partners from this automated retrieval process, providing greater control over data. This change supports the ongoing development of Odoo's AI capabilities.
Original PR description
This commit: https://github.com/odoo/enterprise/commit/84d84687ac09abad698b1b00a445f69a0d896e5f introduce a new ai agent called "Odoo agent" and in the create method a partner is created from it. We will add a new function to blacklist some partner from the retrieve partner functionality task-5973417 Forward-Port-Of: odoo/enterprise#108871
2 changes
Enhancements to existing features
This update enhances how Odoo identifies partners in Saudi Arabia. Previously, partner identification relied solely on VAT. Now, it also considers the Identification Scheme and Identification Number, leading to more accurate distinctions between companies and individuals, especially when VAT information is unavailable.
Original PR description
Before this commit: - Partner identification relied only on the VAT field. After this commit: - Partner identification in Saudi Arabia also considers Identification Scheme and Identification Number. - This improves detection of companies vs individuals when VAT is missing. task-5866942 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update integrates an AI agent ('Odoo agent') to automatically create partner records during account creation. To ensure data accuracy, a new feature will be added to exclude specific partners from this automated retrieval process. This enhancement improves the efficiency of partner onboarding within the accounting system.
Original PR description
This commit: https://github.com/odoo/enterprise/commit/84d84687ac09abad698b1b00a445f69a0d896e5f introduce a new ai agent called "Odoo agent" and in the create method a partner is created from it. We will add a new function to blacklist some partner from the retrieve partner functionality task-5973417 Forward-Port-Of: odoo/enterprise#108871
1 change
Enhancements to existing features
This update allows accountants to quickly group invoice lines by tax, reducing clutter and improving journal item organization. A new server action provides a convenient way to group and ungroup lines by tax, date, and account, streamlining invoice processing for greater efficiency.
Original PR description
[IMP] account_edi_ubl_cii: (un)group lines by tax
Once an invoice is imported, a server action allows the user to group
lines by tax, and then if the same action is triggered again it will
ungroup all lines from the origin file
This feature is useful because accountants don't always need the
detail of the vendor bills, and also all the lines clutter up the
journal items
task-5047859
Forward-Port-Of: odoo/odoo#250703
Forward-Port-Of: odoo/odoo#24523410 changes
Enhancements to existing features
This update improves the Work Entries Gantt view by displaying warning icons directly on employee rows. This allows operators to quickly identify employees with missing data (like contracts) without navigating to individual employee forms, streamlining their workflow and improving data visibility.
Original PR description
Operators processing work entries often need to see if an employee has blocking data issues (like missing contracts) directly from the Gantt view, without opening the individual employee form. This commit enhances the Work Entries Gantt view to display these warnings inline. Changes: 1. **Gantt Renderer:** - Extended `WorkEntriesGanttRenderer` to fetch warning data during the `onWillStart` lifecycle. - Modified the XML row header to display an orange warning triangle next to the employee name if issues exist. - Added a click handler to the icon that redirects the user to the Employee form (where the detailed banner from `hr` will be visible). 2. **Backend Logic:** - Added `get_gantt_employee_warnings` to `hr.employee`. This method is optimized for the Gantt view, returning a simple list of error strings for the visible employees, separate from the detailed JSON logic used in the form view. task-5118781
This update adjusts Odoo's spreadsheet functionality to align with a recent update to the underlying o-spreadsheet library. Specifically, it enables editing of slice colors and includes a new test case for the chart side panel, ensuring continued functionality and stability.
This update enhances the Point of Sale (PoS) interface by reorganizing the hamburger menu and adding icons for its dropdown options. This improves usability and makes it easier for users to access key PoS features within the Odoo system. This change aligns with ongoing improvements to the Odoo platform.
Original PR description
pos*: l10n_at_pos, l10n_it_pos, pos_blackbox_be, pos_enterprise, pos_iot, pos_iot_six In this commit: =============== - We reorganised the PoS hamburger menu and added icons for the dropdown menu items. Task: 5888379 Related Community PR: https://github.com/odoo/odoo/pull/246516
This update enhances the employee calendar by accurately displaying work entries. Absence-related entries will now block out calendar days, while other work entries will appear as standard sections, providing a clearer visual representation of employee availability. This change was previously implemented in a related module and is now standard across the system.
Original PR description
The calendar now correctly grays out days based on work entry types. Work entries that are considered as absence will grey out a block in the calendar, while others will make the sections white. This was already implemented in l10n_hk_hr_payroll so this commit is just moving this feature into standard. task-5085284
This update cleans up the wording and descriptions of warning messages within the Odoo payroll system. The changes enhance clarity for users regarding potential issues with contracts and payroll calculations. Specifically, the system now provides more informative warnings related to contract types and account details, streamlining the process for HR and finance teams.
Original PR description
Warning title and description cleaning task - 5917840
This update introduces a 'snooze' option for payroll warnings, allowing users to temporarily hide them instead of permanently archiving them. This provides greater flexibility in managing outstanding issues and reduces the risk of overwhelming users with persistent alerts. It improves the user experience by giving more control over payroll-related notifications.
Original PR description
Hiding a payroll warning permanently archives it, this change add a "snooze" checkbox option so that the user may decide whether it's intended to be permanent or not. task-5979692
This update streamlines project search functionality by consolidating a duplicated function. The team replaced a hard-coded approach with a more efficient method, `extract_comodel_domain()`, to avoid redundancy and improve performance. This change ensures consistent and optimized project search results.
Original PR description
In task **5379826**, a function was made with the help of the framework team called `extract_comodel_domain()` `_search_on_comodel()` is an attempt to do the same behavior, but in a hard coded way. In order to avoid logic duplication, we decided to replace `_search_on_comodel()` by `extract_comodel_domain()`. Since `_search_on_comodel()` returns an empty recordset if the domain has nothing to do with the comodel (i.e.: when `extract_comodel_domain()` returns Domain.TRUE), we had to change some of the logic of the calling functions. task-5418875
This update enhances the Odoo Enterprise payroll system by allowing businesses to accurately track non-salary employer costs, such as medical insurance and work permits. Four new fields have been added to the 'hr.version' model, and corresponding salary rules have been created to calculate these costs monthly, providing a more complete view of employer expenses and contributing to the employer cost dashboard.
Original PR description
* = l10n_ae_hr_contract_salary This PR implements: - Added 4 property fields (Medical insurance, Work permit, Employment visa, Other cost) on 'hr.version' model for annual costs. - Created 4 salary rules that divide annual amounts by 12 for the monthly cost calculation. - The only other costs rule is a salary input and a one-time payment. - Rules belong to 'Labor Compliance Costs' category and contribute to employer cost dashboard. Task - 5434912
This update aligns Odoo with Hong Kong law regarding sick leave payments. We've added a new feature to limit consecutive sick leave days to a maximum of 4, ensuring compliance and accurate payroll calculations. This change impacts how employees can request and utilize sick leave allocations.
Original PR description
In Hong Kong, by law, employers are only required to pay for sick leaves starting from 4 consecutive days of leave. Below that, employers could choose whether they want or not to pay for sick leaves. We are adding two new fields on hr.leave.type that allows to configure a limit to fill this need. The limit will be checked upon leave approval, and raise an error if the employee isn't allowed to use the selected leave allocation for the amount of consecutive day selected. task-5379316
This update expands the salary increase wizard to allow for more flexible adjustments. Now, users can cap the percentage increase at a specific wage amount, preventing excessive raises, and also add a fixed extra amount to the increase. This provides greater control over salary adjustments.
Original PR description
Increase the capabilities of the salary index wizard. - The increase rate can be capped to a certain wage amount. E.g: 5000 wage increased by 10% capped to 4000 will give 5400 instead of 5500 wage. - A fixed extra amount can also be set. E.g: 5000 wage increased by 10% + extra amount of 100 will give 5600. Task-5380667
4 changes
Enhancements to existing features
This update simplifies the synchronization of partner addresses and VAT information within Odoo. Previously, changes to a child partner's VAT would be lost when syncing with the parent company. Now, VAT information is correctly propagated to child partners, improving data consistency and reducing manual updates. This change focuses on VAT synchronization for a smoother user experience.
Original PR description
Backport of https://github.com/odoo/odoo/pull/206112 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update clarifies the documentation for two key error codes, E8502 and E8505, within the Odoo testing tools. Specifically, it provides a clearer explanation of E8505 and includes an illustrative example to enhance understanding for users.
Original PR description
- Update documentation link for E8502. - Clarify why E8505 is in place and give an example.
This update improves the 'Unpaid' filter in the vendor bill section, now including draft bills alongside posted bills. This allows users to see all outstanding bills, regardless of their status, leading to a clearer view of financial obligations. A technical adjustment ensures journal entries are properly filtered, maintaining data accuracy.
Original PR description
In this commit: - Updated the `Unpaid` filter to show draft bills in addition to posted bills. The filter now includes all non-cancelled bills with payment status `Not Paid` or `Partially Paid`. - Backported the logic from 18.0 to ensure journal entries are filtered out by checking that type is not equal to `journal_entry`. task-5900283 Forward-Port-Of: odoo/odoo#247179
This update modernizes invoice formats for French and German customers, aligning with new regulatory standards for Factur-X and ZUGFeRD. It clarifies invoice types for customers and adapts default settings for B2B and B2G invoices, ensuring compliance and a better user experience.
Original PR description
Updating the FacturX format (France)/ ZUGFeRD format (Germany) to respect the new norms: Factur-X 1.07.3 EXTENDED and ZUGFeRD 2.3.3 EXTENDED. Add the differentiation between these two formats in the customer interface, even if they point to the same value in the code. It clarifies things for the customer, things are called by their name. Also, in Germany, for B2B invoices (peppol EAS = 9930), use ZUGFeRD, but for B2G invoices (peppol EAS = 0204), use XRechnung. Adaptation of the default values in the partner form according to this statement. For French and German companies that are sending invoices to French or German customers (that are not B2G), changed the default format of invoice sent to be compliant to PDF/A-3 norms. task-5266286 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#237091