Wednesday, December 24, 2025
7 changes · 19.0
Enhancements to existing features
This update adjusts financial reports for Mexico (l10n_mx_reports_closing) to accurately reflect equity balances when initial balances are excluded. The changes also simplify the process for customizing how undistributed lines are handled, making future adjustments easier. This ensures more precise financial reporting for Mexican operations.
Original PR description
Following the changes introduced in odoo#240742 and in enterprise#95062, this commit adapts the l10n_mx_reports_closing tests, as the equity_unaffected account amounts change if include_initial_balance = False. This commit also moves the domain logic for the Undistributed Line to a dedicated function, making it simpler to customize this behavior if needed. no-task
Resolved issues and error corrections
This update resolves an issue where tax mappings weren't correctly set when upgrading to version 19.0, leading to errors during session closing with Fiskaly. The fix ensures accurate data transmission to Fiskaly, particularly when company names or cash move reasons contain hyphens, preventing transaction failures.
Original PR description
Steps to reproduce: ------------------------- - Upgrade from lower version to 19.0 or higher. - Start a fiskaly registered company's session. - Close the session after transactions. Issue: ------- -…
Steps to reproduce:
-------------------------
- Upgrade from lower version to 19.0 or higher.
- Start a fiskaly registered company's session.
- Close the session after transactions.
Issue:
-------
- Tax mapping used to send data to fiskaly is not set.
- If have `-` in company name or cash move reason and try to do cash move will give a tb.
Cause:
---------
- When the user's database is upgraded, the taxes already exist and the company is already registered. As a result, `l10n_de_vat_export_data` is never set, and since no tax changes occur, `l10n_de_vat_definition_export_identifier` is also not generated. This leads to incorrect values being sent to Fiskaly during the session closing request, causing errors.
- The cash statement name uses - as a separator, the current structure is `{session_name}-{move_type}-{statement_type}-{move_reason}` set from `_prepare_account_bank_statement_line_vals()` If move_reason or company name contains additional `-` splitting the whole name breaks the expected structure.
Fix:
-----
- We have added a check to identify any taxes that are missing their tax mapping If such taxes are found, we filter them and trigger the logic to set their mappings. However, if the main mapping reference value l10n_de_vat_export_data is not set, we first retrieve and update it. Once this reference is available, we update all taxes that were previously unset and then prepare the correct tax data.
As a result, the first session closing after the upgrade will automatically correct all issues both for customers who have already upgraded and for those who upgrade in the future.
- We first remove the `{session_name}-` prefix, then split the rest. Since move_type and statement_type never contain -, we take them directly not user inputs, and then rejoin everything from index 2 onward to reconstruct the correct move_reason.
Additional fixes:
--------------------
- Some places the limit of characters may exceed than what fiskaly is asking than it can give us an error so restricted all places where needed.
- We don't have check if the settlement is present if not getting id directly may cause error.
help ticket: 5362897, 5367425This update resolves an issue with the processing of payroll data (DDP) within the Belgian HR payroll module. The fix ensures accurate calculations and reporting related to employee salaries, improving the reliability of payroll processing. This update primarily impacts the accounting and HR functionalities.
This update fixes an issue where deferred accounting for misc entries wasn't correctly identifying the appropriate account type. The change now analyzes each deferred line individually, ensuring deferrals align with the actual account type of the line, leading to more accurate financial reporting. This improves the reliability of deferred accounting processes.
Original PR description
The commit 42f823d6b8aa3d1cd171ae1603549ee95fc9d0f0 allows to use deferred on misc entries. However, there are many places in the code that were not updated. Usually they were in the form of `if move_type is sale, then deferred_type = income, else expense`. However we cannot rely on the move_type anymore for misc entries, because it will always take the `else` branch of the condition. Instead, if we have a misc entry, we should rely on the account type of the line that is being deferred, so we have more granularity. For this, we now compute the deferral account/journal for each line, and not per move. The logic inside the computation remains the same. Steps to reproduce: 1. Create a misc entry with two deferred lines (one expense, one revenue) 2. Post it 3. Check the generated deferrals, they all use the same deferred account and journal even though we have different account types opw-5194305 Forward-Port-Of: odoo/enterprise#100295
This update restores the ability to generate negative overtime (undertime) in attendance records. Previously removed to avoid financial losses, this feature is now re-enabled based on specific Absence Management settings, ensuring accurate time tracking and reporting for our clients.
Original PR description
…time generation
This update resolves an issue where the control panel's 'Select All' button only processed the first 40 files uploaded. Now, all selected documents – regardless of the number – are correctly included when performing actions like duplication or deletion. This ensures consistent and reliable functionality for managing large document sets.
Original PR description
Steps to Reproduce =================== 1. Upload more than 40+ files in a folder. (One page displays upto 40 docs) 2. Use the checkbox to select all files on the page (this selects only 40 files) 3.…
Steps to Reproduce =================== 1. Upload more than 40+ files in a folder. (One page displays upto 40 docs) 2. Use the checkbox to select all files on the page (this selects only 40 files) 3. Click the 'Select All' button in the control panel to select all 40+ files. 4. Now, try duplicating or moving them to the trash. => Only the first 40 selected files (on the single page) are considered for action, not all the selected files. Technical ========== For documents control panel action we have custom handling for selecting records and executing action. We use `model.root.selection` which only consider records in current page, case of select all records from other pages is missed here. After this PR ================== - All selected records are considered for the actions - Added custom `getResIds` method to get filtered `resIds` as per domain. Note: `getResIds` in DynamicList doesn't have custom domain feature so create our own as per use case Task-4700841 Forward-Port-Of: odoo/enterprise#100791 Forward-Port-Of: odoo/enterprise#87634
This update fixes an issue preventing payment lines from being printed on Italian POS receipts. The problem stemmed from a configuration error that was consistently causing the payment information to be missed. This change ensures that all payment details are accurately included on the Italian fiscal receipts, resolving a critical functionality gap.
Original PR description
Currently payment lines are not sent to the italian printer. Steps to reproduce: ------------------- * Install l10n_it_pos * Switch to italian company * Set up italian printer for a shop * Make an order and pay it * Print italian receipt > Observation: no matter the payment used it is not sent to the italian printer Why the fix: ------------ This condition is currently always true: https://github.com/odoo/enterprise/blob/41e9fcd162cd51f93c98a0f0f6922d5faaf8914d/l10n_it_pos/static/src/app/documents/fiscal_document/body/body.xml#L27-L29 because `this.priceIncl` is always undefined. Therefore we would never use the payment lines: https://github.com/odoo/enterprise/blob/41e9fcd162cd51f93c98a0f0f6922d5faaf8914d/l10n_it_pos/static/src/app/documents/fiscal_document/body/body.xml#L30-L36 opw-5428027