Daily updates from Odoo
Tuesday, April 14, 2026
15 changes
2 changes
Enhancements to existing features
This update enhances the budget report to automatically include tracking of asset accounts. Previously, budget reports only covered expense accounts. Now, when tracking expenses or both expenses and budgets, the system will include asset accounts like current, non-current, and fixed assets, providing a more complete financial picture.
Original PR description
Expand the scope of budget tracking to include asset accounts. Modified the account filtering logic so that when a budget type is set to "Expenses" or "Both", the query includes 'asset_current', 'asset_non_current', and 'asset_fixed' account types. task-5994048 Forward-Port-Of: odoo/enterprise#112239 Forward-Port-Of: odoo/enterprise#109496
This update enhances the processing of point-of-sale transactions within the German tax reporting module (l10n_de_pos_cert). Specifically, it ensures accurate tracking of transaction times and automatically clears active transactions at the end of each session to align with tax reporting requirements. This improves data reliability and simplifies compliance.
Original PR description
In this commit: ------------------ - The transactions were shown to be processed within 0-1 seconds as we were used to call start and finish transaction calls on validation so in the case of retails it won't give actual data of start and end time so we need to improve this and called now for `start transaction` when first orderline added to a new order, calling `cancelled` if the order is deleted or all the orderlines are removed manually, and `finished` on validation of the order. - Also will delete all active transactions on the fiskaly at the time of closing of session so that no active order remains (if cleared cache) As a lot things are already handled in v19 Handled https://github.com/odoo/enterprise/pull/99216 pr's remaining updates here. Forward-Port-Of: odoo/enterprise#113669 Forward-Port-Of: odoo/enterprise#107530
2 changes
Enhancements to existing features
This update enhances the processing of point-of-sale transactions within Odoo Enterprise, specifically for German tax reporting (l10n_de_pos_cert). It optimizes transaction timing and ensures all active transactions are cleared at the end of each session, improving data accuracy and compliance.
Original PR description
In this commit: ------------------ - The transactions were shown to be processed within 0-1 seconds as we were used to call start and finish transaction calls on validation so in the case of retails it won't give actual data of start and end time so we need to improve this and called now for `start transaction` when first orderline added to a new order, calling `cancelled` if the order is deleted or all the orderlines are removed manually, and `finished` on validation of the order. - Also will delete all active transactions on the fiskaly at the time of closing of session so that no active order remains (if cleared cache) As a lot things are already handled in v19 Handled https://github.com/odoo/enterprise/pull/99216 pr's remaining updates here. Forward-Port-Of: odoo/enterprise#107530
This update enhances the budget reporting feature to now automatically include asset accounts (current, non-current, and fixed) in budget tracking. This provides a more complete view of financial performance and aligns budget reports with a broader range of business expenses.
Original PR description
Expand the scope of budget tracking to include asset accounts. Modified the account filtering logic so that when a budget type is set to "Expenses" or "Both", the query includes 'asset_current', 'asset_non_current', and 'asset_fixed' account types. task-5994048 Forward-Port-Of: odoo/enterprise#112239 Forward-Port-Of: odoo/enterprise#109496
1 change
Enhancements to existing features
This update enhances the reliability of order updates for German Point of Sale (POS) certifications by ensuring sequential processing of changes. Additionally, redundant UI validation for ZIP codes and addresses has been removed, streamlining the user experience. This change improves order consistency and reduces unnecessary steps for users.
Original PR description
In this commit: ------------------- - We have added logic to execute API calls using a mutex for order updates (such as line updates and removals). This ensures that each update is processed (sequentially), allowing us to properly track and maintain order consistency. - We removed the ZIP and address validation on the UI since the backend already assigns default values if they are missing. So, there’s no need to restrict the user on the UI. task:5941742 Forward-Port-Of: odoo/enterprise#108694
8 changes
Enhancements to existing features
This update incorporates changes from the Odoo community to enhance tracking functionality across multiple modules. Specifically, it simplifies tracking value checks and adds new tracking tests, particularly in appointment flows and mail tracking. The changes improve the reliability and accuracy of tracking data within Odoo.
This update enhances budget reporting by automatically incorporating asset accounts (current, non-current, and fixed) into budget tracking. Previously, budget reports only covered expense accounts; now, users can gain a more complete financial picture, especially when tracking expenses related to company assets.
Original PR description
Expand the scope of budget tracking to include asset accounts. Modified the account filtering logic so that when a budget type is set to "Expenses" or "Both", the query includes 'asset_current', 'asset_non_current', and 'asset_fixed' account types. task-5994048 Forward-Port-Of: odoo/enterprise#112239 Forward-Port-Of: odoo/enterprise#109496
This update simplifies quotation templates by organizing advanced settings into a dedicated tab, reducing clutter. Subscription-related fields are now only shown when subscriptions are included, and template sharing is now explicitly enabled, ensuring better data management and a cleaner user experience.
Original PR description
This commit enhances the quotation template form view by moving advanced options into a dedicated **Settings** tab, making the form cleaner. Subscription-related fields are now displayed only when the template contains at least one subscription product, avoiding unnecessary clutter. The visibility logic has been refined: templates are shared globally only when `share_template` is explicitly enabled. Demo data has been updated accordingly to reflect this behavior. Additionally, some Many2one relations have been adjusted to align with the introduction of section templates. task-5946222 See Also: - https://github.com/odoo/odoo/pull/250390
This update streamlines the employee form by dynamically showing only relevant benefit information based on each company's configuration. It consolidates payroll data and removes unused modules, resulting in a cleaner and more efficient user experience for HR teams. This change improves performance and reduces complexity.
Original PR description
### **Overview** The employee form view has become increasingly cluttered with benefit-related fields that are often irrelevant to specific company configurations. This PR introduces a dynamic…
### **Overview** The employee form view has become increasingly cluttered with benefit-related fields that are often irrelevant to specific company configurations. This PR introduces a dynamic mechanism to "lighten" the UI by linking views directly to specific benefits. Key Change: Benefit-related views and salary rules are now conditional. If a benefit is deactivated, its corresponding fields and view elements will no longer appear on the employee form. ### **Technical Changes** Several models and calculations have been moved: `hr.contract.salary.benefit`: Moved from hr_contract_salary to hr_payroll. Yearly Cost Calculation: Logic has been migrated to hr_payroll. Payroll Properties : Activation is now based on the active field of the salary rule Signature & Configurator: The logic specifically tied to the salary configurator and document signing remains in hr_contract_salary. ### **2. Dynamic View Management** view_ids Field: Added to hr.contract.salary.benefit. Benefit-specific UI components are now defined in separate views, which are activated/deactivated based on the benefit's active field. ### 3. Module Consolidation & Cleanup hr_contract_salary_payroll: Merged into hr_contract_salary to reduce module overhead. hr_contract_salary_holidays: Removed. This module contained significant dead code and is no longer required. Data Migration: Localized benefit data has been moved from l10n_be_hr_contract_salary to l10n_be_hr_payroll
This update enhances the budgeting process by clearly separating purchase order commitments (representing expected purchases) from actual invoice liquidations (representing paid invoices). This improved distinction provides more accurate budget tracking and reporting, leading to better financial insights.
Original PR description
Improve the budget committed and liquidation aspects by distinguishing them. Committed represents purchase orders while liquidation represents invoices. task-6067368
This update enhances the accuracy of account reconciliation by ensuring that deferred dates reversal moves are correctly matched with their original transactions. This resolves a potential issue where reconciliation reports might have been incomplete, leading to inaccurate financial reporting. The change impacts the core accounting processes within Odoo Enterprise.
Original PR description
This commit makes that the deffered dates reversal move debit lines reconciled with their corresponding credit lines from the original move. task-5902974
This update enhances the accuracy of German point-of-sale (POS) transaction reporting by refining how transactions are tracked and managed. Specifically, the system now correctly records transaction start and end times, and ensures all active transactions are cleared at the end of each session, aligning with updated tax regulations. This improves data reliability and compliance.
Original PR description
In this commit: ------------------ - The transactions were shown to be processed within 0-1 seconds as we were used to call start and finish transaction calls on validation so in the case of retails it won't give actual data of start and end time so we need to improve this and called now for `start transaction` when first orderline added to a new order, calling `cancelled` if the order is deleted or all the orderlines are removed manually, and `finished` on validation of the order. - Also will delete all active transactions on the fiskaly at the time of closing of session so that no active order remains (if cleared cache) As a lot things are already handled in v19 Handled https://github.com/odoo/enterprise/pull/99216 pr's remaining updates here. Forward-Port-Of: odoo/enterprise#113669 Forward-Port-Of: odoo/enterprise#107530
This update enhances the visual presentation of return reports within Odoo, specifically focusing on the kanban view, checks view, and dashboard card. The changes prioritize highlighting return deadlines to improve urgency awareness and streamline the user experience.
Original PR description
improve the styling of the kanban/list view of returns, the checks view and the dashboard card related to the returns. Focus primarily on bringing the deadline more visibility about the urgency. Slighlty clean the templates as well by optimizing divs and classes. task-6082300
2 changes
Enhancements to existing features
This update enhances budget reporting by automatically including asset accounts (current, non-current, and fixed) in budget reports. This provides a more complete financial picture for users who track expenses and budgets related to company assets.
Original PR description
Expand the scope of budget tracking to include asset accounts. Modified the account filtering logic so that when a budget type is set to "Expenses" or "Both", the query includes 'asset_current', 'asset_non_current', and 'asset_fixed' account types. task-5994048 Forward-Port-Of: odoo/enterprise#109496
This update automatically treats new offer start dates within existing contract periods as amendments, creating new contract versions and archiving outdated ones. A warning alerts users to potential replacements, ensuring data accuracy and preventing conflicts. This improves the management of employee contracts and simplifies the versioning process.
Original PR description
**Contract Amendment & Versioning Logic** * When an offer's contract start date falls within an existing contract period, it is treated as a contract amendment (new version) rather than a new…
**Contract Amendment & Versioning Logic** * When an offer's contract start date falls within an existing contract period, it is treated as a contract amendment (new version) rather than a new contract. * For contract amendments, the offer's contract end date is read-only and automatically inherited from the existing contract. * When creating a new offer, any existing versions with effective dates **on or after** the new offer's contract start date are automatically archived, as they likely contain outdated data. * Added a warning to notify users when a new offer will replace existing future versions. **Technical Refactoring** * Simplified the `employee_version_id` computation by delegating to the existing `_get_version` method on the employee model. This ensures the selected employee version correctly matches the contractual state effective at the new offer's * Ensured cache invalidation after rollback savepoints to prevent stale data. The overridden `_get_version` in `hr_contract_salary_payroll` writes to `employee.version_id` and the `contract_template_id`; although rolled back, it polluted the cache. We now always invalidate the cache after rollbacks to avoid inconsistencies, including later module installation. **Simulation & Chatter** * Inside the simulation, when calling `_get_version`, we need to adjust the contract dates of the version being simulated. The main challenge is allocating this simulated version between existing employee versions without creating contract overlaps, since overlaps raise validation errors. * To avoid this issue, we move to a new approach. We archive all versions after `employee.version_id` and set `employee.version_id.contract_date_end = False`. * Then, instead of replacing the active version, we create the simulation version as an amendment to `employee.version_id`. The amendment's effective date is set to `max(fields.Date.today(), employee.version_id.contract_date_start, self.contract_start_date)` + 1 day. This ensures the current version remains unchanged, avoids contract overlaps, and prevents chatter pollution. task: 5408192