fix: remove multiple against account values from gle
diff --git a/erpnext/accounts/doctype/journal_entry/journal_entry.py b/erpnext/accounts/doctype/journal_entry/journal_entry.py
index 0616643..e4a8939 100644
--- a/erpnext/accounts/doctype/journal_entry/journal_entry.py
+++ b/erpnext/accounts/doctype/journal_entry/journal_entry.py
@@ -680,23 +680,39 @@
 		if self.voucher_type in ("Deferred Revenue", "Deferred Expense"):
 			for d in self.get("accounts"):
 				if d.reference_type == "Sales Invoice":
-					field = "customer"
+					against_type = "Customer"
 				else:
-					field = "supplier"
+					against_type = "Supplier"
 
-				d.against_account = frappe.db.get_value(d.reference_type, d.reference_name, field)
+				d.against_type = against_type
+				d.against_account = frappe.db.get_value(
+					d.reference_type, d.reference_name, against_type.lower()
+				)
 		else:
 			for d in self.get("accounts"):
 				if flt(d.debit) > 0:
-					accounts_debited.append(d.party or d.account)
+					accounts_debited.append(d)
 				if flt(d.credit) > 0:
-					accounts_credited.append(d.party or d.account)
+					accounts_credited.append(d)
 
 			for d in self.get("accounts"):
-				if flt(d.debit) > 0:
-					d.against_account = ", ".join(list(set(accounts_credited)))
-				if flt(d.credit) > 0:
-					d.against_account = ", ".join(list(set(accounts_debited)))
+				if d.exchange_rate != 1.0:
+					d.against_type = d.party_type
+					d.against_account = d.party
+				elif flt(d.debit) > 0:
+					for acc in accounts_credited:
+						if acc.party == d.party:
+							d.against_type = "Account"
+							d.against_account = d.account
+							d.party_type = ""
+							d.party = ""
+				elif flt(d.credit) > 0:
+					for acc in accounts_debited:
+						if acc.party == d.party:
+							d.against_type = "Account"
+							d.against_account = d.account
+							d.party_type = ""
+							d.party = ""
 
 	def validate_debit_credit_amount(self):
 		if not (self.voucher_type == "Exchange Gain Or Loss" and self.multi_currency):
@@ -906,7 +922,7 @@
 							"party_type": d.party_type,
 							"due_date": self.due_date,
 							"party": d.party,
-							"against_type": "Account",
+							"against_type": d.against_type,
 							"against": d.against_account,
 							"debit": flt(d.debit, d.precision("debit")),
 							"credit": flt(d.credit, d.precision("credit")),