Sales Payment Summary - fix for change amount (#12981)
* [fix] #12980
* apply change amount to cash
diff --git a/erpnext/accounts/report/sales_payment_summary/sales_payment_summary.py b/erpnext/accounts/report/sales_payment_summary/sales_payment_summary.py
index 9969c55..4fcc05b 100644
--- a/erpnext/accounts/report/sales_payment_summary/sales_payment_summary.py
+++ b/erpnext/accounts/report/sales_payment_summary/sales_payment_summary.py
@@ -141,6 +141,23 @@
and b.reference_name in ({invoice_list_names})
group by a.owner, a.posting_date, mode_of_payment
""".format(invoice_list_names=invoice_list_names), as_dict=1)
+
+ inv_change_amount = frappe.db.sql("""select a.owner, a.posting_date,
+ ifnull(b.mode_of_payment, '') as mode_of_payment, sum(a.base_change_amount) as change_amount
+ from `tabSales Invoice` a, `tabSales Invoice Payment` b
+ where a.name = b.parent
+ and a.name in ({invoice_list_names})
+ and b.mode_of_payment = 'Cash'
+ and a.base_change_amount > 0
+ group by a.owner, a.posting_date, mode_of_payment""".format(invoice_list_names=invoice_list_names), as_dict=1)
+
+ for d in inv_change_amount:
+ for det in inv_mop_detail:
+ if det["owner"] == d["owner"] and det["posting_date"] == d["posting_date"] and det["mode_of_payment"] == d["mode_of_payment"]:
+ paid_amount = det["paid_amount"] - d["change_amount"]
+ det["paid_amount"] = paid_amount
+
for d in inv_mop_detail:
mode_of_payment_details.setdefault(d["owner"]+cstr(d["posting_date"]), []).append((d.mode_of_payment,d.paid_amount))
+
return mode_of_payment_details
\ No newline at end of file