Daily updates from Odoo
Tuesday, April 15, 2025
6 changes · master
Enhancements to existing features
Cash basis taxes now better account for exchange rate changes between invoice confirmation and payment. This helps prevent tax discrepancies in foreign currency invoices and makes accounting reports more accurate.
Original PR description
### Purpose If you use Cash Basis taxes, at confirmation of the invoice the tax is put on a temporary account (Cash Basis Transition Account). On payment, that tax amount is moved to another account,…
### Purpose If you use Cash Basis taxes, at confirmation of the invoice the tax is put on a temporary account (Cash Basis Transition Account). On payment, that tax amount is moved to another account, amount due, for the next Tax report. If you are using invoices in foreign currency, the currency rate can be different between the invoice date and the payment date. In Odoo, this will create a discrepancy because the tax amounts are not the same. It's missing a foreign currency difference to explain the difference. This is the case when the Cash Basis Transition Account is not set as reconcilable. ### Implementation -Cash Basis Transition Account now has to be reconcilable (error is raised when setting up tax account) -The disable_partial_exchange_diff parameter is removed -The 'full exchange reconciliation' is removed as it will always be covered by the 'partial exchange reconciliation' -Rounding errors for cash basis taxes are now covered during the creation of the tax cash basis moves of the partials instead of during the 'full exchange reconciliation' (where it used to create an exchange diff even if there wasn't in order to fix rounding issues). It is now prevented by setting the amount_currency of the tax line to the amount_residual_currency when the journal entry is fully paid or when it's not fully paid yet but has a higher calculated amount_currency than what is needed to pay the residual tax. -In AccountTestInvoicingCommon, armageddon_tax child 2 needs to have tax egibility 'on_invoice' when tests are run at install in order to not trigger the constraint as the cash_basis_transition_account is an empty record in those cases odoo/odoo/pull/202713 odoo/upgrade/pull/7513 task-4404035
Products can now be linked to the specific delivery aggregators or platforms where they should be sold. This helps businesses manage menu availability more accurately across channels and avoid showing items on the wrong platform.
Original PR description
Following this commit : - Introduced a new field to store the list of aggregators/platforms where the product is available for sale. This enhancement allows better control over product availability across different platforms. task- 4376827
The Knowledge app was adjusted to stay compatible with a related platform data-format change. This keeps article comments working correctly after the underlying update, with no expected change to the user experience.
Original PR description
https://github.com/odoo/odoo/pull/202400
Spreadsheet tables now respond more smoothly when users hover over cells and work with linked sales data. This makes spreadsheet editing feel more accurate and interactive, reducing confusion when reviewing or updating business information.
The Documents app now includes multi-company access information in the initial session data. This avoids an extra startup request, helping the app load a little faster for users in multi-company environments.
Original PR description
Since the Document app use the `base.group_multi_company` at startup[1], it's made sense to the session_info bundle to avoid an RPC at webclient startup. [1]: https://github.com/odoo/enterprise/blob/b78e36b16a6b4b157c227d8b222b544f94cb9016/documents/static/src/core/document_service.js#L81
Partner address handling is being streamlined: invoice contacts now cover follow-up needs, and editing a company contact address updates the parent company address. This reduces rarely used contact types and makes customer address management easier to understand and maintain.