Daily updates from Odoo
Navigate
Branch
Sunday, August 3, 2025
6 changes
2 changes
Resolved issues and error corrections
Very small negative values that round to zero now display as 0.00 instead of -0.00. This avoids confusing negative-looking amounts in Luxembourg electronic reports and keeps displayed figures aligned with expected financial presentation.
Original PR description
float_repr(-0.00000001, 2)
formatFloat(-0.00000001, { digits: [16, 2] })
Before: "-0.00"
After: "0.00"
opw-4685953
Forward-Port-Of: odoo/enterprise#91081
Forward-Port-Of: odoo/enterprise#90992This fix restores previously commented-out code in the UrbanPiper point-of-sale integration. It helps ensure the integration continues working as intended after an earlier automated merge removed or disabled needed logic.
Original PR description
After this commit: - Code is been restored which was merged in the fw-bot PR Ref PR : https://github.com/odoo/enterprise/pull/91578/files Forward-Port-Of: odoo/enterprise#91583
4 changes
Resolved issues and error corrections
The French point of sale audit report now processes large order histories much faster by reading only the data needed for its integrity checks. This reduces delays and memory pressure for businesses with high POS order volumes while keeping the same tamper-checking purpose.
Original PR description
### Problem: Pos inalterability Check report is specific to French localization. It verifies whether POS orders have been modified by computing a hash of the order data and comparing it to the previously stored hash. _compute_string_to_hash method is computationally expensive and leads to significant performance and memory issues when processing more than 50,000 orders. ### Benchmark Before: | Orders | Time | Memory | |--------|---------|--------| | 1k | 15s | 10MB | | 10k | 77s | 81MB | | 20k | 102s | 110MB | | 40K | timeout | 256MB | After: | Orders | Time | Memory | |--------|------|--------| | 1k | 5s | 7MB | | 10k | 9s | 42MB | | 40K | 20s | 174MB | | 100k | 42s | 550MB | | 330k | 126s | 1.2GB | ### Solution: Fetching only required fields to compute _compute_string_to_hash opw-4901994 Forward-Port-Of: odoo/odoo#221040 Forward-Port-Of: odoo/odoo#217348
Italian electronic invoicing now preserves the document type selected by the user when sending reverse charge tax integrations for vendor credit notes. This ensures credit notes are reported with negative amounts, preventing them from being mistaken for additional vendor bills.
Original PR description
When tax integrations are sent from a credit note (of a vendor bill) they should have a negative value, as it is the reversal operation. However, currently the amounts are positive, so it appears to…
When tax integrations are sent from a credit note (of a vendor bill) they should have a negative value, as it is the reversal operation. However, currently the amounts are positive, so it appears to be a second Bill rather than its reverse. **Steps to reproduce (with an IT Company)** - Create a non-eu [PARTNER] with complete address and VAT - Create a Vendor Bill with: - Partner: [PARTNER] - Electronic Invoicing > Document Type set to TD18 - A line having Reverse charge tax (ie. 22% G RC) - Confirm and send tax integration - Reverse move - Ensure the document type is set to TD18 as well - Confirm and send tax integration - Check the generated xml **Issue** Credit note tax integration will have a positive amounts, while being a credit note it should have negative amounts This occurs because when generating the xml, the document type is recomputed from the invoice features, even if the user set it manually Ticket [link](https://www.odoo.com/odoo/project/967/tasks/4788529) opw-4788529 Forward-Port-Of: odoo/odoo#220878
The CRM dashboard shortcut for Lead/Opportunities no longer crashes when opened from the Activities menu in developer mode. This keeps sales teams from hitting an error when navigating to leads and opportunities from the dashboard.
Original PR description
Steps: - Install `crm` - Enable dev mode - Dashboard -> Activities icon -> Lead/Opportunitiess - Traceback This is simply due to the fact that the withsearch props indicate that they want to receive an array of strings or arrays, whereas the crm patch overrides the action domain by keeping the “Domain” type, which is an object and not an array. One solution is to use `.toList()` on the domain to convert it into a 2d array. linked pr: https://github.com/odoo/enterprise/pull/91521 opw-4979173 Forward-Port-Of: odoo/odoo#221525
The CRM dashboard shortcut for Leads and Opportunities could crash when opened from the Activities icon in developer mode. This fix ensures the shortcut uses the expected data format, restoring access and preventing an avoidable interruption for CRM users.
Original PR description
Steps: - Install `crm` - Enable dev mode - Dashboard -> Activities icon -> Lead/Opportunitiess - Traceback This is simply due to the fact that the withsearch props indicate that they want to receive an array of strings or arrays, whereas the crm patch overrides the action domain by keeping the “Domain” type, which is an object and not an array. One solution is to use `.toList()` on the domain to convert it into a 2d array. linked pr: https://github.com/odoo/odoo/pull/221525 opw-4979173 Forward-Port-Of: odoo/enterprise#91521