From 2e75b41331ef726ddf265bb11752ee3554f4678b Mon Sep 17 00:00:00 2001 From: Abdeali Chharchhoda Date: Tue, 4 Nov 2025 12:38:17 +0530 Subject: [PATCH] fix: on changes of paid from/to account fetch company bank account --- .../doctype/payment_entry/payment_entry.js | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/erpnext/accounts/doctype/payment_entry/payment_entry.js b/erpnext/accounts/doctype/payment_entry/payment_entry.js index ed8f2d7960..81b3cd421e 100644 --- a/erpnext/accounts/doctype/payment_entry/payment_entry.js +++ b/erpnext/accounts/doctype/payment_entry/payment_entry.js @@ -621,6 +621,8 @@ frappe.ui.form.on("Payment Entry", { paid_from: function (frm) { if (frm.set_party_account_based_on_party) return; + frm.events.set_company_bank_account(frm); + frm.events.set_account_currency_and_balance( frm, frm.doc.paid_from, @@ -641,6 +643,8 @@ frappe.ui.form.on("Payment Entry", { paid_to: function (frm) { if (frm.set_party_account_based_on_party) return; + frm.events.set_company_bank_account(frm); + frm.events.set_account_currency_and_balance( frm, frm.doc.paid_to, @@ -1366,6 +1370,8 @@ frappe.ui.form.on("Payment Entry", { }, bank_account: function (frm) { + if (frm.set_company_bank_account_based_on_coa) return; + const field = frm.doc.payment_type == "Pay" ? "paid_from" : "paid_to"; if (frm.doc.bank_account && ["Pay", "Receive"].includes(frm.doc.payment_type)) { frappe.call({ @@ -1404,6 +1410,34 @@ frappe.ui.form.on("Payment Entry", { } }, + set_company_bank_account: function (frm) { + if (!["Pay", "Receive"].includes(frm.doc.payment_type)) return; + + const field = frm.doc.payment_type == "Pay" ? "paid_from" : "paid_to"; + + if (!frm.doc.company || !frm.doc[field]) return; + + frm.set_company_bank_account_based_on_coa = true; + + frappe.call({ + method: "frappe.client.get_value", + args: { + doctype: "Bank Account", + filters: { + company: frm.doc.company, + account: frm.doc[field], + disabled: 0, + }, + fieldname: ["name"], + }, + callback: async function (r) { + if (r.message) await frm.set_value("bank_account", r.message.name); + + frm.set_company_bank_account_based_on_coa = false; + }, + }); + }, + sales_taxes_and_charges_template: function (frm) { frm.trigger("fetch_taxes_from_template"); }, -- GitLab