Daily updates from Odoo
Saturday, February 14, 2026
8 changes
1 change
Enhancements to existing features
This update improves the generation of XML invoices for HR EDI reporting by streamlining the process and adding more robust testing. Specifically, the system now handles multiple tax calculations more accurately and includes new tests to ensure data integrity, aligning with evolving API standards for fiscalization queries.
Original PR description
- Improving the ubl_hr method chain to include less overrides in favor of extensions - Adding proper handling of multiple tax total and tax category nodes for hrextac - Refining docstrings and comments for ubl_hr - Adding a test with multiple tax types - Adding a test for account_edi_ubl_cii_tax_extension integration - Adjusting MER methods to correspond to API changes: fiscalization queries are now only available for own documents task-none --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#247339
1 change
Enhancements to existing features
This update improves the generation of XML files for HR tax reporting (l10n_hr_edi) by streamlining processes and adding more robust testing. Specifically, the system now handles multiple tax totals and categories correctly, and includes new tests to ensure accurate invoice exemption processing and fiscalization queries are limited to own documents.
Original PR description
- Improving the ubl_hr method chain to include less overrides in favor of extensions - Adding proper handling of multiple tax total and tax category nodes for hrextac - Refining docstrings and comments for ubl_hr - Adding a test with multiple tax types - Adding a test for account_edi_ubl_cii_tax_extension integration - Adjusting MER methods to correspond to API changes: fiscalization queries are now only available for own documents task-none --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#247339
6 changes
Enhancements to existing features
This update simplifies timesheet reporting by replacing the traditional timer header with key performance indicators (KPIs) like time worked and billable hours. The display of these KPIs is now dependent on the 'Sales' module being installed, providing a more streamlined view of time tracking data.
Original PR description
This commit removes the timer header from timesheets globally. Instead, it is replaced with kpis (time worked, time billable and billing rate, computed over the month). When `timesheet_grid` is installed alone, nothing is displayed. As soon as `sales` is installed, the hours/days worked and hours/days billable indicators are displayed in the header in the grid, list and kanban view. If the billing rate indicator is enabled and configured on the user, the billing rate is also displayed. Finally, if the leaderboard is activated in the settings, the leaderboard will be shown on the right side of the header. The kpis are computed based on the UOM configured on the company, similar to the timesheet amounts. A breadcrumb opening the assistant is visible on desktop. Community PR: https://github.com/odoo/odoo/pull/245913 Upgrade PR: https://github.com/odoo/upgrade/pull/9364 task-5180327
This update simplifies UTM tracking by standardizing source data and using references instead of individual source records. This improves reporting accuracy and clarity, allowing for more effective marketing analysis. The changes ensure consistent tracking across various Odoo modules.
Original PR description
PURPOSE The way we currently use the UTM trackers (aka source/medium/campaign) does not comply with the industry standards, leading to confusion and globally unclear or not usable reporting on UTM…
PURPOSE
The way we currently use the UTM trackers (aka source/medium/campaign) does not
comply with the industry standards, leading to confusion and globally unclear
or not usable reporting on UTM data.
SPECS
This aims at modifying UTM assignation to improve the important information
relayed by UTM trackers, notably in reporting. This comes with two main changes
in UTM handling:
Generalize the UTM source and retire "utm.source.mixin"
Every time a social.post, a mass.mailing, a res.users, and many more records
are created, we create a matching utm.source record through the
utm.source.mixin and use that source in various flows.
This essentially means that we have hundreds, sometimes thousands of different
sources, making reporting useless as you cannot group by source and get a
meaningful graph of how your leads are generated.
UTM sources will now become mostly generic records ("Mass Mailing",
"LinkedIn", ...) allowing get a limited number of static sources.
Introduce UTM reference
As we remove the UTM mixin and thus the creation of sources, this has a number
of drawbacks, the most notable one being the loss of statistics that were
previously retrieved using the source record.
For example, you could see how many crm.leads a certain mass.mailing or a
certain social.post generated, which is useful in terms of tracking what
marketing practices work and how to improve your content. It's also a great
strength of the Odoo ecosystem to have links and inter-connected apps.
This is resolved by introducing a fourth field on the utm.mixin: utm_reference.
That new field serves the purpose of the former utm.source.mixin in a much
simpler way as it's a reference field storing model,id and doesn't require an
extra model.
Implement the above in all functional modules
To ease the tracking of the changes, functional modules are gradually modified
in separate commits, with additional specificities for some of them.
EXAMPLE
Let's take a real example: a mass.mailing with a button to purchase something.
The button is clicked and a client buys a product from the store with the UTM
values of that mass.mailing's link trackers.
The resulting sale order's UTM trackers will look like the following:
Before:
- UTM Campaign: Black Friday Sales
- UTM Medium: utm.utm_medium_email
- UTM Source: "Black Frid... (Mailing Created on 2024-04-14)"
After:
- UTM Campaign: Black Friday Sales
- UTM Medium: utm.utm_medium_email
- UTM Source: utm.utm_source_mailing
- UTM Reference: mailing.mailing,42
Task-3330036This update simplifies document management within the Enterprise version of Odoo by adding the ability to move documents to folders and add/remove tags through server actions. Previously, these operations were not easily accessible, making it harder for users to organize their documents effectively. This change enhances usability and streamlines document workflows.
Original PR description
**Purpose:** Performing tag operations or moving documents to a folder via server actions was not intuitive for users. **Specifications:** - Add the following fields in `documents_account_record_create`: - Move to Folder - Add Tags - Remove Tags Task-5384414
This update improves the export of Spanish tax reports (modelo 347) to comply with recent regulations outlined in BOE-A-2025-25390. The changes address a requirement to include subsidy numbers, which are currently populated with six zeros as a placeholder. This ensures accurate reporting for Spanish tax filings.
Original PR description
reference: https://www.boe.es/buscar/doc.php?id=BOE-A-2025-25390 considering the modelo 347 As we do not have anything for the subsidy number, we just put 6 0s. opw-5926624 Forward-Port-Of: odoo/enterprise#107125
This update allows child companies using a shared journal to access and synchronize documents from their parent company's folders. Previously, document settings were limited to the main company; now, the system intelligently manages company access for shared accounting documents, ensuring data consistency across the organization. This simplifies document management for multi-company setups.
Original PR description
[IMP] documents(,_account): access parent company folders from branches Enable child companies to use accounting document synchronization folders (`documents.account.folder.setting`) of their parents…
[IMP] documents(,_account): access parent company folders from branches Enable child companies to use accounting document synchronization folders (`documents.account.folder.setting`) of their parents when sharing the same journal: - Previously the document synchronization setting (documents.account.folder.setting) was only applicable to the configured company, now it is also applicable to children companies. This enables children companies sharing a common journal with their parent to synchronize documents in the Document App. To support that feature, parent company folders (of the settings) are now visible to child companies through overridden `env_companies_access` logic. - Previously when uploading or moving a document to an account synchronization folder made the document inherit from the folder company regardless of the selected company. Now, we use the active company (if it is a child of the related account setting company) as the company of the uploaded or moved document (including when using a server action like "Vendor Bill"). This allows having a parent company folder shared with child companies while preserving the company of the document we're dealing with. - Previously only the company root folder were protected against modification from a non-manager user. We now extend that to folders used for account document synchronization (documents.account.folder.setting). For that we create a new searchable field is_protected that replaces the former condition in the code and record rules. That field and related methods are overridden in documents_account to add the new behavior. - We have also modified the account setting view (actually the fields domain in the model) to improve the company consistency between the different fields: the journal company and the folder company (except for folder without a company) must be the same as the company setting. Co-authored-by: Pierre-Yves Dufays <pydu@odoo.com> Task-5363821
This update streamlines the management of work entries and time off requests within Odoo Enterprise. The changes enhance the user experience and improve the accuracy of time tracking, leading to better workforce planning and reporting. This is an important improvement for HR and operational teams.