[fix] party gle currency validation
diff --git a/erpnext/accounts/party.py b/erpnext/accounts/party.py
index 516608f..d7b23ac 100644
--- a/erpnext/accounts/party.py
+++ b/erpnext/accounts/party.py
@@ -203,9 +203,11 @@
return frappe.local_cache("party_gle_currency", (party_type, party, company), generator)
-def validate_party_gle_currency(party_type, party, company):
+def validate_party_gle_currency(party_type, party, company, party_account_currency=None):
"""Validate party account currency with existing GL Entry's currency"""
- party_account_currency = get_party_account_currency(party_type, party, company)
+ if not party_account_currency:
+ party_account_currency = get_party_account_currency(party_type, party, company)
+
existing_gle_currency = get_party_gle_currency(party_type, party, company)
if existing_gle_currency and party_account_currency != existing_gle_currency:
@@ -221,10 +223,10 @@
.format(doc.doctype, doc.name), DuplicatePartyAccountError)
else:
companies.append(account.company)
-
+
party_account_currency = frappe.db.get_value("Account", account.account, "account_currency")
existing_gle_currency = get_party_gle_currency(doc.doctype, doc.name, account.company)
-
+
if existing_gle_currency and party_account_currency != existing_gle_currency:
frappe.throw(_("Accounting entries have already been made in currency {0} for company {1}. Please select a receivable or payable account with currency {0}.").format(existing_gle_currency, account.company))