Monday, September 29, 2025
5 changes · saas-18.3
Enhancements to existing features
Tax records can now be found by entering their configured percentage or fixed amount in the search bar. This makes it faster for accounting users to locate the right tax setup without browsing through tax lists manually.
Original PR description
This commit improves the usability of the tax search view by including the `amount` field. Users can filter taxes based on their configured percentage or amount directly from the search bar. task-5088050 Forward-Port-Of: odoo/odoo#227131
Hong Kong Payroll now includes a button to download IR56B report files in XML format. This makes it easier for payroll teams to retrieve the required tax reporting file directly from the relevant report screen.
Original PR description
Add ir56b report download button for downloading .xml file in Hong Kong Payroll. task - 5081474 Forward-Port-Of: odoo/enterprise#95294 Forward-Port-Of: odoo/enterprise#95013
Repair creation is now faster when many quality rules are present. The change moves heavy matching work to the database and avoids oversized queries, reducing long delays or timeouts for large quality setups.
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…
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 Forward-Port-Of: odoo/enterprise#95631 Forward-Port-Of: odoo/enterprise#91729
Italian electronic invoices now keep the document type from imported XML without relying on whether the entry is a customer invoice or vendor bill. This reduces duplicate document type records and helps imported invoices be classified more accurately.
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#228802 Forward-Port-Of: odoo/odoo#225425
Point of Sale Epson printer settings can now use a printer serial number to automatically compute the secure certificate domain. This makes HTTPS printer configuration simpler and reduces the need to manually enter an IP address or URL.
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: 4384790
Forward-Port-Of: odoo/odoo#228844
Forward-Port-Of: odoo/odoo#228710