Daily updates from Odoo
Sunday, October 19, 2025
7 changes
2 changes
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
1 change
Resolved issues and error corrections
This fix prevents Odoo from failing at startup when running on Python 3.10 with the supported PDF library version. It safely skips a missing PDF-related attribute so affected installations can launch normally.
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
1 change
Resolved issues and error corrections
Swiss payroll batch generation now works correctly for users operating across multiple companies. This prevents access-related interruptions when creating pay runs, helping payroll teams process salaries reliably in multi-company setups.
Original PR description
Forward-Port-Of: odoo/enterprise#97503
1 change
Resolved issues and error corrections
This fix prevents Odoo from failing during startup on Python 3.10 when an older PDF library lacks a newer attribute. It restores compatibility for deployments using the supported Python 3.10 setup.
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
2 changes
Resolved issues and error corrections
This fixes a startup problem that could prevent Odoo from running on Python 3.10. The PDF tooling now avoids relying on a library detail that is not available in the required Python 3.10 dependency version.
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
The project sharing customer preview now matches what portal customers actually see when billing is based on validated timesheets. This prevents draft or unvalidated timesheet entries from appearing in the preview, reducing confusion and helping staff verify the customer-facing view accurately.
Original PR description
### Issue: Due to this issue, in the project sharing, the customer preview doesn't reflect the actual behaviour of the portal view. It shows non-validated timesheets even if invoicing policy is…
### Issue: Due to this issue, in the project sharing, the customer preview doesn't reflect the actual behaviour of the portal view. It shows non-validated timesheets even if invoicing policy is validated timesheets only. #### To reproduce: 1- Create a db with sale_project and sale_timesheet_enterprise 2- Configure invoicing policy to validated timesheets only 3- Create a service product: - Create on Order: Project & Task - Invoicing policy: Based on Timesheets 4- Create a Quotation for the product and confirm it 5- Open project from smart button 6- Share project with a portal user with Edit access 7- Open tasks, and add two timesheets to the task 8- Open timesheet app, and validate one of the timesheets 9- From project page, click on Customer preview 10- In preview, open the task. You can see both timesheets which is a different behaviour if you view the project using portal user. Using portal user, only validated timesheets are shown. ### Cause: The timesheets are filtered here to only show validated timesheets: https://github.com/odoo/enterprise/blob/8223ed0765c6064b88280656a5ab6b13ca9a431f/sale_timesheet_enterprise/models/project_task.py#L73-L91 However, it is filtered only if user is portal. In customer preview the user is still the internal user, as a result the timesheets will not be filtered. To fix that we can check if project_sharing_id exist in context to filter timesheets. opw-5093339