Skip to content

Commit 41cbf9e

Browse files
committed
fix: on changes of paid from/to account fetch company bank account
1 parent 689eee7 commit 41cbf9e

File tree

2 files changed

+37
-0
lines changed

2 files changed

+37
-0
lines changed

erpnext/accounts/doctype/bank_account/bank_account.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,3 +115,10 @@ def get_bank_account_details(bank_account):
115115
return frappe.get_cached_value(
116116
"Bank Account", bank_account, ["account", "bank", "bank_account_no"], as_dict=1
117117
)
118+
119+
120+
@frappe.whitelist()
121+
def get_company_bank_account(company: str, account: str):
122+
frappe.has_permission("Bank Account", throw=True)
123+
124+
return frappe.get_cached_value("Bank Account", {"company": company, "account": account, "disabled": 0})

erpnext/accounts/doctype/payment_entry/payment_entry.js

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -575,6 +575,8 @@ frappe.ui.form.on("Payment Entry", {
575575
},
576576

577577
paid_from: function (frm) {
578+
frm.events.set_company_bank_account(frm);
579+
578580
if (frm.set_party_account_based_on_party) return;
579581

580582
frm.events.set_account_currency_and_balance(
@@ -591,6 +593,8 @@ frappe.ui.form.on("Payment Entry", {
591593
},
592594

593595
paid_to: function (frm) {
596+
frm.events.set_company_bank_account(frm);
597+
594598
if (frm.set_party_account_based_on_party) return;
595599

596600
frm.events.set_account_currency_and_balance(
@@ -1363,6 +1367,32 @@ frappe.ui.form.on("Payment Entry", {
13631367
}
13641368
},
13651369

1370+
set_company_bank_account: function (frm) {
1371+
if (!["Pay", "Receive"].includes(frm.doc.payment_type)) return;
1372+
1373+
const field = frm.doc.payment_type == "Pay" ? "paid_from" : "paid_to";
1374+
1375+
if (!frm.doc[field]) {
1376+
frm.set_value(field, null);
1377+
return;
1378+
}
1379+
1380+
if (frm.doc.bank_account) return;
1381+
1382+
frappe.call({
1383+
method: "erpnext.accounts.doctype.bank_account.bank_account.get_company_bank_account",
1384+
args: {
1385+
company: frm.doc.company,
1386+
account: frm.doc[field],
1387+
},
1388+
callback: function (r) {
1389+
if (r.message) {
1390+
frm.set_value("bank_account", r.message);
1391+
}
1392+
},
1393+
});
1394+
},
1395+
13661396
sales_taxes_and_charges_template: function (frm) {
13671397
frm.trigger("fetch_taxes_from_template");
13681398
},

0 commit comments

Comments
 (0)