Daily updates from Odoo
Sunday, October 19, 2025
3 changes · saas-18.4
Resolved issues and error corrections
This fix prevents Odoo from failing during startup when running on Python 3.10 with the supported PDF library version. It avoids checking for a PDF-related capability that may not exist in that environment, restoring compatibility for affected deployments.
Original PR description
On Python 3.10, we require PyPDF2==1.26.0 that doesn't have this attribute. For now, we should ignore it. Description of the issue/feature this PR addresses: We cannot start Odoo in Python 3.10 Current behavior before PR: On https://github.com/odoo/odoo/commit/daf7c285bc82fb875e59c2bc50471d6d7b3aa903 it was added a fix, but it was breaking python3.10 installation. Desired behavior after PR is merged: Odoo works in Python 3.10. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#232247
Project profitability now shows the full expected purchase cost when a purchase order is billed across multiple vendor bills. This gives users a more accurate view of remaining and billed costs, and avoids counting canceled credit notes.
Original PR description
## Issue: When a Purchase Order is linked to a Project and its quantity is billed through multiple vendor bills, the "Expected" amount in the project profitability view was incorrect ## Cause: When…
## Issue: When a Purchase Order is linked to a Project and its quantity is billed through multiple vendor bills, the "Expected" amount in the project profitability view was incorrect ## Cause: When at least one invoice line exists for a PO line, `_get_profitability_items()` computes `to_bill` and `billed` amounts without using the purchase order's ordered quantity This causes the computation to only consider the quantities already billed, ignoring the remaining quantity that still needs to be billed: https://github.com/odoo/odoo/blob/cdb8370647ca4b07f89edaf5fcc687508f6af16d/addons/project_purchase/models/project_project.py#L155-L178 Additionally, the code included all credit notes, even those that were canceled ## Steps to reproduce: - Ensure the "Sales" app is installed to display project profitability - Create a new Project "Profitability" and mark it as Billable - Create and confirm a PO (any product, quantity: 5, unit price: 100, Taxes: None, Other Information > Project: "Profitability") - Check the project dashboard for Purchase Orders (Expected: -500, To Bill: 0, Billed: 0) - Create and confirm a Vendor Bill (Quantity: 2) - Check the project dashboard for Purchase Orders (Expected: -200, To Bill: 0, Billed: -200) - Create and confirm a Vendor Bill linked to the PO using Auto-Complete (Quantity: 3) - Check the project dashboard for Purchase Orders (Expected: -500, To Bill: 0, Billed: -500) opw-5077609 Forward-Port-Of: odoo/odoo#229221
Sales payment validation now avoids skipping required follow-up processing after a transaction is confirmed. This keeps validation emails suppressed where intended while ensuring the rest of the sales confirmation workflow still runs correctly.
Original PR description
Versions -------- - 18.0+ Issue ----- `super` isn't called on `_post_process` for confirmed validation transactions. Cause ----- A fix that prevented the sending of mail for validation transactions added a `continue` in a loop, which skips over the `super` call in the loop. Solution -------- Instead of `continue`, add an `if` check to see if we want to send mail. Forward-Port-Of: odoo/odoo#231972