diff --git a/erpnext/accounts/doctype/journal_entry/journal_entry.py b/erpnext/accounts/doctype/journal_entry/journal_entry.py
index 9c39f0d..25b05cb 100644
--- a/erpnext/accounts/doctype/journal_entry/journal_entry.py
+++ b/erpnext/accounts/doctype/journal_entry/journal_entry.py
@@ -298,8 +298,11 @@
 
 	def set_amounts_in_company_currency(self):
 		for d in self.get("accounts"):
-			d.debit = flt(flt(d.debit_in_account_currency)*flt(d.exchange_rate), d.precision("debit"))
-			d.credit = flt(flt(d.credit_in_account_currency)*flt(d.exchange_rate), d.precision("credit"))
+			d.debit_in_account_currency = flt(d.debit_in_account_currency, d.precision("debit_in_account_currency"))
+			d.credit_in_account_currency = flt(d.credit_in_account_currency, d.precision("credit_in_account_currency"))
+
+			d.debit = flt(d.debit_in_account_currency * flt(d.exchange_rate), d.precision("debit"))
+			d.credit = flt(d.credit_in_account_currency * flt(d.exchange_rate), d.precision("credit"))
 
 	def set_exchange_rate(self):
 		for d in self.get("accounts"):
@@ -361,10 +364,10 @@
 			elif frappe.db.get_value("Account", d.account, "account_type") in ["Bank", "Cash"]:
 				total_amount += (d.debit_in_account_currency or d.credit_in_account_currency)
 				bank_account_currency = d.account_currency
-		
+
 		if not self.pay_to_recd_from:
 			total_amount = 0
-		
+
 		self.set_total_amount(total_amount, bank_account_currency)
 
 	def set_total_amount(self, amt, currency):
@@ -526,7 +529,7 @@
 			if not account:
 				account = frappe.db.get_value("Account",
 					{"company": company, "account_type": "Bank", "is_group": 0})
-				
+
 		elif voucher_type=="Cash Entry":
 			account = frappe.db.get_value("Company", company, "default_cash_account")
 			if not account:
@@ -645,7 +648,7 @@
 	})
 
 	bank_row = je.append("accounts")
-	
+
 	#make it bank_details
 	bank_account = get_default_bank_cash_account(ref_doc.company, "Bank Entry", account=args.get("bank_account"))
 	if bank_account:
@@ -667,7 +670,7 @@
 
 	je.set_amounts_in_company_currency()
 	je.set_total_debit_credit()
-	
+
 	return je if args.get("journal_entry") else je.as_dict()
 
 @frappe.whitelist()
