Sunday, October 19, 2025
2 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