[FIX] point_of_sale: round prices
- Activate 'Round Globally' - Create a 21 % tax included in price - Create a product costing 21.5 - Add the product in a pos order, make the payment The `price_subtotal` is saved as `17.768595`, while it should be `17.77`. When these amounts are added in [1] (coming from [2]), it can lead to an inconsistency in the final computation, preventing the closing because of an unbalanced journal entry. Actually, the total and the subtotal must always be rounded following the currency precision, as done in [3] and [4]. It was probably not causing an issue before 13.0 since the creation of the journal entry from the POS was different. [1] https://github.com/odoo/odoo/blob/b22935caa3df824bc56a0828da9bee921bca5a5b/addons/point_of_sale/models/pos_session.py#L381 [2] https://github.com/odoo/odoo/blob/b22935caa3df824bc56a0828da9bee921bca5a5b/addons/point_of_sale/models/pos_session.py#L557 [3] https://github.com/odoo/odoo/blob/b22935caa3df824bc56a0828da9bee921bca5a5b/addons/account/models/account.py#L1654 [4] https://github.com/odoo/odoo/blob/b22935caa3df824bc56a0828da9bee921bca5a5b/addons/account/models/account.py#L1740 opw-2181486 closes odoo/odoo#44834 X-original-commit: 0896afdc814937621fe6323bf16d461582207217 Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
This commit is contained in:
@@ -1998,8 +1998,8 @@ exports.Orderline = Backbone.Model.extend({
|
||||
|
||||
return {
|
||||
'taxes': taxes_vals,
|
||||
'total_excluded': sign * round_pr(total_excluded, currency_rounding),
|
||||
'total_included': sign * round_pr(total_included, currency_rounding),
|
||||
'total_excluded': sign * round_pr(total_excluded, this.pos.currency.rounding),
|
||||
'total_included': sign * round_pr(total_included, this.pos.currency.rounding),
|
||||
}
|
||||
},
|
||||
get_all_prices: function(){
|
||||
|
||||
Reference in New Issue
Block a user