Daily updates from Odoo
Monday, April 13, 2026
33 changes · master
New functionality added to Odoo
This update introduces the ability to define and manage premium pay categories for employees in Belgium. Specifically, it allows for tracking and calculating additional compensation for night work, Sundays, holidays, team-based bonuses, and miscellaneous overtime, improving payroll accuracy and flexibility.
Original PR description
Task: 6033393
This update introduces support for Iraqi payroll regulations within the Odoo Enterprise system. It includes new data structures, translations, and testing to accurately process payroll calculations according to Iraqi standards. This expansion allows businesses operating in Iraq to leverage Odoo's HR and payroll capabilities.
Original PR description
…data Task: 6059135
This update adds integration with the ZKTeco BioTime attendance system, specifically for Saudi localization. It introduces new models to track attendance records from the BioTime server and automatically processes punch data into HR attendance records. Unmatched attendance records trigger alerts for HR review and are automatically cleaned up after 30 days.
Original PR description
[ADD] l10n_sa_hr_attendance: zkteco biotime Add integration with ZKTeco BioTime attendance system for Saudi localization. Introduce two new models: - zkteco.terminal: represents physical attendance devices synced from the BioTime server - zkteco.transactions: stores raw punch records fetched via the BioTime API and processes them into hr.attendance records Check-out transactions are matched in priority order: 1. Existing open attendance (no check-out) within a configurable lookback period (default 2 days) 2. A check-in from the current processing batch (FIFO) 3. If no match is found, the transaction is left unprocessed and an activity is created for the HR manager to review Processed transaction records are automatically cleaned up after 30 days. Task-4521436
Enhancements to existing features
This update streamlines monthly payroll processing in Belgium by consolidating the structures used for students, PFI (Pension Funds for Individuals), and regular employees. The changes ensure a more consistent and efficient payroll system while adapting to specific Belgian regulations.
Original PR description
Student, PFI and employees will use the same structure, but with adapted rules. task-6051050
This update improves the calculation of provision salary rules for employees in the United Arab Emirates (AE) and Saudi Arabia (SA). These changes ensure accurate payroll processing and compliance with local regulations for these regions.
Original PR description
-Logic has been enhanced for Provision salary rules for AE and SA locs.
This update streamlines the 'End of Collaboration' process for Belgian employees. Instead of manually selecting actions like user deletion or archiving, all actions are now automatically executed on a defined date. This simplifies administration and ensures consistent handling of employee departures.
Original PR description
Improve the UX of the "End of Collaboration" procedure, particularly for Belgium. The option to select which actions are executed upon employee departure (delete user, archive employee, unassign car, etc.) has been removed. All actions are now executed automatically. However, it is still possible to define the date on which they will be applied. Community PR: https://github.com/odoo/odoo/pull/253079 Upgrade PR: https://github.com/odoo/upgrade/pull/9653 task-5958676
This update clarifies the tooltip for the cross-company toggle in Odoo Enterprise, explaining that its behavior depends on the selected companies. The change improves user understanding in both Manual and Automated modes, ensuring consistent and accurate data processing.
Original PR description
The tooltip in the cross-company toggle was unclear and did not properly indicate that its behavior depends on the selected companies. This change updates the tooltip to make it more explicit in Manual and Automated modes. task-6111985
This update enhances the web_studio report creation process by automatically including an address block in newly designed external reports. Previously, this block was not automatically generated. This change improves the presentation of reports by providing a standard location for address information.
Original PR description
When creating a new report with external layout, an address block is created in the report and rendered in html, which was not the case before this commit. task-6072302
Resolved issues and error corrections
This update resolves an issue where Odoo displayed a misleading 'This message has been removed' message in the chatter when an approval request was canceled before a purchase order was created. The fix ensures that chatter messages are only logged when there's actual information to display, improving the user experience and clarity.
Original PR description
Steps to reproduce: ------------------------------------ 1. Install `approvals_purchase` module with demo 2. Approvals > New Request in Borrow Items 3. Create request with any product 4. Click on the Submit button 5. Click on the Cancel button Observation: ------------------------------------ In chatter there's a message stating: 'This message has been removed' Issue: ------------------------------------ When you cancel an approval request that has no purchase orders created yet, the `_log_po_cancellation_to_chatter` method is called with an empty `cancellation_log_msg` string, which causes Odoo to display 'This message has been removed' in the chatter. Solution: ------------------------------------ Only log to chatter if there's actually a message to log opw-6063998 Forward-Port-Of: odoo/enterprise#112454
This update hides provider-specific journals from the accounting dashboard, addressing a previous issue where they cluttered the view. This change simplifies the dashboard, making it easier for users to manage their financial data and improving overall usability. It's a routine improvement to the accounting interface.
Original PR description
**: platform_order, urban_piper In this commit: --- - Journals are created for each provider, which mess the accounting dashboard. - Hide these journals from the dashboard to improve visibility and usability. task-6047042
This update corrects a visual issue in the mobile dark mode of the Customer screen. Previously, secondary buttons within dropdown menus appeared as labels. This change ensures buttons consistently appear as buttons in dark mode, improving the user experience and visual consistency.
Original PR description
In mobile dark mode, the secondary button inside the dropdown menu on the Customer screen appeared as a label instead of a button due to a CSS issue. Task-5945915 Related PR-https://github.com/odoo/odoo/pull/249400 Before | After :-------------------------:|:-------------------------: <img width="393" height="549" alt="image" src="https://github.com/user-attachments/assets/0cc6c433-39c5-45fb-8365-9a526b675379" /> | <img width="385" height="552" alt="image" src="https://github.com/user-attachments/assets/a69486ff-d9b7-4f3c-ad78-6558854bfaed" />
This update enhances the logging of Stripe expense rejections by now including the MCC code alongside the name. This provides more detailed information for troubleshooting and resolving issues related to expense processing, ultimately improving the efficiency of our finance team.
Original PR description
Before this commit: - Only the MCC name was logged when Stripe refused an MCC. After this commit: - The MCC code is now logged along with the MCC name for better clarity and debugging. task-6084569 Forward-Port-Of: odoo/enterprise#112599
This update fixes a visual issue where text and checkboxes related to the mobility budget were misaligned when viewing the employee details. The fix ensures consistent formatting across different screen sizes, improving the user experience and readability of this important information. This change addresses a minor layout problem.
Original PR description
Step to reproduce: play with the width of the window, at some point text splits and item are unaligned. Cause: the text is splitted on 2 lines, which makes it unaligned with the checkbox. Solution: force text on same line using style="white-space: nowrap" and use the new o_input_box_overlay_end for units. Task: 6069017
This update corrects a misleading warning message displayed during payslip generation when contract dates partially overlapped with the payslip period. The change ensures that users can continue generating payslips even with minor overlaps, aligning with the functionality introduced in version 19. This improves user experience and avoids unnecessary alerts.
Original PR description
[FIX] hr_payroll: fix payslip warning bug Bug reproduction: 1 - Select Hong Kong (actually there is nothing about Hong Kong, you can select other companies as well) 2 - Create an employee and make…
[FIX] hr_payroll: fix payslip warning bug
Bug reproduction:
1 - Select Hong Kong (actually there is nothing about Hong Kong, you can select other companies as well)
2 - Create an employee and make its contract from 01-01-2025 to 05-03-2026 (DD/MM/YYYY) format.
3 - Generate payslip for March, the warning of "The period selected does not match the contract validity period" popups.
4 - But we do not want that, even though there is 1 overlapping day in contract with payslip we can continue.
Bug cause:
1 - In >= v.17 (not in v.19), there was a warning, when the contract dates do not fully contains the payslip dates, the warning was appearing.
2 - In v.19 it is not the case, when there is a contract that overlaps at least one dat of the payslip then we are fine, if no overlap then no contract on payslip warning should appear
Bug solution:
1 - I replaced old warning "The period selected does not match the contract validity period" with the one in v.19 "No running contract over payslip period"
Tests:
1 - There was a unit test about old warning (test_payslip_warnings), I changed that parts.
2 - I added further steps to the existing test about the new warning that should appear (No running contract over payslip period)
Note: Implemented feature: need to check what happens after v.17, should be removed in v.19 latest, maybe before as well.
task - 6006693
Forward-Port-Of: odoo/enterprise#109791This update resolves a technical problem that was preventing our payroll performance tests from running correctly. The change ensures that time off types are properly initialized during test setup, restoring the test suite's functionality without impacting normal business operations.
Original PR description
Description of the issue this commit addresses: A constraint forbids changing requires_allocation on time off types once related leaves exist. The payroll performance test setup still toggled that field directly so the class crashes during initialization. --- Desired behavior after this commit is merged: This commit makes the performance test setup update seeded time off types in install context. The class initializes correctly again and the broken payroll test suite runs without changing normal business behavior. --- runbot-240729 Forward-Port-Of: odoo/enterprise#110821
This update allows HR administrators to designate specific leave types (like vacation or personal time) as selectable for time off reporting. Previously, certain leave types weren't visible within the holiday schedule Gantt chart, making it difficult to accurately track employee time off. This change enhances reporting and provides a more complete view of employee availability.
Original PR description
task-6089849
This update standardizes how time is recorded within Odoo Enterprise by renaming 'work entry type' and 'time off type' to 'time type'. This resolves previous inconsistencies that caused confusion and improved data accuracy for employee time tracking and payroll calculations.
Original PR description
Previously, time off types were generating hr.leave.request records while still being exposed as work entry types, leading to inconsistencies across the system. In this commit, renaming: work entry type -> time type time off type -> time type Task-5976238
This update resolves an issue where the HSBC Net file export was generating incorrect data due to a problem with binary field handling. The fix ensures the export produces accurate data, and the test case has been updated to reflect this change.
Original PR description
Following recent changes on binary fields, the hsbcnet export was writing binary data into the txt file, making the export incorrect. This fixes the issue and update the test in a way where it doesn't pass even though the export was wrong. task-6104863
This update fixes a misleading warning in the payroll system that appeared when payslips overlapped slightly with employee contract dates. The change ensures the system correctly handles overlapping periods, preventing unnecessary warnings and improving user experience. This resolves a previous inconsistency between versions 17 and 19.
Original PR description
Bug reproduction: 1 - Select Hong Kong (actually there is nothing about Hong Kong, you can select other companies as well) 2 - Create an employee and make its contract from 01-01-2025 to 05-03-2026…
Bug reproduction:
1 - Select Hong Kong (actually there is nothing about Hong Kong, you can select other companies as well)
2 - Create an employee and make its contract from 01-01-2025 to 05-03-2026 (DD/MM/YYYY) format.
3 - Generate payslip for March, the warning of "The period selected does not match the contract validity period" popups.
4 - But we do not want that, even though there is 1 overlapping day in contract with payslip we can continue.
Bug cause:
1 - In >= v.17 (not in v.19), there was a warning, when the contract dates do not fully contains the payslip dates, the warning was appearing.
2 - In v.19 it is not the case, when there is a contract that overlaps at least one dat of the payslip then we are fine, if no overlap then no contract on payslip warning should appear
Bug solution:
1 - I replaced old warning "The period selected does not match the contract validity period" with the one in v.19 "No running contract over payslip period"
Tests:
1 - There was a unit test about old warning (test_payslip_warnings), I changed that parts.
2 - I added further steps to the existing test about the new warning that should appear (No running contract over payslip period)
Last Test Update:
1 - I noticed that contract date changes was not affecting the warning appearance directly
2 - Unit test is expanded with contract date change and observing the warning appearance
Note: Implemented feature: need to check what happens after v.17, should be removed in v.19 latest, maybe before as well.
task - 6006693
Forward-Port-Of: odoo/enterprise#113566
Forward-Port-Of: odoo/enterprise#112758This update fixes a confusing error message when using system alias emails in sign requests, which previously caused the application to crash. Now, users receive a clear 'Invalid email address' message, improving the user experience and making the sign process more reliable. The change includes a new check and test to ensure proper functionality.
Original PR description
Before this commit, using a system alias email (like a catchall address) as a signer in a sign request would crash with a confusing ValidationError about an "empty partner", making it hard to understand what went wrong. The error message also had a grammar mistake ("request's").
After this commit, a clear UserError saying "Invalid email address. Please try another one." is raised instead. A check using `_find_aliases` was added and also a test to cover the fix.
task-5904159This update ensures that account moves are automatically created when closing a POS session containing Urban Piper future orders (orders with a delivery date). Previously, these orders were excluded, preventing proper accounting record generation. This change improves financial reporting accuracy for orders processed through the Urban Piper integration.
Original PR description
Before this commit, when all orders coming from Urban Piper in a POS session are paid future orders (i.e. have a delivery_datetime), closing the session would not generate an account move. The cause was that the code was excluding future orders when creating the account move. The fix is to exclude only unpaid orders instead. How to reproduce: - Set up Urban Piper (a test account needed). - Place an order from the Urban Piper platform. - Receive the order, accept it, and mark it as ready. - Close the session. - The session will not have an account move. opw-5995985 Forward-Port-Of: odoo/enterprise#113092 Forward-Port-Of: odoo/enterprise#111137
This update fixes a potential issue in the account reports module's testing process. By using Python objects instead of string IDs in assertions, the tests are now more reliable and less prone to errors when comparing data. This ensures the accuracy of financial reporting.
Original PR description
Steps to reproduce: - create a test using the assertLinesValues using two lines having the same id. Forward-Port-Of: odoo/enterprise#112569
This update fixes a problem where invoices sent to the Colombian DIAN tax authority would incorrectly be marked as duplicates and rejected. The fix prevents a rollback process from triggering when the DIAN GetStatus endpoint fails, ensuring invoices are correctly accepted by DIAN and preventing duplicate submissions.
Original PR description
Steps to reproduce:
- Send a Colombian DIAN invoice (SendBillSync flow)
- Simulate a non-200 response from the DIAN GetStatus endpoint during the call of _get_attached_document (see ticket)
Issue:
The invoice is accepted by DIAN but the state is never written. When trying to send the invoice a second time DIAN rejects the invoice as a duplicate (already submitted).
Cause:
`_get_response_history` returns `("", error_msg)` on non-200 status_code and when calling `_get_attached_document`
-> error and rollback and `invoice_accepted` is not written correctly
opw-5919395
Forward-Port-Of: odoo/enterprise#111349
Forward-Port-Of: odoo/enterprise#111186This update resolves an issue where the 'Results Brought Forward' line on the Luxembourg balance sheet displayed incorrect values. The fix adjusts how the system calculates this line to accurately reflect year-end adjustments related to profit and loss, ensuring financial reporting accuracy for Luxembourg companies.
Original PR description
… sheet Steps to reproduce: - Use a Luxembourg company - Post a P&L result for the year and do the year-end affectation (Dr 142 / Cr 1412) - Open the Luxembourg balance sheet (full or abbreviated)…
… sheet
Steps to reproduce:
- Use a Luxembourg company
- Post a P&L result for the year and do the year-end affectation (Dr 142 / Cr 1412)
- Open the Luxembourg balance sheet (full or abbreviated)
Issue:
Line "V. Profit or loss brought forward" shows incorrect values.
Cause:
The `accounts` expression for that line used `account_codes` engine with formula `-14`, which only sums accounts by code prefix. Account 1412 ("Results brought forward (assigned)") was typed as `equity`, so its balance was carried forward as an initial balance instead of being captured as retained earnings in the formula.
Solution:
- Set account 1412 to `equity_unaffected`, consistent with account 142.
- Change the `accounts` expression of Line V in both the full and abbreviated balance sheet to use the `domain` engine: `['|', ('account_id.code', '=like', '14%'), ('account_id.account_type', '=', 'equity_unaffected')]` with subformula `-sum`. This correctly captures the balance of all 14x accounts and any `equity_unaffected` accounts, which covers the standard year-end affectation workflow.
opw-5883505
Forward-Port-Of: odoo/enterprise#111328This update fixes an issue where Odoo incorrectly consumed stock from the wrong location when scanning serial numbers on Manufacturing Orders. The fix ensures the correct warehouse location is used, preventing stock discrepancies and improving order fulfillment accuracy. This resolves a potential error impacting inventory management.
Original PR description
Steps to reproduce: - Create a Manufacturing Order with a serial-tracked component. - Open the Shop Floor. - Scan the serial number barcode to register the component. - Observe which location the component was consumed from. Issue: When a product is received from a vendor, Odoo creates two quants for the same serial number — one at Partners/Vendors location and one at WH/Stock location. Because get_quant_from_barcode searched for a matching serial number with no location filter, it returned whichever quant had the lowest database ID — which was always the Partners/Vendors or Production quant created first — instead of the correct WH/Stock quant. Solution: Prevent selecting a quant from an incorrect location when multiple quants exist for the same serial number, as this can lead to consuming stock from the wrong location. opw-5974474 Forward-Port-Of: odoo/enterprise#113442 Forward-Port-Of: odoo/enterprise#112691
This update corrects a bug where payments for invoices paid within 30 days (PUE) were incorrectly sent to the Mexican tax authority (CFDI). The fix disables a feature that allowed this, ensuring compliance and preventing inaccurate reporting. This resolves an issue impacting Mexican businesses using Odoo Enterprise.
Original PR description
Issue: Sending PUE payments to CFDI/SAT is no more suitable Step to reproduce: - In a Mexican company - Create an invoice (Invoice A) - Add a line - Set Payment Terms to "Immediate payment" - Confirm…
Issue: Sending PUE payments to CFDI/SAT is no more suitable Step to reproduce: - In a Mexican company - Create an invoice (Invoice A) - Add a line - Set Payment Terms to "Immediate payment" - Confirm - Duplicate (Invoice B) - Confirm - Duplicate again (Invoice C) - Set Payment Terms to "30 days" - Confirm - Go to Invoice A - Pay it. It should appear as "Paid" - Send it to CFDI - Go to Accounting > Customer > Invoices - Select Invoice B and C - Pay and select the "Group Payments". They should appear as paid. - In every invoice, click the "Update Payment" button Current behavior: - In Invoice A -> Sheet CFDI: A button "Force CFDI" allow sending the payment to CFDI - In Invoice B/C -> sheet CFDI: Click on the "Download" part of the Payment line, the XML that was sent to CFDI include both invoice B and C Expected behavior: - It shouldn't be possible to send payment for invoice A to CFDI. - Payment for invoice B shouldn't be sent to CFDI Cause: Payment for invoice paid in less than 30 days, referred as PUE, shouldn't be sent to CFDI. Solution: Disable the force sending to CFDI About tests: l10n_mx_edi_cfdi_invoice_try_update_payments already send payment to CFDI for PPD invoices. Calling action_force_payment_cfdi was pointless and causing a mess. opw-5381600 Forward-Port-Of: odoo/enterprise#109561 Forward-Port-Of: odoo/enterprise#104628
This update simplifies the synchronization wizard by reducing overwhelming error messages for users. Instead of detailed error lists, the wizard now provides a summary count of problematic databases. Error details are now logged in a separate location for technical review, minimizing user alarm and improving the overall workflow.
Original PR description
This commit reduces the verbosity of error messages displayed in the synchronization wizard to avoid creating an unnecessary sense of alarm for users. Instead of showing a detailed list of errors,…
This commit reduces the verbosity of error messages displayed in the synchronization wizard to avoid creating an unnecessary sense of alarm for users. Instead of showing a detailed list of errors, the wizard now displays a single summary message indicating the number of databases that encountered an issue. A new Unreachable project tag is introduced (loaded from project_tags.xml if missing). It is automatically assigned to failing databases and removed upon the next successful synchronization. Detailed error information is no longer shown in the wizard and is instead logged in the chatter of the corresponding database settings for further inspection. Previously displayed non-blocking warnings for already-configured SaaS databases are now omitted to reduce noise, as they would otherwise generate chatter messages at each synchronization. Task-id: [5945269](https://www.odoo.com/odoo/project.task/5945269) Forward-Port-Of: odoo/enterprise#113617 Forward-Port-Of: odoo/enterprise#107975
This update fixes an issue where duplicate checks were being triggered during tax return generation, leading to error messages. The change ensures that only one 'draft entries' check is run, streamlining the return generation process and preventing unnecessary errors. This improves the reliability of tax reporting.
Original PR description
Steps to reproduce:
- Go to Accounting → Configuration → Accounting → Return Types.
- Open the standard Annual Closing: Corporate Tax return type.
- Select Generic Tax Report as a report in the Report field.
- Navigate to Accounting → Accounting → Closing → Tax Returns.
- Generate the tax return for the selected period.
Issue:
- Duplicate checks with code check_draft_entries are created for the same return, raising:
'You can only have a unique check code for each return.'
This happens because:
- `_check_suite_common_vat_report` adds a Draft entries check.
- `_check_suite_annual_closing` also adds a similar check (No draft entries) with the same code.
- Both run together, causing duplication.
Solution:
- Added `check_codes_to_ignore.add('check_draft_entries')`
in _check_suite_common_vat_report to ensure the check is not generated twice.
opw-6066030
Forward-Port-Of: odoo/enterprise#113393This update resolves an issue where upgrading to a newer version of Odoo would fail if a previously deleted company folder was still referenced. The fix ensures that inactive folders are properly handled during the upgrade process, preventing errors and maintaining data integrity.
Original PR description
While embedding sign into predefined folders we need to consider if they are active or not. Otherwise during…
While embedding sign into predefined folders we need to consider if they are active or not. Otherwise during [upgrade](https://github.com/odoo/upgrade/blob/master/migrations/documents_sign/saas%7E19.2.1.0/post-migrate.py) to `saas~19.2` with module `documents_sign` installed, it will try to get document actions of predefined folder [here](https://github.com/odoo/enterprise/blob/6d334a17d10faec33d60f4a8d7d263c091bb456e/documents/models/documents_document.py#L1592), so if the folder is inactive it will not be able to read the folder [here](https://github.com/odoo/enterprise/blob/6d334a17d10faec33d60f4a8d7d263c091bb456e/documents/models/documents_document.py#L1494).
Steps to reproduce:
1/ Install `documents_sign` in 19.0
2/ Delete the folder `Legal` (documents.document_legal_folder)
3/ Upgrade to `saas~19.2`
As result we will get traceback similar to this:
```
2026-03-19 16:17:50,553 4059246 INFO test_documents_sign odoo.modules.migration: module documents_sign: Running migration [saas~19.2.1.0>] post-migrate
2026-03-19 16:17:50,593 4059246 WARNING test_documents_sign odoo.modules.loading: Transient module states were reset
2026-03-19 16:17:50,594 4059246 ERROR test_documents_sign odoo.registry: Failed to load registry
2026-03-19 16:17:50,594 4059246 CRITICAL test_documents_sign odoo.service.server: Failed to initialize database `test_documents_sign`.
Traceback (most recent call last):
File "/home/odoo/src/odoo/saas-19.2/odoo/service/server.py", line 1598, in preload_registries
registry = Registry.new(dbname, update_module=update_module, install_modules=config['init'], upgrade_modules=config['update'], reinit_modules=config['reinit'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/odoo/src/odoo/saas-19.2/odoo/tools/func.py", line 65, in locked
return func(inst, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/odoo/src/odoo/saas-19.2/odoo/orm/registry.py", line 202, in new
load_modules(
File "/home/odoo/src/odoo/saas-19.2/odoo/modules/loading.py", line 465, in load_modules
load_module_graph(
File "/home/odoo/src/odoo/saas-19.2/odoo/modules/loading.py", line 231, in load_module_graph
migrations.migrate_module(package, 'post')
File "/home/odoo/src/odoo/saas-19.2/odoo/modules/migration.py", line 220, in migrate_module
exec_script(self.cr, installed_version, pyfile, pkg.name, stage, stageformat[stage] % version)
File "/home/odoo/src/odoo/saas-19.2/odoo/modules/migration.py", line 257, in exec_script
mod.migrate(cr, installed_version)
File "/home/odoo/src/upgrade/migrations/documents_sign/saas~19.2.1.0/post-migrate.py", line 7, in migrate
_post_init_hook(util.env(cr))
File "/home/odoo/src/enterprise/saas-19.2/documents_sign/__init__.py", line 40, in _post_init_hook
folders_to_process._embed_action(sign_action.id)
File "/home/odoo/src/enterprise/saas-19.2/documents/models/documents_document.py", line 1621, in _embed_action
folder.action_folder_embed_action(folder.id, action_id)
File "/home/odoo/src/enterprise/saas-19.2/documents/models/documents_document.py", line 1592, in action_folder_embed_action
return self.get_documents_actions(folder_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/odoo/src/enterprise/saas-19.2/documents/models/documents_document.py", line 1496, in get_documents_actions
raise UserError(_('This folder does not exist or is not accessible.'))
odoo.exceptions.UserError: This folder does not exist or is not accessible.
```
For fixing the issue we skip inactive folders.
tbg-2508
Forward-Port-Of: odoo/enterprise#111339This update fixes a potential issue where work entry types were incorrectly selected across different countries, leading to inaccurate payroll calculations and leave allocations. The changes enforce country-specific work entry types based on the company and employee context, ensuring accurate and reliable payroll processing across all localized versions of Odoo.
Original PR description
Forward-Port-Of: odoo/enterprise#113290
This update fixes a visual inconsistency in the Odoo Enterprise subscription interface. Specifically, the 'Recurring Plan' and 'Until' display labels are now aligned and share the same width for a cleaner and more user-friendly experience. This improves readability and overall presentation.
Original PR description
Go to Subscription and open a subscription. => "Recurring Plan" & "Until" should share the width and be on the same line. task-6033618
This update fixes an issue where the amount for Danish balance sheet reports wasn't displayed correctly when certain report settings were enabled. The update simplifies report generation to use account sublines, ensuring accurate reporting and aligns with Danish accounting practices. It also includes updated Danish translations.
Original PR description
We updated the Danish balance sheet and profit and loss reports to reflect the changes in the Danish chart of accounts and common practice in Danish accounting. We also simplified the reports to use the accounts themselves as sublines instead of having a separate report line for each account. Finally we made sure we use the official Danish translations and updated the English translations as well. task-5929517 Related: https://github.com/odoo/odoo/pull/256541 Forward-Port-Of: odoo/enterprise#113285 Forward-Port-Of: odoo/enterprise#112430
This update enhances the user experience within the Odoo form editor by adding padding to the grouping of fields. Previously, these groups were difficult to see and access. This change improves clarity and usability for users creating and editing forms.
Original PR description
Before this commit, and consequently to odoo/enterprise#8489b760dd601d2a5196c8323eb0e1929c0f2132 the "groups" in the form editor were not easily visible or accessible because they lacked some padding. After this commit, we reintroduce some padding. task-6072333 Forward-Port-Of: odoo/enterprise#112439