From 0d5e45bb7c45dce5b8368ec63c5721ba4bcadb42 Mon Sep 17 00:00:00 2001 From: Smit Vora Date: Thu, 27 Nov 2025 19:15:46 +0530 Subject: [PATCH] fix: only show net gl balance as opening in general ledger (cherry picked from commit b7c7e0746e759a39a69f1662a0e65aa750922d65) --- .../report/general_ledger/general_ledger.py | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/erpnext/accounts/report/general_ledger/general_ledger.py b/erpnext/accounts/report/general_ledger/general_ledger.py index 100dcd46c85..d28311d8876 100644 --- a/erpnext/accounts/report/general_ledger/general_ledger.py +++ b/erpnext/accounts/report/general_ledger/general_ledger.py @@ -482,7 +482,7 @@ def get_accountwise_gle(filters, accounting_dimensions, gl_entries, gle_map, tot immutable_ledger = frappe.db.get_single_value("Accounts Settings", "enable_immutable_ledger") - def update_value_in_dict(data, key, gle): + def update_value_in_dict(data, key, gle, show_net_values=False): data[key].debit += gle.debit data[key].credit += gle.credit @@ -493,10 +493,14 @@ def get_accountwise_gle(filters, accounting_dimensions, gl_entries, gle_map, tot data[key].debit_in_transaction_currency += gle.debit_in_transaction_currency data[key].credit_in_transaction_currency += gle.credit_in_transaction_currency - if filters.get("show_net_values_in_party_account") and account_type_map.get(data[key].account) in ( - "Receivable", - "Payable", - ): + if ( + filters.get("show_net_values_in_party_account") + and account_type_map.get(data[key].account) + in ( + "Receivable", + "Payable", + ) + ) or show_net_values: net_value = data[key].debit - data[key].credit net_value_in_account_currency = ( data[key].debit_in_account_currency - data[key].credit_in_account_currency @@ -526,11 +530,11 @@ def get_accountwise_gle(filters, accounting_dimensions, gl_entries, gle_map, tot if gle.posting_date < from_date or (cstr(gle.is_opening) == "Yes" and not show_opening_entries): if not group_by_voucher_consolidated: - update_value_in_dict(gle_map[group_by_value].totals, "opening", gle) - update_value_in_dict(gle_map[group_by_value].totals, "closing", gle) + update_value_in_dict(gle_map[group_by_value].totals, "opening", gle, True) + update_value_in_dict(gle_map[group_by_value].totals, "closing", gle, True) - update_value_in_dict(totals, "opening", gle) - update_value_in_dict(totals, "closing", gle) + update_value_in_dict(totals, "opening", gle, True) + update_value_in_dict(totals, "closing", gle, True) elif gle.posting_date <= to_date or (cstr(gle.is_opening) == "Yes" and show_opening_entries): if not group_by_voucher_consolidated: