diff --git a/erpnext/accounts/doctype/bank_statement_import/bank_statement_import.py b/erpnext/accounts/doctype/bank_statement_import/bank_statement_import.py index 1a4747c55b8d..7f5b52e46158 100644 --- a/erpnext/accounts/doctype/bank_statement_import/bank_statement_import.py +++ b/erpnext/accounts/doctype/bank_statement_import/bank_statement_import.py @@ -148,6 +148,9 @@ def start_import( import_file = ImportFile("Bank Transaction", file=file, import_type="Insert New Records") data = parse_data_from_template(import_file.raw_data) + # Importer expects 'Data Import' class, which has 'payload_count' attribute + if not data_import.get("payload_count"): + data_import.payload_count = len(data) - 1 if import_file_path: add_bank_account(data, bank_account) diff --git a/erpnext/accounts/doctype/bank_transaction/bank_transaction.py b/erpnext/accounts/doctype/bank_transaction/bank_transaction.py index 5e17881b6c12..4246ba5c032d 100644 --- a/erpnext/accounts/doctype/bank_transaction/bank_transaction.py +++ b/erpnext/accounts/doctype/bank_transaction/bank_transaction.py @@ -56,17 +56,17 @@ def validate_currency(self): Bank Transaction should be on the same currency as the Bank Account. """ if self.currency and self.bank_account: - account = frappe.get_cached_value("Bank Account", self.bank_account, "account") - account_currency = frappe.get_cached_value("Account", account, "account_currency") - - if self.currency != account_currency: - frappe.throw( - _( - "Transaction currency: {0} cannot be different from Bank Account({1}) currency: {2}" - ).format( - frappe.bold(self.currency), frappe.bold(self.bank_account), frappe.bold(account_currency) + if account := frappe.get_cached_value("Bank Account", self.bank_account, "account"): + account_currency = frappe.get_cached_value("Account", account, "account_currency") + + if self.currency != account_currency: + frappe.throw( + _( + "Transaction currency: {0} cannot be different from Bank Account({1}) currency: {2}" + ).format( + frappe.bold(self.currency), frappe.bold(self.bank_account), frappe.bold(account_currency) + ) ) - ) def set_status(self): if self.docstatus == 2: