fix: incorrect paid amount in accounts receivable summary report
diff --git a/erpnext/accounts/party.py b/erpnext/accounts/party.py
index 70e4800..67bd0bd 100644
--- a/erpnext/accounts/party.py
+++ b/erpnext/accounts/party.py
@@ -573,13 +573,17 @@
else:
return ''
-def get_partywise_advanced_payment_amount(party_type="Customer"):
+def get_partywise_advanced_payment_amount(party_type, posting_date = None):
+ cond = "1=1"
+ if posting_date:
+ cond = "posting_date <= '{0}'".format(posting_date)
+
data = frappe.db.sql(""" SELECT party, sum({0}) as amount
FROM `tabGL Entry`
WHERE
party_type = %s and against_voucher is null
- GROUP BY party"""
- .format(("credit") if party_type == "Customer" else "debit") , party_type)
+ and {1} GROUP BY party"""
+ .format(("credit") if party_type == "Customer" else "debit", cond) , party_type)
if data:
return frappe._dict(data)
\ No newline at end of file
diff --git a/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py b/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py
index 8cb5ac1..ffd1994 100644
--- a/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py
+++ b/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py
@@ -136,7 +136,8 @@
partywise_total = self.get_partywise_total(party_naming_by, args)
- partywise_advance_amount = get_partywise_advanced_payment_amount(args.get("party_type")) or {}
+ partywise_advance_amount = get_partywise_advanced_payment_amount(args.get("party_type"),
+ self.filters.get("report_date")) or {}
for party, party_dict in iteritems(partywise_total):
row = [party]
@@ -144,7 +145,9 @@
row += [self.get_party_name(args.get("party_type"), party)]
row += [partywise_advance_amount.get(party, 0)]
- paid_amt = flt(party_dict.paid_amt - partywise_advance_amount.get(party, 0))
+
+ if party_dict.paid_amt > 0:
+ paid_amt = flt(party_dict.paid_amt - partywise_advance_amount.get(party, 0))
row += [
party_dict.invoiced_amt, paid_amt, party_dict.credit_amt, party_dict.outstanding_amt,