fix: Add party account validation for journal entry
diff --git a/erpnext/accounts/doctype/journal_entry/journal_entry.py b/erpnext/accounts/doctype/journal_entry/journal_entry.py
index 937597b..44a0182 100644
--- a/erpnext/accounts/doctype/journal_entry/journal_entry.py
+++ b/erpnext/accounts/doctype/journal_entry/journal_entry.py
@@ -37,6 +37,7 @@
 		self.validate_party()
 		self.validate_entries_for_advance()
 		self.validate_multi_currency()
+		self.validate_party_account_currency()
 		self.set_amounts_in_company_currency()
 		self.validate_debit_credit_amount()
 
@@ -433,6 +434,18 @@
 
 		self.set_exchange_rate()
 
+	def validate_party_account_currency(self):
+		for d in self.get("accounts"):
+			if self.party_type not in ('Customer', 'Supplier'):
+				continue
+
+			party_gle_currency = get_party_gle_currency(self.party_type, self.party, self.company)
+			party_account_currency = get_account_currency(d.account)
+
+		if not party_gle_currency and (party_account_currency != self.currency):
+			frappe.throw(_("Row {0}: Party Account {1} currency and document currency should be same").format(
+				frappe.bold(d.idx), frappe.bold(d.account)))
+
 	def set_amounts_in_company_currency(self):
 		for d in self.get("accounts"):
 			d.debit_in_account_currency = flt(d.debit_in_account_currency, d.precision("debit_in_account_currency"))