Bank reconciliation statement: show amounts which has cleared in the bank but not registered in the system
This commit is contained in:
parent
354acf6fc9
commit
237f3765e5
@ -15,25 +15,36 @@ def execute(filters=None):
|
|||||||
data = get_entries(filters)
|
data = get_entries(filters)
|
||||||
|
|
||||||
from erpnext.accounts.utils import get_balance_on
|
from erpnext.accounts.utils import get_balance_on
|
||||||
balance_as_per_company = get_balance_on(filters["account"], filters["report_date"])
|
balance_as_per_system = get_balance_on(filters["account"], filters["report_date"])
|
||||||
|
|
||||||
total_debit, total_credit = 0,0
|
total_debit, total_credit = 0,0
|
||||||
for d in data:
|
for d in data:
|
||||||
total_debit += flt(d[2])
|
total_debit += flt(d[2])
|
||||||
total_credit += flt(d[3])
|
total_credit += flt(d[3])
|
||||||
|
|
||||||
bank_bal = flt(balance_as_per_company) - flt(total_debit) + flt(total_credit)
|
amounts_not_reflected_in_system = frappe.db.sql("""select sum(ifnull(jvd.debit, 0) - ifnull(jvd.credit, 0))
|
||||||
|
from `tabJournal Voucher Detail` jvd, `tabJournal Voucher` jv
|
||||||
|
where jvd.parent = jv.name and jv.docstatus=1 and jvd.account=%s
|
||||||
|
and jv.posting_date > %s and jv.clearance_date <= %s
|
||||||
|
""", (filters["account"], filters["report_date"], filters["report_date"]))
|
||||||
|
|
||||||
|
amounts_not_reflected_in_system = flt(amounts_not_reflected_in_system[0][0]) \
|
||||||
|
if amounts_not_reflected_in_system else 0.0
|
||||||
|
|
||||||
|
bank_bal = flt(balance_as_per_system) - flt(total_debit) + flt(total_credit) \
|
||||||
|
+ amounts_not_reflected_in_system
|
||||||
|
|
||||||
data += [
|
data += [
|
||||||
get_balance_row("Balance as per company books", balance_as_per_company),
|
get_balance_row("Balance as per system", balance_as_per_system),
|
||||||
["", "Amounts not reflected in bank", total_debit, total_credit, "", "", "", ""],
|
["", "Amounts not reflected in bank", total_debit, total_credit, "", "", "", ""],
|
||||||
|
get_balance_row("Amounts not reflected in system", amounts_not_reflected_in_system),
|
||||||
get_balance_row("Balance as per bank", bank_bal)
|
get_balance_row("Balance as per bank", bank_bal)
|
||||||
]
|
]
|
||||||
|
|
||||||
return columns, data
|
return columns, data
|
||||||
|
|
||||||
def get_columns():
|
def get_columns():
|
||||||
return ["Posting Date:Date:100", "Journal Voucher:Link/Journal Voucher:200",
|
return ["Posting Date:Date:100", "Journal Voucher:Link/Journal Voucher:220",
|
||||||
"Debit:Currency:120", "Credit:Currency:120",
|
"Debit:Currency:120", "Credit:Currency:120",
|
||||||
"Against Account:Link/Account:200", "Reference::100", "Ref Date:Date:110", "Clearance Date:Date:110"
|
"Against Account:Link/Account:200", "Reference::100", "Ref Date:Date:110", "Clearance Date:Date:110"
|
||||||
]
|
]
|
||||||
@ -55,4 +66,4 @@ def get_balance_row(label, amount):
|
|||||||
if amount > 0:
|
if amount > 0:
|
||||||
return ["", label, amount, 0, "", "", "", ""]
|
return ["", label, amount, 0, "", "", "", ""]
|
||||||
else:
|
else:
|
||||||
return ["", label, 0, amount, "", "", "", ""]
|
return ["", label, 0, abs(amount), "", "", "", ""]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user