Decimal Rounding Problem in Frappe Framework

By far, I face a lot of problem about decimal rounding in Frappe / ERPNext. Although, the system already declared that the decimal place are 2 digits. And in the form itself, also show in 2 digits. But the database is still keeping the digits by the calculation (can be any digits).

For example,

In this Expense Claim, Tax is calculated as 130.84 x 0.07 = 9.1588

Although interface show 9.16, the database is keeping as 9.1588

This is causing problem afterwards, in reports, in validation logic etc…

Isn’t this a critical issue? How is it really working for Frappe Framework.



However I also see that, the GL Entry posted is in 2 digits.


But this is not good enough, becuase this Expense Claim can’t be paid (validation logic use amount on Expense not GL)