diff --git a/erpnext/accounts/doctype/bank_transaction/bank_transaction.py b/erpnext/accounts/doctype/bank_transaction/bank_transaction.py index dcf6d44105c..f943b345810 100644 --- a/erpnext/accounts/doctype/bank_transaction/bank_transaction.py +++ b/erpnext/accounts/doctype/bank_transaction/bank_transaction.py @@ -36,6 +36,10 @@ class BankTransaction(StatusUpdater): frappe.db.set_value(self.doctype, self.name, "allocated_amount", 0) frappe.db.set_value(self.doctype, self.name, "unallocated_amount", abs(flt(self.credit) - flt(self.debit))) + amount = self.debit or self.credit + if amount == self.allocated_amount: + frappe.db.set_value(self.doctype, self.name, "status", "Reconciled") + self.reload() def clear_linked_payment_entries(self): diff --git a/erpnext/accounts/page/bank_reconciliation/bank_reconciliation.py b/erpnext/accounts/page/bank_reconciliation/bank_reconciliation.py index f25c809a672..e9093847644 100644 --- a/erpnext/accounts/page/bank_reconciliation/bank_reconciliation.py +++ b/erpnext/accounts/page/bank_reconciliation/bank_reconciliation.py @@ -39,7 +39,9 @@ def add_payment_to_transaction(transaction, payment_entry, gl_entry): "payment_entry": payment_entry.name, "allocated_amount": allocated_amount }) + transaction.save() + transaction.update_allocations() @frappe.whitelist() def get_linked_payments(bank_transaction): diff --git a/erpnext/patches.txt b/erpnext/patches.txt index c060264a937..c6c3ae38b92 100755 --- a/erpnext/patches.txt +++ b/erpnext/patches.txt @@ -598,4 +598,5 @@ erpnext.patches.v11_1.set_salary_details_submittable erpnext.patches.v11_1.rename_depends_on_lwp erpnext.patches.v11_1.set_missing_title_for_quotation execute:frappe.delete_doc("Report", "Inactive Items") -erpnext.patches.v11_1.delete_scheduling_tool \ No newline at end of file +erpnext.patches.v11_1.delete_scheduling_tool +erpnext.patches.v11_1.update_bank_transaction_status \ No newline at end of file diff --git a/erpnext/patches/v11_1/update_bank_transaction_status.py b/erpnext/patches/v11_1/update_bank_transaction_status.py new file mode 100644 index 00000000000..1acdfcccf9f --- /dev/null +++ b/erpnext/patches/v11_1/update_bank_transaction_status.py @@ -0,0 +1,15 @@ +# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors +# License: GNU General Public License v3. See license.txt + +from __future__ import unicode_literals +import frappe + +def execute(): + frappe.reload_doc("accounts", "doctype", "bank_transaction") + + frappe.db.sql(""" UPDATE `tabBank Transaction` + SET status = 'Reconciled' + WHERE + status = 'Settled' and (debit = allocated_amount or credit = allocated_amount) + and ifnull(allocated_amount, 0) > 0 + """) \ No newline at end of file