fix: Show future payments in accounts receivable summary (#35416)
This commit is contained in:
parent
afd9098612
commit
3504bf7f62
@ -880,18 +880,21 @@ def get_party_shipping_address(doctype, name):
|
|||||||
|
|
||||||
|
|
||||||
def get_partywise_advanced_payment_amount(
|
def get_partywise_advanced_payment_amount(
|
||||||
party_type, posting_date=None, future_payment=0, company=None
|
party_type, posting_date=None, future_payment=0, company=None, party=None
|
||||||
):
|
):
|
||||||
cond = "1=1"
|
cond = "1=1"
|
||||||
if posting_date:
|
if posting_date:
|
||||||
if future_payment:
|
if future_payment:
|
||||||
cond = "posting_date <= '{0}' OR DATE(creation) <= '{0}' " "".format(posting_date)
|
cond = "(posting_date <= '{0}' OR DATE(creation) <= '{0}')" "".format(posting_date)
|
||||||
else:
|
else:
|
||||||
cond = "posting_date <= '{0}'".format(posting_date)
|
cond = "posting_date <= '{0}'".format(posting_date)
|
||||||
|
|
||||||
if company:
|
if company:
|
||||||
cond += "and company = {0}".format(frappe.db.escape(company))
|
cond += "and company = {0}".format(frappe.db.escape(company))
|
||||||
|
|
||||||
|
if party:
|
||||||
|
cond += "and party = {0}".format(frappe.db.escape(party))
|
||||||
|
|
||||||
data = frappe.db.sql(
|
data = frappe.db.sql(
|
||||||
""" SELECT party, sum({0}) as amount
|
""" SELECT party, sum({0}) as amount
|
||||||
FROM `tabGL Entry`
|
FROM `tabGL Entry`
|
||||||
@ -903,7 +906,6 @@ def get_partywise_advanced_payment_amount(
|
|||||||
),
|
),
|
||||||
party_type,
|
party_type,
|
||||||
)
|
)
|
||||||
|
|
||||||
if data:
|
if data:
|
||||||
return frappe._dict(data)
|
return frappe._dict(data)
|
||||||
|
|
||||||
|
|||||||
@ -31,7 +31,6 @@ class AccountsReceivableSummary(ReceivablePayableReport):
|
|||||||
|
|
||||||
def get_data(self, args):
|
def get_data(self, args):
|
||||||
self.data = []
|
self.data = []
|
||||||
|
|
||||||
self.receivables = ReceivablePayableReport(self.filters).run(args)[1]
|
self.receivables = ReceivablePayableReport(self.filters).run(args)[1]
|
||||||
|
|
||||||
self.get_party_total(args)
|
self.get_party_total(args)
|
||||||
@ -42,6 +41,7 @@ class AccountsReceivableSummary(ReceivablePayableReport):
|
|||||||
self.filters.report_date,
|
self.filters.report_date,
|
||||||
self.filters.show_future_payments,
|
self.filters.show_future_payments,
|
||||||
self.filters.company,
|
self.filters.company,
|
||||||
|
party=self.filters.get(scrub(self.party_type)),
|
||||||
)
|
)
|
||||||
or {}
|
or {}
|
||||||
)
|
)
|
||||||
@ -74,6 +74,9 @@ class AccountsReceivableSummary(ReceivablePayableReport):
|
|||||||
row.gl_balance = gl_balance_map.get(party)
|
row.gl_balance = gl_balance_map.get(party)
|
||||||
row.diff = flt(row.outstanding) - flt(row.gl_balance)
|
row.diff = flt(row.outstanding) - flt(row.gl_balance)
|
||||||
|
|
||||||
|
if self.filters.show_future_payments:
|
||||||
|
row.remaining_balance = flt(row.outstanding) - flt(row.future_amount)
|
||||||
|
|
||||||
self.data.append(row)
|
self.data.append(row)
|
||||||
|
|
||||||
def get_party_total(self, args):
|
def get_party_total(self, args):
|
||||||
@ -106,6 +109,7 @@ class AccountsReceivableSummary(ReceivablePayableReport):
|
|||||||
"range4": 0.0,
|
"range4": 0.0,
|
||||||
"range5": 0.0,
|
"range5": 0.0,
|
||||||
"total_due": 0.0,
|
"total_due": 0.0,
|
||||||
|
"future_amount": 0.0,
|
||||||
"sales_person": [],
|
"sales_person": [],
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
@ -151,6 +155,10 @@ class AccountsReceivableSummary(ReceivablePayableReport):
|
|||||||
|
|
||||||
self.setup_ageing_columns()
|
self.setup_ageing_columns()
|
||||||
|
|
||||||
|
if self.filters.show_future_payments:
|
||||||
|
self.add_column(label=_("Future Payment Amount"), fieldname="future_amount")
|
||||||
|
self.add_column(label=_("Remaining Balance"), fieldname="remaining_balance")
|
||||||
|
|
||||||
if self.party_type == "Customer":
|
if self.party_type == "Customer":
|
||||||
self.add_column(
|
self.add_column(
|
||||||
label=_("Territory"), fieldname="territory", fieldtype="Link", options="Territory"
|
label=_("Territory"), fieldname="territory", fieldtype="Link", options="Territory"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user