Monday, January 26, 2026
3 changes · saas-18.2
Resolved issues and error corrections
This update fixes an issue where the FedEx rate selection process was failing when the requested currency didn't match the Fedex account settings. The team has implemented a change to consistently use 'PREFERRED' as the rate type, ensuring accurate rate calculations and preventing errors.
Original PR description
Issue ----- Commit 76196c4c5f2ff01354931df6ad615f1b2c4d9a22 introduced logic to select the rate based on the requested currency. This causes problems when the requested currency does not match the…
Issue ----- Commit 76196c4c5f2ff01354931df6ad615f1b2c4d9a22 introduced logic to select the rate based on the requested currency. This causes problems when the requested currency does not match the one set up on the Fedex account, because the 'actualRateType' gets set to payor instead of preferred for the rate's 'rateType', which means `d['rateType'] == rating_result['actualRateType']` is false, so `actual` is empty, leading to an error when doing `actual['totalNetCharge']`. Solution ----- In the request we send, we hardcode `'rateRequestType': ['PREFERRED']` so we can look for a match using 'PREFERRED' as a prefix of `rateType`. The Fedex API lists all possible values of the enum `rateType` https://developer.fedex.com/api/en-us/catalog/ship/v1/docs.html <details> <summary>Enum values as per the API</summary> "enum": [ "INCENTIVE", "NEGOTIATED", "PAYOR_ACCOUNT_PACKAGE", "PAYOR_ACCOUNT_SHIPMENT", "PAYOR_CUSTOM_PACKAGE", "PAYOR_CUSTOM_SHIPMENT", "PAYOR_LIST_PACKAGE", "PAYOR_LIST_SHIPMENT", "PAYOR_RETAIL_PACKAGE", "PAYOR_RETAIL_SHIPMENT", "PREFERRED_ACCOUNT_PACKAGE", "PREFERRED_ACCOUNT_SHIPMENT", "PREFERRED_CUSTOM_PACKAGE", "PREFERRED_CUSTOM_SHIPMENT", "PREFERRED_INCENTIVE", "PREFERRED_LIST_PACKAGE", "PREFERRED_LIST_SHIPMENT", "PREFERRED_NEGOTIATED", "PREFERRED_RETAIL_PACKAGE", "PREFERRED_RETAIL_SHIPMENT", "RATED_ACCOUNT_PACKAGE", "RATED_ACCOUNT_SHIPMENT", "RATED_CUSTOM_PACKAGE", "RATED_CUSTOM_SHIPMENT", "RATED_LIST_PACKAGE", "RATED_LIST_SHIPMENT", "RATED_RETAIL_PACKAGE", "RATED_RETAIL_SHIPMENT", "UNKNOWN" ], </details> There are only 3 possible prefixes: `PAYOR`, `PREFERRED` & `RATED`, so replacing the other 2 by `PREFERRED` should be safe. ----- Ticket: opw-5482949 Forward-Port-Of: odoo/enterprise#105156
This update resolves a bug where the serial number assigned to products in delivery pickings was incorrectly updated, leading to inaccurate inventory tracking. The fix prevents changes to serial numbers when a delivery is in the 'ready' state, ensuring correct inventory management and reporting. This improves data accuracy for stock levels.
Original PR description
Steps to reproduce: - Create a storable product tracked by serial number (e.g. "P1") - Set the quantity on hand to 2 with serial numbers SN1 and SN2 - Create a delivery order - Add any product with available quantity - Mark the delivery as "To Do" -> The picking is in the `ready` state - Add a new move line with product "P1" and assign serial number SN2 -> Before saving, the quantity is correctlyupdated to 1 - Save the delivery Problem The assigned lot/serial number is unexpectedly replaced with 'SN1'. Fix: Do not update or recompute the serial/lot number when creating a move on pickings that are already in the `ready` state. opw-5385993 Forward-Port-Of: odoo/enterprise#105338
This update fixes an issue where the TPAR report incorrectly calculated gross paid amounts for certain vendors, leading to export failures. By including asset_cash accounts in the report calculation, the system now accurately reflects payment amounts and prevents errors, ensuring reliable financial reporting.
Original PR description
Behavior before: Exporting the TPAR report could fail with an error indicating that the GST amount exceeded the gross paid for certain vendors. Some payment lines were excluded from the SQL query,…
Behavior before: Exporting the TPAR report could fail with an error indicating that the GST amount exceeded the gross paid for certain vendors. Some payment lines were excluded from the SQL query, leading to discrepancies in the report. Behavior after: The SQL query has been updated to include all relevant payment lines, including those in asset_cash accounts. This ensures that the gross paid is calculated correctly, allowing the TPAR report to be exported without errors. Root Cause: The previous query only considered asset_current and liability_current accounts, ignoring asset_cash accounts. This omission caused the gross paid amount to be understated relative to the total GST paid. Steps to Reproduce: 1. Create a vendor bill. 2. Navigate to the Bank Reconciliation page (Accounting → Dashboard → Bank Journal). 3. Create a bank statement line for the bill amount. 4. Validate the statement line with the corresponding invoice line. 5. Generate the TPAR report — the payment amount should now be correctly included. OPW: 5148697 Forward-Port-Of: odoo/enterprise#102700 Forward-Port-Of: odoo/enterprise#99874