Wednesday, July 1, 2026
8 changes · saas-19.4
Enhancements to existing features
The Inventory at Date wizard now opens the full stock report interface instead of a basic product list. This gives users the same search tools, action buttons, and stock details they already have when viewing current inventory, making past-date stock checks easier and more consistent.
Original PR description
## Summary Minimal alternative: make the "Inventory at Date" wizard open the same rich stock report view instead of the basic one. ### Problem The wizard opens `stock.view_stock_product_tree` (basic…
## Summary Minimal alternative: make the "Inventory at Date" wizard open the same rich stock report view instead of the basic one. ### Problem The wizard opens `stock.view_stock_product_tree` (basic product list) instead of `stock.product_product_stock_tree` (full stock report with action buttons and search panel). ### Solution Change the wizard's `open_at_date()` to use the stock report view and its associated search view. The wizard flow is preserved — this is purely a view swap. ### Changes - `stock_quantity_history.py`: Changed `tree_view_id` from `view_stock_product_tree` to `product_product_stock_tree`, added `search_view_id` for the stock report search view ### Alternative See #263507 for a more integrated approach that replaces the wizard entirely with a date picker in the search panel. [Task #6152466](https://www.odoo.com/odoo/rd-fun-logistics-966/6152466) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#263509
This change lets operators adjust how long idle database connections stay open instead of using a fixed 10-minute limit. It helps systems with limited memory free unused connections sooner, improving stability and resource usage.
Original PR description
In memory-scarce environments, the default 10-minute idle timeout may keep too many backend connections alive. Allow operators to override it via the ODOO_DB_MAX_IDLE_TIMEOUT environment variable to evict idle connections more aggressively. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#271785
Invoices sent outside KSeF now include a QR code and the KSeF reference number on the PDF. This helps recipients quickly verify and access the invoice information in line with Polish e-invoicing requirements.
Original PR description
While communicating outside KSeF, invoices must have a QR Code and their KSeF number displayed. QR Code content spec is available here: https://github.com/CIRFMF/ksef-api/blob/main/kody-qr.md task-6334901 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#272480 Forward-Port-Of: odoo/odoo#271713
The stock move value can no longer be changed directly from the list view. Users must now use the Adjust Valuation process, which keeps valuation changes consistent and properly recorded with user and reason details.
Original PR description
### Description of the issue/feature this PR addresses: The stock move value was inline-editable in the moves list, which is misleading. Editing it directly behaves inconsistently across cost…
### Description of the issue/feature this PR addresses: The stock move value was inline-editable in the moves list, which is misleading. Editing it directly behaves inconsistently across cost methods: for FIFO products the edit updates the remaining value, but for AVCO products there is no mechanism to propagate it, so the change has no effect. The direct edit also bypasses the audited revaluation channel, the Adjust Valuation wizard (product.value), which records the user, date and justification. Disable direct modification by marking the field read-only by default, so manual revaluation always goes through Adjust Valuation. Internal valuation writes are unaffected. ### Current behavior before PR: The value field is editable in the stock move list view. <img width="1890" height="460" alt="image" src="https://github.com/user-attachments/assets/8ddc6495-4beb-4481-bdbf-2a44b70f3784" /> ### Desired behavior after PR is merged: The value field should not be editable. Users should use the Adjust Valuation wizard to ensure the operation is auditable. @qrtl QT6826 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#267360
The Polish e-invoicing integration now continues fetching other bills even if one bill causes an error, and it keeps a draft record so users can still find it later. It also fixes cases where bills could not be fetched because of company overlap or KSeF request limits, making the retrieval process more dependable.
Original PR description
### Commit 1: We fetch and store bills if we're able to parse and store them correctly. but in case we make a mistake 1. The cron gets stuck trying to fetch the problematic bill. 2. Users have no…
### Commit 1: We fetch and store bills if we're able to parse and store them correctly. but in case we make a mistake 1. The cron gets stuck trying to fetch the problematic bill. 2. Users have no clue that there is a bill on KSeF that they have to fetch manually. --- 1. Save the bill on a savepoint, to make sure one problematic bill doesn't affect others 2. Create all bills as draft first so that users have a reference to fallback to in case the have to do manual fetching. --- task-6310321 --- ### Commit 2: Issues: 1. For a db with company_1 and company_2, when company_1 sends an invoice to company_2 via KSeF (out_invoice with a ksef number), company_2 in the same database can't fetch the corresponding bill because there is a move with the same KSeF number. 2. The date difference between `from` and `to` in the `dateRange` must not exceed 3 months as explained in the documentation https://api.ksef.mf.gov.pl/docs/v2/index.html#tag/Pobieranie-faktur/paths/~1invoices~1query~1metadata/post Fixes: 1. Change the unique constraint and the domain to allow same KSeF number per different companies. 2. Minimize the `to` parameter with `from` + 2 months. 3. Increase the TIMEOUT to 30 seconds as 10 seconds is too small. task-6260645 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#272689 Forward-Port-Of: odoo/odoo#270511
This update improves how Australian payroll handles superannuation corrections after a payslip has already been submitted and paid. If superannuation was underpaid, the system can now create the appropriate amendment and report the difference through STP, helping payroll teams correct issues more reliably.
Original PR description
Amending STP creates an update action if full file replacement is not available. Amended STPs create delta superannuation stream lines. task-6245415 Forward-Port-Of: odoo/enterprise#119946
Odoo can now use email activity captured by the Gmail browser extension to find relevant contacts and suggest them when working with timesheets. This helps users quickly identify and add the right people linked to projects or tasks, saving time and improving suggestion accuracy.
Original PR description
[IMP] timesheet_grid: Gmail watcher In this commit, Odoo now consumes data from the new Gmail Chrome and Firefox web extension, which captures the from, to, cc, and bcc fields of read and composed emails and sends them to Activity Watch. Odoo retrieves these events, extracts the emails, searches for partners linked to projects and/or tasks, and adds them to suggestions as keyEvents. task-5956040 Forward-Port-Of: odoo/enterprise#120727 Forward-Port-Of: odoo/enterprise#112014
The French e-invoicing registration experience was updated to guide companies more clearly toward PDP registration when needed. Odoo now shows more relevant warnings and help messages, and the registration wizard is simpler to complete because key fields are visible and locked at the right time.
Original PR description
#### [IMP] account_peppol,l10n_fr_pdp: rework PDP registration If PDP is not installed but Peppol is installed we suggest installing the PDP module for French companies - in the send & print instead…
#### [IMP] account_peppol,l10n_fr_pdp: rework PDP registration
If PDP is not installed but Peppol is installed we suggest
installing the PDP module for French companies
- in the send & print instead of the following warnings
- "You can send this invoice electronically via Peppol." (what is peppol)
- "partner has requested electronic invoices reception on Peppol."
- in the send & print for any French company that is not on PDP
(this warning can be disabled by setting the system parameter
`account_peppol.disable_pdp_warning` to true)
- in the peppol registration wizard by adding a warning
If PDP is installed we make the following changes to the send & print
- change the wording mentioning "Peppol" to mention the French e-invoicing instead
- make a PDP version of the "Peppol Info" (`account_peppol.WhatIsPeppol`)
- it explains what French E-Invoicing is
- it provides a button to open the registration wizard
- in case the company is registered on Peppol it deregisters the
company first (just like the "complete registration" button)
- display the "You can send this electronically via Peppol" warning
also for French companies (with the wording and "Peppol Info" mentioned above)
- It is displayed in case we are opening the Send & Print wizard from a French
company for a partner on peppol but the "Peppol" / "French
E-invoicing" checkbox is not checked
- Change the wording of the French company non-PDP warning to encourage
the user to register
In the PDP registration wizard
- make all the fields visible directly (already at the start of the KYB/KYC)
- make the SIREN part of the identifier readonly
- make the fields readonly after the verification
- automatically "validate" / register to PDP when we receive the KYC success
task-6320246
#### [IMP] l10n_fr_pdp: add system param for kyc siren
After the previous commit it is not really possible anymore
to use a different SIREN for the KYC than the one in the pdp identifier.
This is because:
- We derive the SIREN directly from the
Identifier in the registration wizard.
- The registration will be validated automatically after the KYC
- The values are readonly after the KYC in any case
That is a problem for testing because we have 1 SIREN to test the
KYC and it is independent from the identifiers provided by the French
datasets for the PDP test environment.
task-None
Forward-Port-Of: odoo/odoo#272208
Forward-Port-Of: odoo/odoo#271733