diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.js b/erpnext/stock/doctype/stock_entry/stock_entry.js
index 58001bd..75dbfc8 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.js
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.js
@@ -145,6 +145,11 @@
 		var d = locals[cdt][cdn];
 		d.transfer_qty = flt(d.qty) * flt(d.conversion_factor);
 		refresh_field('items');
+		calculate_total(doc, cdt, cdn);
+	},
+	
+	incoming_rate: function(doc, cdt, cdn) {
+		calculate_total(doc, cdt, cdn);
 	},
 
 	production_order: function() {
@@ -479,16 +484,13 @@
 
 var calculate_total = function(doc, cdt, cdn){
 	var d = locals[cdt][cdn];
-	amount = d.incoming_rate * d.qty
+	amount = flt(d.incoming_rate) * flt(d.qty)
 	frappe.model.set_value(cdt, cdn, 'amount', amount);
-	return frappe.call({
-		doc: cur_frm.doc,
-		method: "set_total_amount",
-		callback: function(r) {
-			refresh_field('total_amount');
-		}
-	});
+	var total_amount = 0.0;
+	var items = doc.items || [];
+	for(var i=0;i<items.length;i++) {
+		total_amount += flt(items[i].amount);
+	}
+	doc.total_amount = total_amount;
+	refresh_field("total_amount");
 }
-
-cur_frm.cscript.incoming_rate = calculate_total;
-cur_frm.cscript.qty = calculate_total;
