From bfaa93b0ca641352917be16a50e602a7fe458386 Mon Sep 17 00:00:00 2001 From: Dany Robert Date: Mon, 20 Nov 2023 09:43:02 +0000 Subject: [PATCH] fix: honour currency precision while fetching balance --- erpnext/accounts/utils.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/erpnext/accounts/utils.py b/erpnext/accounts/utils.py index 7d91309fcc..2636a8d4f6 100644 --- a/erpnext/accounts/utils.py +++ b/erpnext/accounts/utils.py @@ -237,7 +237,6 @@ def get_balance_on( cond.append("""gle.cost_center = %s """ % (frappe.db.escape(cost_center, percent=False),)) if account: - if not (frappe.flags.ignore_account_permission or ignore_account_permission): acc.check_permission("read") @@ -283,11 +282,11 @@ def get_balance_on( cond.append("""gle.company = %s """ % (frappe.db.escape(company, percent=False))) if account or (party_type and party) or account_type: - + precision = get_currency_precision() if in_account_currency: - select_field = "sum(debit_in_account_currency) - sum(credit_in_account_currency)" + select_field = f"sum(round(debit_in_account_currency, {precision})) - sum(round(credit_in_account_currency, {precision}))" else: - select_field = "sum(debit) - sum(credit)" + select_field = f"sum(round(debit, {precision})) - sum(round(credit, {precision}))" bal = frappe.db.sql( """ SELECT {0}