Daily updates from Odoo
Friday, September 26, 2025
7 changes · 18.0
Enhancements to existing features
This change makes it easier for other Odoo modules to customize how analytic distribution information is prepared for accounting entries. It supports more flexible business-specific rules, such as basing analytic distributions on employee-related data, without changing core accounting behavior.
Original PR description
**Description of the issue/feature this PR addresses:** Add an inherit point to let others modules specify others/new values when the analytic distribution is build on the analytic distribution model. **Functional example:** If you wan to determine your analytic distribution on the employee (so the `employee_id` field is added into `account.analytic.distribution.model`), the specific module can not edit the dict (who is extracted by this PR). So I propose to extract the `dict` creation into a dedicated method. **Current behavior before PR:** It's not possible to edit the `dict` **Desired behavior after PR is merged:** Update the `dict` (and let it as a `frozendict` to use it as a key). ✅ I don't find any duplicates PR --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Discuss calls can now automatically fall back to a server-assisted connection when direct peer-to-peer connections do not work. This improves call reliability for users on restrictive networks or in situations where direct connections are unstable.
Original PR description
This commit makes it so that in the case of unsuccessful peer-to-peer connections, the client will request to the Odoo server to upgrade the channel with a SFU. backport of: odoo/odoo#200122 and odoo/odoo#206411
The self-ordering interface has been simplified by removing visual clutter from the desktop QR code button and moving mobile QR code access into the menu. Settings are also clearer, with a renamed Settings action and a new option for free metal or wood stand references.
Original PR description
In this commit: ------------------- - Removed the QR code icon from the desktop view of the `Get QR Code` button. - Moved the QR code button from the navbar into the burger menu for mobile view. - Added a new reference option `Free Metal / Wood Stands` in settings. - Renamed the `Edit` menu item to `Settings`, to make the button functionality clear from the label as it leads the user to the settings page for the selected config. task:5003448
Peppol configuration now handles service lookup errors gracefully, so temporary service endpoint problems no longer block access to the setup wizard. This ensures users can still perform important actions such as unregistering even when non-critical service information is unavailable.
Original PR description
Handle `api/peppol/2/get_services` errors gracefully, without blocking critical section of peppol functionnal flow (deletion). If the API endpoint for services returns an error (which should not be affecting any users), the whole peppol config wizard is no longer accessible. The users will therefore not be able to unregister. no-task Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Creating repair orders is now much faster when the system has a very large number of quality rules to evaluate. This reduces long waits or timeouts for businesses using quality checks in repair workflows.
Original PR description
Description ----------- Creating a repair creates new `quality.check` based on `quality. point`s. When you have many matching points to explore, the `filtered_domain` can be pretty slow when processing linear the records to compute the intersection between the all points and the points that should be associated with the repair. This commit rewrites `_create_quality_checks_for_repair` to use a `search` instead if necessary, to offload the intersection search in the database. We also split the ids to not inject a large list of ids in the query. Benchmark --------- For a database that will have 500k `quality.point` that satisfies the domain of `quality.point._get_domain`, the invocation of `_create_quality_checks_for_repair` for creating a Repair takes (excluding the `create` call time): | | Before | After | |---------|------------------|-------| | Timings | Timeout (15+min) | 1 min | Reference --------- opw-4980036
Point of Sale configurations can now use an Epson printer serial number to automatically determine the secure certificate domain. This reduces manual setup work and helps stores connect to supported Epson receipt printers over HTTPS more reliably.
Original PR description
On EPSON printers, we can enable an option ('Automatic Certificate Update') to get a certified (https) url resolving to the ip address of the printer. This domain is computed based on the serial number of the printer.
We updated the configuration to compute the domain if a serial number has been provided instead of an IP address or an url.
Task: 4384790Italian e-invoice imports now keep the document type from supplier bill XML files without relying on whether the invoice is incoming or outgoing. This reduces duplicate document type records and helps invoices map to the correct official document classification more consistently.
Original PR description
In the FatturaPA XML, the Document Type (Tipo Documento) doesn't indicate the direction of the journal entry. A `TD01` can be an `in_invoice` or `out_invoice` depending on whether the company is set to be the seller or the buyer. That's what we consider when importing invoices from the EDI. - saved the `l10n_it_document_type` from the imported bills' XML - removed the filter in the view - removed the `l10n_it_document_type` duplicates that just differed by `l10n_it_document_type.type` - updated the invoices to point to the original `l10n_it_document_type` if there were duplicates We will have to remove the field in `master` See odoo/upgrade#8484 Forward-Port-Of: odoo/odoo#225425