How to change status of invoice


this is a problem that could be a bug, but actually, I need to know of a workaround.

First, I tell you that in my country there are 2 currencies used, whose symbols are CLF and CLP (latter means Chilean Pesos).

CLF format is defined as #.###,## and CLP format is #.###. That is, CLF could be a decimal number while CLP is integer.

There is a relation between CLF and CLP. CLF should be multiplied by a factor to get CLP value (the currency exchange).

Well, I had a quotation whose currency was 45 CLF. When system used that conversion factor to get the CLP equivalent, invoice value produced was a decimal number, for example, 123,456.78. The invoice value should actually be 123,457, since it is integer. That is the first problem. If CLP format is defined as integer, why was the invoice generated as a decimal number? note that this problem exists for other doc types also.

Later, the payment was received. Of course, payment was actually 123,457, so I entered that record in the system.

Since system thinks the payment should be made with 123,456,78 amount, invoice continued in unpaid status since there is an amount left to be payed.

I searched for a way to change the status of the invoice, but I could not find it.

So, it is possible to manually change invoice status? Is there a workaround or a possible fix to this problem?

Installed Apps
ERPNext: v11.1.56 (version-11)

Frappe Framework: v11.1.52 (version-11)


No you cannot change the status and if you could turn it wont remove the outstanding amount it shows like few pennies, We had similar issue with Bahrain fils so a work around for this is to create a discount mode of payment and pay that tiny fraction amount with that discount mop and later move the total amount of discount mop to discount expense account.

This is what we use but you can check with your accountant or auditor if this will be a good practice for you in your country.

Thanks, but how can I avoid this in the future?

I can add a phantom payment of the decimals left, but this is completely abnormal since in our currency, there are no cents.

The idea is that if the currency has no decimals defined in its format, final price in that currency should be an integer number.