diff --git a/erpnext/accounts/doctype/bank_transaction/bank_transaction.py b/erpnext/accounts/doctype/bank_transaction/bank_transaction.py index f943b34581..4e5057048f 100644 --- a/erpnext/accounts/doctype/bank_transaction/bank_transaction.py +++ b/erpnext/accounts/doctype/bank_transaction/bank_transaction.py @@ -45,7 +45,7 @@ class BankTransaction(StatusUpdater): def clear_linked_payment_entries(self): for payment_entry in self.payment_entries: allocated_amount = get_total_allocated_amount(payment_entry) - paid_amount = get_paid_amount(payment_entry) + paid_amount = get_paid_amount(payment_entry, self.currency) if paid_amount and allocated_amount: if flt(allocated_amount[0]["allocated_amount"]) > flt(paid_amount): @@ -80,9 +80,17 @@ def get_total_allocated_amount(payment_entry): AND bt.docstatus = 1""", (payment_entry.payment_document, payment_entry.payment_entry), as_dict=True) -def get_paid_amount(payment_entry): +def get_paid_amount(payment_entry, currency): if payment_entry.payment_document in ["Payment Entry", "Sales Invoice", "Purchase Invoice"]: - return frappe.db.get_value(payment_entry.payment_document, payment_entry.payment_entry, "paid_amount") + + paid_amount_field = "paid_amount" + if payment_entry.payment_document == 'Payment Entry': + doc = frappe.get_doc("Payment Entry", payment_entry.payment_entry) + paid_amount_field = ("base_paid_amount" + if doc.paid_to_account_currency == currency else "paid_amount") + + return frappe.db.get_value(payment_entry.payment_document, + payment_entry.payment_entry, paid_amount_field) elif payment_entry.payment_document == "Journal Entry": return frappe.db.get_value(payment_entry.payment_document, payment_entry.payment_entry, "total_credit") diff --git a/erpnext/accounts/page/bank_reconciliation/bank_reconciliation.py b/erpnext/accounts/page/bank_reconciliation/bank_reconciliation.py index 36c939996f..bd4b4d7e0b 100644 --- a/erpnext/accounts/page/bank_reconciliation/bank_reconciliation.py +++ b/erpnext/accounts/page/bank_reconciliation/bank_reconciliation.py @@ -124,8 +124,6 @@ def check_matching_amount(bank_account, company, transaction): 'txt': '%%%s%%' % amount }, as_dict=True) - frappe.errprint(journal_entries) - if transaction.credit > 0: sales_invoices = frappe.db.sql(""" SELECT