Sunday, April 5, 2026
4 changes · saas-18.4
Enhancements to existing features
The Jordan e-invoicing module now prepares a required invoice identifier field during installation without recalculating it for every existing invoice. This helps avoid slow module installations for companies with large invoice histories, while preserving the same business behavior after setup.
Original PR description
This commit ensures that the computed and stored field `l10n_jo_edi_uuid` of account_move model gets column created at l10n_jo_edi module installation. This ensures that the computation of the field does not trigger on module installation, potentially leading to too slow installation if the DB has many account_move records. task-6095204 Forward-Port-Of: odoo/odoo#257658
Resolved issues and error corrections
This fix prevents errors when users apply inactive TDS or TCS taxes in Indian withholding workflows. The system now includes inactive tax records when checking applicability, so affected invoices can be processed without a crash.
Original PR description
Before this **PR**, attempting to apply an inactive tax resulted in a traceback. This occurred because l10n_in_section_tax_ids was empty, resulting in an empty iterable being passed to max(), which caused the error. To resolve this issue, l10n_in_section_tax_ids is now called with the context `active_test=False`. task-6074534 Forward-Port-Of: odoo/odoo#257724 Forward-Port-Of: odoo/odoo#256809
Odoo now includes single-letter unit names, such as m, l, and g, when exporting text for translation. This helps translators localize units of measure correctly while still excluding non-meaningful symbols and formatting strings.
Original PR description
Single-letter strings (as used for units of measure, like `m`, `l`, `g`) are not exportable for translation, because the export of translation strings was filtering out different strings based on the type of the translation. This commit harmonized the filtering to the single condition of a string containing at least one letter, which allows exporting single-letter strings while still filtering out non-meaningful strings like `:`, `...`, `.00`, etc. Issue reported by one of our translators. Forward-Port-Of: odoo/odoo#257080
This update ensures that account moves are automatically created when closing a POS session containing paid future orders from Urban Piper. Previously, these orders were excluded, preventing proper accounting record generation. This change improves financial reporting accuracy for orders processed through the Urban Piper integration.
Original PR description
Before this commit, when all orders coming from Urban Piper in a POS session are paid future orders (i.e. have a delivery_datetime), closing the session would not generate an account move. The cause was that the code was excluding future orders when creating the account move. The fix is to exclude only unpaid orders instead. How to reproduce: - Set up Urban Piper (a test account needed). - Place an order from the Urban Piper platform. - Receive the order, accept it, and mark it as ready. - Close the session. - The session will not have an account move. opw-5995985 Forward-Port-Of: odoo/enterprise#112749 Forward-Port-Of: odoo/enterprise#111137