This is a problem that I don’t know if it was treated before, but I did not find any information regarding this.
The problem is that currency format is not taken into account.
In my country, there are 2 currencies used, let’s say, currency A and currency B. Currency A allows decimal numbers (format defined in ERPNext is #,###.##) while currency B does not allow them (format defined is #,###)
Well… for some quotations, currency A is used, however, payment is always done using currency B.
To create the invoice, A value is multiplied by an exchange rate to get B value, which could be a decimal number. Since currency B format is defined as an integer number, ERPNext should round the value in order to create the invoice using the integer number.
The problem I had now is that all above did not happen, which caused that the invoice remained unpaid and I need to enter a payment of 0.34 in order to mark the invoice as paid automatically by the system. And this, from accounting point of view, is invalid, since currency B does not have pennies.