Friday, June 27, 2025
7 changes · 18.0
Enhancements to existing features
This update brings improved electronic document generation logic into Odoo 18.0, especially for BIS3 and Colombian UBL formats. It reduces the risk of incorrect tax details on customer invoices and prepares the system for upcoming Colombian point-of-sale e-invoicing work.
Original PR description
We recently refactored the UBL generation in master in https://github.com/odoo/odoo/pull/214151. This refactor improves the handling of taxes and enables code to be factorized when generating UBL documents from invoices, sale / purchase orders, and PoS orders. We are back-porting the common helpers and the BIS3 and Colombian UBLs because: - for BIS3, we need to use the new tax computations to avoid customer errors in 18.0 - for Colombia, we will soon be merging an UBL for the Colombian PoS and basing it on the refactored code will avoid us needing to maintain separate versions in stable and master. Enterprise PR: https://github.com/odoo/enterprise/pull/88366 task-4893999
When registering payments with SEPA Direct Debit, users now see a banner listing any partners without a valid SEPA mandate. This helps them quickly identify which customer or vendor records need attention before payments can proceed.
Original PR description
When users try to register one or multiple payments with 'SEPA Direct Debit' method, and one or more partners don't have a valid SEPA mandate, a banner alerts the user and mention the names of the concerned partners. This makes it easier for the user because he directly sees the partners for which he has to set a SEPA mandate. task-4575537 runbot : https://runbot.odoo.com/runbot/bundle/18-0-sepa-missing-links-roto-353391
When users enrich a contact or company from CRM, related category tags are now automatically added as part of the partner details. This reduces manual data entry and helps keep customer records more complete and consistent.
Original PR description
when using partner enrich from CRM category tags were not fetched now category tags are autofilled when using partner enrich from CRM --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update prevents crashes when products have very large numbers of stock valuation records. It makes stock-related accounting operations much faster and more reliable for large databases, reducing a benchmarked operation from about 15 seconds to under a quarter second.
Original PR description
It's not rare to have databases with a huge number of svls for some products. For instance, the database of opw-4326597, which is currently on 17.0 and hosted on Odoo.sh, has 166 000 svls for the…
It's not rare to have databases with a huge number of svls for some products. For instance, the database of opw-4326597, which is currently on 17.0 and hosted on Odoo.sh, has 166 000 svls for the same product. Because of that, the current code in `svl_empty_stock` is likely to raise a MemoryError in those databases. The reason for that is the `__get__` call on `stock_valuation_layer_ids` along with a call to `filtered`. After expanding the singleton with the `prefetch_ids` and fetching all the fields of the related svls, the cache will probably raise a MemoryError. We are preempting this issue by changing this part of the code with a call to `_read_group` to get the correct lots directly. Thanks to @mwath for pointing this out. #### speedup Benchmark of the `_svl_empty_stock` method, with a product with 200 000 svls with a lot. | Before PR | After PR | |:----------:|:---------:| | 15.03s | 198.64ms | --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Updates the spreadsheet component used in Odoo. This should keep spreadsheet features current and may improve reliability or compatibility for users working with spreadsheets.
Original PR description
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
This update brings newer Colombian electronic invoicing preparation logic into the current version, making it available through a configuration setting. It also lays groundwork for upcoming Colombian point-of-sale electronic document support, while keeping the change controlled and opt-in.
Original PR description
In master, we recently refactored the UBL generation so that it uses the new tax helpers. This is a back-port of the Colombian part of that refactor. Users will be able to use the new helpers by setting the config param `account_edi_ubl_cii.use_new_dict_to_xml_helpers`. Additionally, back-porting these helpers enables us to reuse them for the Colombian PoS UBL which will be coming out soon. Community PR: https://github.com/odoo/odoo/pull/215610 task-4893999
Bank synchronization and online payment now use richer connection status information, including whether payment initiation is enabled or activated with the provider. This makes the Initiate Payment option appear only when the customer has enabled the payment feature, reducing confusion and better matching actual availability.
Original PR description
This commit is a partial backport of this commit [[1]]. This commit has 2 different purposes: 1. Connect the bank synchronization and the payment module to a new API route to get the connection…
This commit is a partial backport of this commit [[1]]. This commit has 2 different purposes: 1. Connect the bank synchronization and the payment module to a new API route to get the connection status instead of only getting the consent expiring date. This new route still provides the consent expiring date but will also provide more information about the payment initiation. Three new information are provider, whether the payment feature is enabled, whether the payment activation is requested to the provider and whether the feature is activated with the provider. 2. This second purpose is directly linked to the first one, it modifies the Initiate payment visibility. Before it was visible once the bank journal was connected to a bank synchronization, now it's visible once the bank journal has a bank synchronization where the payment initiation feature is enabled by the customer. task-4413740 [1]: https://github.com/odoo/enterprise/commit/a89d1aed466167249cd52b30bce157f015355458