OCA/pos

[15.0] pos_payment_change_wizard strange behavior on rounding

Opened this issue · 2 comments

Module

pos_payment_change -> pos_payment_change_wizard -> button_change_payment() method

def button_change_payment(self):

Describe the bug

When you wish to modify a payment method that was originally in cash, odoo's basic operation converts the amount by rounding.
The amount_total and amount_paid values will take on a value such as 12.4000008 instead of 12.40.
The problem has already been reported in the following link, but without correction:
odoo/odoo#7024

the problem is that the current module will compare the odoo values and therefore the change of payment method will not take place.
I think we should modify the method that compares the amounts to check that the first two digits after the decimal point are correct, rather than all the currency digits.

To Reproduce

Affected versions: 15.0

Steps to reproduce the behavior:

  1. Sell an article in POS by using cash
  2. Try to change paiement method to something else

thanks

There hasn't been any activity on this issue in the past 6 months, so it has been marked as stale and it will be closed automatically if no further activity occurs in the next 30 days.
If you want this issue to never become stale, please ask a PSC member to apply the "no stale" label.