[fix] Journal Entry: init debit/credit in account currency
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()