Friday, September 25, 2026
5 changes · 19.0
Resolved issues and error corrections
Fixed a Point of Sale loyalty issue where fixed discounts could be calculated too low when an order included both regular and negative-priced items with different taxes. This ensures reward lines add up to the intended discount so customers are charged the correct amount.
Original PR description
Steps to reproduce: - Product A with a price-included tax, product B with a negative price and another tax (or none) - Promotion with a fixed amount discount on specific products (or on the order),…
Steps to reproduce: - Product A with a price-included tax, product B with a negative price and another tax (or none) - Promotion with a fixed amount discount on specific products (or on the order), both products eligible - Add both products to a PoS order Issue: The discount is split per tax group with a common factor, so the negative line gets a positive reward line, which is expected. But the reward lines add up to less than the discount and the customer pays too much. Cause: Since 7280f3597ece each tax group is capped with `Math.min(get_total_with_tax(), amount)`. A single tax group is compared with the total of the whole order: here the total includes the negative line, so the positive group is lowered while the negative one is kept as is. Fix: Apply the cap proportionally: every tax group is scaled by the ratio between the order total and the discountable amount when the total is lower. The scenario of 7280f3597ece gives the same result, and the reward lines add up to the discount whatever the number of tax groups. opw-6567973 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#288853
Indian e-way bill calculations now take global invoice discounts into account. This helps ensure e-way bill values match the discounted invoice totals, reducing errors in compliance documents.
Original PR description
Before this commit- We didn't consider, global discount for ewaybill After this commit- We consider the global discount for ewaybill opw-6592878 task-[6596257](https://www.odoo.com/odoo/project/967/tasks/6596257) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Fixes an issue in Discuss where a new message arriving while a channel was opening could be missing from the conversation until the next refresh or fetch. This helps users see incoming messages reliably and reduces confusion during active conversations.
Original PR description
Before this commit, a message received while a channel opens in Discuss does not appear, and stays out of the thread until the next fetch. This happens because the channel opens on its last read message through `loadAround`, which replaces the message list with the fetched messages. The bus handler of a new message adds it to that list as long as the thread displays the present, so the replacement drops what arrived during the fetch. This commit fixes the issue by putting those messages back: in the list when it displays the present, in `pendingNewMessages` when it does not, where `fetchMoreMessages` already picks them up. https://runbot.odoo.com/odoo/error/947188 Forward-Port-Of: odoo/odoo#289976
Users will no longer lose unsaved changes when posting messages or changing followers from the chatter if the form cannot be saved, such as when a required field is empty. The form now reloads only after a successful save, preventing confusing rollbacks to older saved values.
Original PR description
Before this commit, posting a message in the chatter of a form view with `post_refresh` lost the unsaved changes of an invalid record, for instance after emptying a required field. The form showed the invalid field for a moment, then came back with the saved values. The same happens on the other chatter actions that reload the form, such as a follower change. This happens because the chatter reloads the record after it tries to save it, even when the save fails. This commit fixes the issue by reloading the record only when the save succeeds. Forward-Port-Of: odoo/odoo#290346 Forward-Port-Of: odoo/odoo#290204
The Swiss financial reporting module now uses corrected formulas for the balance sheet. This helps Swiss companies produce more accurate financial statements and reduces the risk of reporting inconsistencies.
Original PR description
Change some formulas in the Swiss balance sheet task-6379692