From 6fc96366420303a3ea3b485d35ffca2aab1265a7 Mon Sep 17 00:00:00 2001 From: ravibharathi656 Date: Fri, 26 Dec 2025 18:00:08 +0530 Subject: [PATCH 1/2] fix(bank reconciliation tool): carry bank account to payment entry --- .../bank_reconciliation_tool.py | 2 ++ .../bank_reconciliation_tool/dialog_manager.js | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py b/erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py index 2c8d011853f..e512d98cd88 100644 --- a/erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py +++ b/erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py @@ -304,6 +304,7 @@ def create_payment_entry_bts( project=None, cost_center=None, allow_edit=None, + company_bank_account=None, ): # Create a new payment entry based on the bank transaction bank_transaction = frappe.db.get_values( @@ -344,6 +345,7 @@ def create_payment_entry_bts( pe.mode_of_payment = mode_of_payment pe.project = project pe.cost_center = cost_center + pe.bank_account = company_bank_account pe.validate() diff --git a/erpnext/public/js/bank_reconciliation_tool/dialog_manager.js b/erpnext/public/js/bank_reconciliation_tool/dialog_manager.js index bab25b6eca2..9879ede4ef3 100644 --- a/erpnext/public/js/bank_reconciliation_tool/dialog_manager.js +++ b/erpnext/public/js/bank_reconciliation_tool/dialog_manager.js @@ -361,6 +361,21 @@ erpnext.accounts.bank_reconciliation.DialogManager = class DialogManager { mandatory_depends_on: "eval:doc.action=='Create Voucher' && doc.document_type=='Payment Entry'", }, + { + fieldname: "bank_account", + fieldtype: "Link", + label: "Company Bank Account", + options: "Bank Account", + depends_on: "eval:doc.party", + get_query: function () { + return { + filters: { + is_company_account: 1, + company: this.company, + }, + }; + }, + }, { fieldname: "project", fieldtype: "Link", @@ -511,6 +526,7 @@ erpnext.accounts.bank_reconciliation.DialogManager = class DialogManager { mode_of_payment: values.mode_of_payment, project: values.project, cost_center: values.cost_center, + company_bank_account: values?.company_bank_account || this?.bank_account, }, callback: (response) => { const alert_string = __("Bank Transaction {0} added as Payment Entry", [ @@ -582,6 +598,7 @@ erpnext.accounts.bank_reconciliation.DialogManager = class DialogManager { project: values.project, cost_center: values.cost_center, allow_edit: true, + company_bank_account: values?.company_bank_account || this?.bank_account, }, callback: (r) => { const doc = frappe.model.sync(r.message); From 9dfb0fdcbb9d5242f5406d17a5560459b30092c8 Mon Sep 17 00:00:00 2001 From: ravibharathi656 Date: Fri, 26 Dec 2025 20:41:01 +0530 Subject: [PATCH 2/2] fix(bank reconciliation tool): fix incorrect bank account field mapping --- .../bank_reconciliation_tool/bank_reconciliation_tool.py | 4 +++- erpnext/public/js/bank_reconciliation_tool/dialog_manager.js | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py b/erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py index e512d98cd88..2fd49c962f7 100644 --- a/erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py +++ b/erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py @@ -345,7 +345,9 @@ def create_payment_entry_bts( pe.mode_of_payment = mode_of_payment pe.project = project pe.cost_center = cost_center - pe.bank_account = company_bank_account + + if company_bank_account: + pe.bank_account = company_bank_account pe.validate() diff --git a/erpnext/public/js/bank_reconciliation_tool/dialog_manager.js b/erpnext/public/js/bank_reconciliation_tool/dialog_manager.js index 9879ede4ef3..16d4e9971d8 100644 --- a/erpnext/public/js/bank_reconciliation_tool/dialog_manager.js +++ b/erpnext/public/js/bank_reconciliation_tool/dialog_manager.js @@ -526,7 +526,7 @@ erpnext.accounts.bank_reconciliation.DialogManager = class DialogManager { mode_of_payment: values.mode_of_payment, project: values.project, cost_center: values.cost_center, - company_bank_account: values?.company_bank_account || this?.bank_account, + company_bank_account: values?.bank_account || this?.bank_account, }, callback: (response) => { const alert_string = __("Bank Transaction {0} added as Payment Entry", [ @@ -598,7 +598,7 @@ erpnext.accounts.bank_reconciliation.DialogManager = class DialogManager { project: values.project, cost_center: values.cost_center, allow_edit: true, - company_bank_account: values?.company_bank_account || this?.bank_account, + company_bank_account: values?.bank_account || this?.bank_account, }, callback: (r) => { const doc = frappe.model.sync(r.message);