Daily updates from Odoo
Friday, October 24, 2025
13 changes
2 changes
Enhancements to existing features
Finnish accounting reports can now generate an export file for tax reporting, making it easier for customers to submit required tax information to the administration. The update also improves automated report export testing to ensure the correct report options are used.
Original PR description
The aim of this commit is adding the tax report export file to allow our customers to send their tax reports to their administration. task-5135868 Forward-Port-Of: odoo/enterprise#97867 Forward-Port-Of: odoo/enterprise#96256
Belgian Point of Sale blackbox messages can now be queued, making interactions faster and more reliable. This helps sales workflows continue smoothly when an immediate blackbox response is not required, such as for pro forma sales messages.
Original PR description
In this commit, we introduce a queuing mechanism for blackbox messages to make all interactions with the blackbox faster and more reliable. This is particularly useful for messages that do not require the response from the blackbox to continue the workflow such as pro forma sales messages. Forward-Port-Of: odoo/enterprise#90747
6 changes
Enhancements to existing features
The Taiwanese localization now provides improved balance sheet and profit and loss reports that better match common local business practices. Older versions of these reports have been deprecated or removed, giving users a cleaner and more relevant reporting experience.
Original PR description
This commit adds new improved accounting reports (balance sheet & profit & loss), providing users with improved reports that aligns better with the common Taiwanese business practices. The old balance sheet and profit & loss reports are depreciated and will be fully removed in later versions. [Task-4915057](https://www.odoo.com/odoo/project.task/4915057) Forward-Port-Of: odoo/enterprise#94443
When a user manually selects an emission factor on an account move line, the system now creates a matching assignment rule for future use. This reduces repeated manual work and helps apply consistent carbon emission tracking for similar product or partner transactions.
Original PR description
Before this commit, when the user assigns an emission factor to an account move line, no assignation rule is created based on that, which means the user has to either manually create an assignation rule into emission factor or each time select that emission factor for the same product/partner set on other account move line. This commit automatically generates an assignation rule into emission factor when the emission factor is manually set into an account move line. By doing that, the user will be able to use the assignation rule to automatically assign that emission factor to other account move lines. task-4933207 Forward-Port-Of: odoo/enterprise#97736
The German tax report has been reorganized after removing the balance column, so the related calculations and report logic continue to work consistently. This helps keep German tax reporting clear and reliable for users without changing the overall reporting purpose.
Original PR description
After removing the balance column, we need to refactor the code that depends on it task-5046641 Forward-Port-Of: odoo/enterprise#97486
The VoIP softphone history view now includes a "More history..." button at the end of the history tab. This makes it easier for users to load and review older calls without changing screens or searching manually.
Original PR description
Task-5178613
Employees' blocked time off can now be deferred to a future payroll period when the current period is locked. This keeps pending leave visible on future payslips and helps payroll teams apply it automatically when an available period exists, with a clear error if no suitable days remain.
Original PR description
In this commit, we introduced the ability to defer blocked time off so that open time off appears in every month, not just the current one. This ensures deferred leaves are visible on the employee's new payslip. - Automatically generate missing work entries and apply the leave in one go - If work entries are locked, move the leave to the next period and apply it - If no unlocked work entries exist until the contract end, raise error 'Impossible to post-pone the time off. There are no available days.' - Display defered timeoff warning message in all future payslips, and not only the current month payslip. Related task: 5126292.
Several Odoo business areas now calculate stored values directly in the database instead of through slower application-side processing. This should improve performance and responsiveness for budgets, follow-ups, reports, databases, and documents without changing day-to-day workflows.
Original PR description
Use the new method to compute directly in SQL. https://github.com/odoo/odoo/pull/221544
4 changes
Enhancements to existing features
This improves the speed of switching a product category between manual and real-time inventory valuation, especially for categories with very large numbers of product variants. In the reported case, a process that previously timed out after more than 15 minutes completed in about 18 seconds, reducing delays for inventory and accounting operations.
Original PR description
Changing a product.category's valuation from manual to real-time or real-time to manual does mainly two things. The first one is emptying the current stock and valuation. The second is to replenish…
Changing a product.category's valuation from manual to real-time or real-time to manual does mainly two things. The first one is emptying the current stock and valuation. The second is to replenish the stock according to the new valuation. This process can be heavy when the number of product.products related to the active product.category is big. This can happen when product.attributes are set to "Creation: Instantly" for instance. This commit aims at improving the overall speed of this change in some cases. A first optimization is to use `product_tmpl_id` to retrieve the `product_variant_ids`. When there are a lot of products, it's faster to explicitely use the delegated field `product_tmpl_id`. This avoids lots of calls to `__getitem`/`__setitem__` in `_compute_related`. The downside of doing this is that subsequent calls to `self.product_variant_ids` are gonna raise a CacheMiss. So we have to explicitely use `product_tmpl_id.product_variant_ids` every time. We argue that it's not really an issue here as retrieving the variant_ids from a product.product itself is not that frequent in the codebase. A second optimization is to avoid calling `product.qty_available` in `_compute_value_svl` in case `avg_cost = 0`. With an avg_cost of 0, the total_value is always going to be 0. So there's no point in calling the heavy compute method `_compute_quantities` to retrieve `qty_available` here. #### speedup In a database with 228 000 product.products linked to the same product.category, the time to switch the category valuation from manual to real-time: +15min (timeout) -> 18s --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#231206
Hong Kong payroll declaration forms now include chatter, allowing users to track discussions and activity directly on the forms. This improves collaboration and record visibility for teams handling payroll declarations.
Original PR description
Based on HK feedback, chatter is added on their declaration forms task:5067386
The German tax report has been reworked after the balance column was removed, ensuring the report logic and tests match the new layout. This helps keep German tax reporting accurate and consistent for businesses using Odoo.
Original PR description
After removing the balance column, we need to refactor the code that depends on it task-5046641
The German tax report has been reorganized to better match the official ELSTER VAT filing structure. This makes the report easier to follow for German businesses and helps align Odoo's tax reporting with expected filing categories.
Original PR description
Rework the structure of the German Tax Report according to the very well detailed structure https://sevdesk.de/ratgeber/buchhaltung-finanzen/ustva/formular-elster/ task-5046641 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
1 change
Enhancements to existing features
Inventory users can now reset cached links between printers and reports directly from the Inventory app. This makes it easier to resolve printer-report assignment issues without navigating through technical IoT settings.
Original PR description
In order to simplify resetting the link between printers and reports in cache, we added the "Reset Linked Printers" button to the Inventory app.