Daily updates from Odoo
Sunday, December 14, 2025
6 changes
1 change
Resolved issues and error corrections
This update ensures that manually set currency rates for foreign currency invoices are preserved when the invoice is finalized (posted). Previously, the system automatically replaced these rates with the standard currency rate, leading to incorrect calculations. This fix maintains accurate financial reporting for international transactions.
Original PR description
When creating a customer invoice in a foreign currency, a manually edited currency rate was overridden at posting time with the rate from the currency table. This fix ensures that any manually entered rate is preserved during posting. The problem was that when posting the invoice_date field changes and the function compute_invoice_rate were called. Solution check if it is manually inserted and do not compute the invoice_rate again task-5391774 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#239602 Forward-Port-Of: odoo/odoo#239012
1 change
Resolved issues and error corrections
This update ensures that Luxembourg (`l10n_lu`) companies generating FAIA XML reports for their general ledger correctly include the 'PurchaseInvoices' tag, as required by the latest FAIA specifications. Previously, vendor bills weren't correctly identified, leading to potential reporting issues. This change ensures compliance with Luxembourg tax regulations.
Original PR description
Since version 2.01 of FAIA, it is a requirement to include the `PurchaseInvoices` tag in the FAIA XML. With a `l10n_lu` company: - Create a vendor bill. - In the general ledger, download the FAIA XML report. In the generated XML document, the vendor bill will not appear under `PurchaseInvoices`. The `PurchaseInvoices` section is meant to mirror the `SalesInvoices` section and contains the exact same structure. This PR implements a generic template for both. **Specs and source** (in `FAIA_v2.01_full`): https://pfi.public.lu/dam-assets/backup/FAIA/FAIA/XSD_Files.zip opw-5360572 Forward-Port-Of: odoo/enterprise#101740 Forward-Port-Of: odoo/enterprise#100697
2 changes
Resolved issues and error corrections
This update addresses a requirement in Mexican e-invoicing (CFDI) that prohibits negative line discounts. The change adds a test to verify that negative line amounts are correctly distributed across multiple positive line discounts, ensuring compliance with Mexican regulations. This prevents potential invoicing errors and associated financial issues.
Original PR description
In mexico, you cannot send any negative lines in the CFDI (Mexican e-invoicing). The negative lines are distributed accross the positive ones in _dispatch_global_discount_lines. This test ensures the negative line is well distributed when its amount is higher than the sum of multiple positive lines. Forward-Port-Of: odoo/enterprise#101888
This update enhances the accuracy of tax calculations within the bank reconciliation widget. It prevents accidental tax line deletions, automatically creates tax lines when default taxes are applied, and ensures correct tax recomputation across various scenarios. This improves the reliability of financial reporting.
Original PR description
This commit will do multiple things: - Prevent users from deleting a tax line - Adding default taxes on an account will create a tax line for it - Removing a taxes from a line will recompute the taxes correctly - Removing and adding new taxes will recompute the taxes correctly - Removing a base line that has a tax linked to it will recompute the taxes correctly - Add a simple way for users to delete the tax directly from the ui without going to the edit line button task: 5081786 Forward-Port-Of: odoo/enterprise#102031 Forward-Port-Of: odoo/enterprise#94552
1 change
Resolved issues and error corrections
This update fixes an issue where global discounts on online orders weren't correctly calculating taxes. Now, discounts accurately reflect tax amounts based on the order line items, aligning with standard Point of Sale and Sales tax calculations. This ensures accurate tax reporting and pricing for global discount orders.
Original PR description
Before this commit: --- - When an online order with an order-level (global) discount was placed, the discount line did not properly include tax calculations. After this commit: --- - Global discounts now compute taxes based on the order line taxes. - The discount line includes accurate tax details. - Uses the same standard tax computation flow as in Point of Sale and Sales. task-5047965
1 change
Resolved issues and error corrections
This update corrects an issue related to how fixed taxes are processed in UBL invoices, specifically distinguishing between 'recycling' and 'emptying' tax scenarios. It now allows for more accurate management of tax lines, ensuring greater precision in invoice calculations. This improves compliance and data accuracy for UBL transactions.
Original PR description
This commit contains 2 things: - an helper to extract any tax_data and move it to another base_line - the usage of this helper in UBL to turn emptying taxes into additional base_lines == Add helpers…
This commit contains 2 things: - an helper to extract any tax_data and move it to another base_line - the usage of this helper in UBL to turn emptying taxes into additional base_lines == Add helpers to turn tax_data into new base_lines easily == With this helper, you can now exclude any tax from any base line and turn them into new base lines. Also, I changed a bit the smooth distribution of rounding because the math.ceil is sometimes too greedy and make the whole results to be less accurate. == Make a different behavior between recycling contribution taxes / emptying taxes == In UBL, all fixed taxes are treated as allowances/charges. In this commit, we make a clear distinction between recycling contribution taxes that are treated as allowances/charges and emptying taxes that are exempted of tax and are treated as addition invoice lines in the document. == Fix a small issue with aggregate_function passed to reduce_base_lines_with_grouping_function == The aggregator wasn't called when setting the 'target_base_line' at the very first time. task_id: 5182783 Manual backport of commit: 5abd71a728641c321cab7942c5b69bf8816bcef8 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr