Merge pull request #4413 from nabinhait/bank_transfer_exchange_rate
Bank transfer exchange rate and account balance in COA
diff --git a/erpnext/accounts/doctype/journal_entry/journal_entry.js b/erpnext/accounts/doctype/journal_entry/journal_entry.js
index b1c355b..479eaaf 100644
--- a/erpnext/accounts/doctype/journal_entry/journal_entry.js
+++ b/erpnext/accounts/doctype/journal_entry/journal_entry.js
@@ -368,10 +368,6 @@
credit: function(frm, dt, dn) {
cur_frm.cscript.update_totals(frm.doc);
- },
-
- exchange_rate: function(frm, cdt, cdn) {
- erpnext.journal_entry.set_debit_credit_in_company_currency(frm, cdt, cdn);
}
})
@@ -418,7 +414,7 @@
if(row.account_currency == company_currency || !frm.doc.multi_currency) {
frappe.model.set_value(cdt, cdn, "exchange_rate", 1);
- } else if (!row.exchange_rate || row.account_type == "Bank") {
+ } else if (!row.exchange_rate || row.exchange_rate == 1 || row.account_type == "Bank") {
frappe.call({
method: "erpnext.accounts.doctype.journal_entry.journal_entry.get_exchange_rate",
args: {
diff --git a/erpnext/accounts/doctype/journal_entry/journal_entry.py b/erpnext/accounts/doctype/journal_entry/journal_entry.py
index 8eaef8b..ec22483 100644
--- a/erpnext/accounts/doctype/journal_entry/journal_entry.py
+++ b/erpnext/accounts/doctype/journal_entry/journal_entry.py
@@ -295,7 +295,7 @@
for d in self.get("accounts"):
if d.account_currency == self.company_currency:
d.exchange_rate = 1
- elif not d.exchange_rate or d.account_type=="Bank" or \
+ elif not d.exchange_rate or d.exchange_rate == 1 or \
(d.reference_type in ("Sales Invoice", "Purchase Invoice") and d.reference_name):
d.exchange_rate = get_exchange_rate(d.account, d.account_currency, self.company,
d.reference_type, d.reference_name, d.debit, d.credit, d.exchange_rate)
diff --git a/erpnext/accounts/page/accounts_browser/accounts_browser.js b/erpnext/accounts/page/accounts_browser/accounts_browser.js
index 6a2a831..403c1ce 100644
--- a/erpnext/accounts/page/accounts_browser/accounts_browser.js
+++ b/erpnext/accounts/page/accounts_browser/accounts_browser.js
@@ -166,7 +166,10 @@
var dr_or_cr = node.data.balance < 0 ? "Cr" : "Dr";
if (me.ctype == 'Account' && node.data && node.data.balance!==undefined) {
$('<span class="balance-area pull-right text-muted small">'
- + format_currency(Math.abs(node.data.balance), node.data.account_currency)
+ + (node.data.balance_in_account_currency ?
+ (format_currency(Math.abs(node.data.balance_in_account_currency),
+ node.data.account_currency) + " / ") : "")
+ + format_currency(Math.abs(node.data.balance), node.data.company_currency)
+ " " + dr_or_cr
+ '</span>').insertBefore(node.$ul);
}
diff --git a/erpnext/accounts/page/accounts_browser/accounts_browser.py b/erpnext/accounts/page/accounts_browser/accounts_browser.py
index 210c4bf..891a05d 100644
--- a/erpnext/accounts/page/accounts_browser/accounts_browser.py
+++ b/erpnext/accounts/page/accounts_browser/accounts_browser.py
@@ -44,7 +44,12 @@
args['parent'], as_dict=1)
if ctype == 'Account':
+ company_currency = frappe.db.get_value("Company", company, "default_currency")
for each in acc:
- each["balance"] = flt(get_balance_on(each.get("value")))
+ each["company_currency"] = company_currency
+ each["balance"] = flt(get_balance_on(each.get("value"), in_account_currency=False))
+
+ if each.account_currency != company_currency:
+ each["balance_in_account_currency"] = flt(get_balance_on(each.get("value")))
return acc