fix: Adding proper error message
diff --git a/erpnext/accounts/party.py b/erpnext/accounts/party.py
index 86d85ec..87bc468 100644
--- a/erpnext/accounts/party.py
+++ b/erpnext/accounts/party.py
@@ -281,8 +281,9 @@
existing_gle_currency = get_party_gle_currency(party_type, party, company)
if existing_gle_currency and party_account_currency != existing_gle_currency:
- frappe.throw(_("Accounting Entry for {0}: {1} can only be made in currency: {2}")
- .format(party_type, party, existing_gle_currency), InvalidAccountCurrency)
+ frappe.throw(_("{0} : {1} has accounting entries in currency {2} for company {3}. Please select a receivable or payable account with currency {2}.")
+ .format(frappe.bold(party_type), frappe.bold(party), frappe.bold(existing_gle_currency), frappe.bold(company)))
+
def validate_party_accounts(doc):
companies = []
@@ -302,14 +303,12 @@
else:
company_default_currency = frappe.db.get_value('Company', account.company, "default_currency")
- if existing_gle_currency and party_account_currency != existing_gle_currency:
- if doc.doctype == 'Customer':
- error_msg = _("Customer {0} has Accounting entries in currency {1} for company {2}. Please select a receivable or payable account with currency {1}.").format(frappe.bold(doc.customer_name), frappe.bold(existing_gle_currency), frappe.bold(account.company))
- elif doc.doctype == 'Supplier':
- error_msg = _("Supplier {0} has Accounting entries in currency {1} for company {2}. Please select a receivable or payable account with currency {1}.").format(frappe.bold(doc.supplier_name), frappe.bold(existing_gle_currency), frappe.bold(account.company))
- else:
- error_msg = _("{0} has Accounting entries in currency {1} for company {2}. Please select a receivable or payable account with currency {1}.").format(frappe.bold(doc.name), frappe.bold(existing_gle_currency), frappe.bold(account.company))
- frappe.throw(error_msg)
+ if doc.doctype == 'Customer':
+ validate_party_gle_currency(doc.doctype, doc.customer_name, account.company,party_account_currency)
+ elif doc.doctype == 'Supplier':
+ validate_party_gle_currency(doc.doctype, doc.supplier_name, account.company,party_account_currency)
+ else:
+ validate_party_gle_currency(doc.doctype, doc.name, account.company,party_account_currency)
if doc.get("default_currency") and party_account_currency and company_default_currency:
if doc.default_currency != party_account_currency and doc.default_currency != company_default_currency: