changes made
diff --git a/erpnext/accounts/doctype/journal_voucher/journal_voucher.py b/erpnext/accounts/doctype/journal_voucher/journal_voucher.py
index 7a036fe..fe41a2c 100644
--- a/erpnext/accounts/doctype/journal_voucher/journal_voucher.py
+++ b/erpnext/accounts/doctype/journal_voucher/journal_voucher.py
@@ -429,7 +429,7 @@
 			if d.against_expense_claim:
 				amt = frappe.db.sql("""select sum(debit) as amt from `tabJournal Voucher Detail` 
 					where against_expense_claim = %s and docstatus = 1""", d.against_expense_claim ,as_dict=1)[0].amt
-				frappe.db.sql("update `tabExpense Claim` set total_amount_reimbursed = %s where name = %s",(amt, d.against_expense_claim))
+				frappe.db.set_value("Expense Claim", d.against_expense_claim , "total_amount_reimbursed", amt)
 				
 	def validate_expense_claim(self):
 		for d in self.entries:
diff --git a/erpnext/hr/doctype/expense_claim/expense_claim.js b/erpnext/hr/doctype/expense_claim/expense_claim.js
index 79d7aac..ba45928 100644
--- a/erpnext/hr/doctype/expense_claim/expense_claim.js
+++ b/erpnext/hr/doctype/expense_claim/expense_claim.js
@@ -22,10 +22,12 @@
 
 				var d1 = frappe.model.add_child(jv, 'Journal Voucher Detail', 'entries');
 				d1.debit = cur_frm.doc.total_sanctioned_amount;
+				d1.against_expense_claim = cur_frm.doc.name;
 
 				// credit to bank
 				var d1 = frappe.model.add_child(jv, 'Journal Voucher Detail', 'entries');
 				d1.credit = cur_frm.doc.total_sanctioned_amount;
+				d1.against_expense_claim = cur_frm.doc.name;
 				if(r.message) {
 					d1.account = r.message.account;
 					d1.balance = r.message.balance;
@@ -89,7 +91,8 @@
 		if(doc.docstatus==0 && doc.exp_approver==user && doc.approval_status=="Approved")
 			 cur_frm.savesubmit();
 
-		if(doc.docstatus==1 && frappe.model.can_create("Journal Voucher") && doc.total_amount_reimbursed < doc.total_sanctioned_amount)
+		if(doc.docstatus==1 && frappe.model.can_create("Journal Voucher") && 
+			cint(doc.total_amount_reimbursed) < cint(doc.total_sanctioned_amount))
 			 cur_frm.add_custom_button(__("Make Bank Voucher"),
 			 	cur_frm.cscript.make_bank_voucher, frappe.boot.doctype_icons["Journal Voucher"]);
 	}
@@ -109,7 +112,7 @@
 		} else {
 			if(doc.approval_status=="Approved") {
 				cur_frm.set_intro(__("Expense Claim has been approved."));
-				if(doc.total_amount_reimbursed== doc.total_sanctioned_amount){
+				if(Math.abs(cint(doc.total_amount_reimbursed) - cint(doc.total_sanctioned_amount)) < .001){
 					cur_frm.set_intro(__("Expense Claim has been reimbursed."));
 				}
 			} else if(doc.approval_status=="Rejected") {