From 37e750e8775f90455b530c108e86b86b87c5f938 Mon Sep 17 00:00:00 2001 From: ruthra kumar Date: Sat, 7 Mar 2026 17:39:03 +0530 Subject: [PATCH] refactor: party type and party filter for comparison report (cherry picked from commit b6f9c0844eeb154a7cc4ab52547cf1c33d589d75) --- .../general_and_payment_ledger_comparison.js | 14 ++++++++++++++ .../general_and_payment_ledger_comparison.py | 12 ++++++++++++ 2 files changed, 26 insertions(+) diff --git a/erpnext/accounts/report/general_and_payment_ledger_comparison/general_and_payment_ledger_comparison.js b/erpnext/accounts/report/general_and_payment_ledger_comparison/general_and_payment_ledger_comparison.js index 4eadf342be8..fa651541696 100644 --- a/erpnext/accounts/report/general_and_payment_ledger_comparison/general_and_payment_ledger_comparison.js +++ b/erpnext/accounts/report/general_and_payment_ledger_comparison/general_and_payment_ledger_comparison.js @@ -37,6 +37,20 @@ function get_filters() { }); }, }, + { + fieldname: "party_type", + label: __("Party Type"), + fieldtype: "Link", + options: "Party Type", + width: 100, + }, + { + fieldname: "party", + label: __("Party"), + fieldtype: "Dynamic Link", + options: "party_type", + width: 100, + }, { fieldname: "voucher_no", label: __("Voucher No"), diff --git a/erpnext/accounts/report/general_and_payment_ledger_comparison/general_and_payment_ledger_comparison.py b/erpnext/accounts/report/general_and_payment_ledger_comparison/general_and_payment_ledger_comparison.py index 9d079eb9ebd..e28bd4edefe 100644 --- a/erpnext/accounts/report/general_and_payment_ledger_comparison/general_and_payment_ledger_comparison.py +++ b/erpnext/accounts/report/general_and_payment_ledger_comparison/general_and_payment_ledger_comparison.py @@ -68,6 +68,12 @@ class General_Payment_Ledger_Comparison: if self.filters.period_end_date: filter_criterion.append(gle.posting_date.lte(self.filters.period_end_date)) + if self.filters.party_type: + filter_criterion.append(gle.party_type.eq(self.filters.party_type)) + + if self.filters.party: + filter_criterion.append(gle.party.eq(self.filters.party)) + if acc_type == "receivable": outstanding = (Sum(gle.debit) - Sum(gle.credit)).as_("outstanding") else: @@ -111,6 +117,12 @@ class General_Payment_Ledger_Comparison: if self.filters.period_end_date: filter_criterion.append(ple.posting_date.lte(self.filters.period_end_date)) + if self.filters.party_type: + filter_criterion.append(ple.party_type.eq(self.filters.party_type)) + + if self.filters.party: + filter_criterion.append(ple.party.eq(self.filters.party)) + self.account_types[acc_type].ple = ( qb.from_(ple) .select(