diff --git a/accounts/doctype/sales_invoice/sales_invoice.py b/accounts/doctype/sales_invoice/sales_invoice.py
index 76e87b6..3859595 100644
--- a/accounts/doctype/sales_invoice/sales_invoice.py
+++ b/accounts/doctype/sales_invoice/sales_invoice.py
@@ -91,7 +91,7 @@
 		self.validate_c_form()
 		self.validate_time_logs_are_submitted()
 		self.validate_recurring_invoice()
-		self.validate_multiple_billing("Delivered Note", "dn_detail", "export_amount")
+		self.validate_multiple_billing("Delivery Note", "dn_detail", "export_amount")
 
 	def on_submit(self):
 		if cint(self.doc.update_stock) == 1:
diff --git a/accounts/page/voucher_import_tool/voucher_import_tool.js b/accounts/page/voucher_import_tool/voucher_import_tool.js
index 48216b8..ffa230d 100644
--- a/accounts/page/voucher_import_tool/voucher_import_tool.js
+++ b/accounts/page/voucher_import_tool/voucher_import_tool.js
@@ -30,7 +30,7 @@
 		args: {
 			method: "accounts.page.voucher_import_tool.voucher_import_tool.upload"
 		},
-		callback: function(r) {
+		callback: function(fid, filename, r) {
 			wrapper.waiting.toggle(false);
 			$(wrapper).find(".messages").toggle(true).html(
 				r.join("<div style='margin:4px; border-top:1px solid #aaa;'></div>"))
diff --git a/controllers/accounts_controller.py b/controllers/accounts_controller.py
index acb6077..abefb9b 100644
--- a/controllers/accounts_controller.py
+++ b/controllers/accounts_controller.py
@@ -17,7 +17,7 @@
 from __future__ import unicode_literals
 import webnotes
 from webnotes import _, msgprint
-from webnotes.utils import flt, cint, today
+from webnotes.utils import flt, cint, today, cstr
 from setup.utils import get_company_currency, get_price_list_currency
 from accounts.utils import get_fiscal_year, validate_fiscal_year
 from utilities.transaction_base import TransactionBase, validate_conversion_rate
@@ -375,15 +375,15 @@
 				already_billed = webnotes.conn.sql("""select sum(%s) from `tab%s` 
 					where %s=%s and docstatus=1""" % (based_on, self.tname, item_ref_dn, '%s'), 
 					item.fields[item_ref_dn])[0][0]
-				if already_billed:
-					max_allowed_amt = webnotes.conn.get_value(ref_dt + " Item", 
-						item.fields[item_ref_dn], based_on)
-					
-					if flt(already_billed) + flt(item.fields[based_on]) > max_allowed_amt:
-						webnotes.msgprint(_("Row ")+ item.idx + ": " + item.item_code + 
-							_(" will be over-billed against mentioned ") + ref_dt +  
-							_(". Max allowed " + based_on + ": " + max_allowed_amt), 
-							raise_exception=1)
+
+				max_allowed_amt = webnotes.conn.get_value(ref_dt + " Item", 
+					item.fields[item_ref_dn], based_on)
+				
+				if flt(already_billed) + flt(item.fields[based_on]) > max_allowed_amt:
+					webnotes.msgprint(_("Row ")+ cstr(item.idx) + ": " + cstr(item.item_code) + 
+						_(" will be over-billed against mentioned ") + cstr(ref_dt) +  
+						_(". Max allowed " + cstr(based_on) + ": " + cstr(max_allowed_amt)), 
+						raise_exception=1)
 		
 	def get_company_default(self, fieldname):
 		from accounts.utils import get_company_default
diff --git a/hr/doctype/upload_attendance/upload_attendance.js b/hr/doctype/upload_attendance/upload_attendance.js
index 4e5b47f..db97714 100644
--- a/hr/doctype/upload_attendance/upload_attendance.js
+++ b/hr/doctype/upload_attendance/upload_attendance.js
@@ -52,13 +52,13 @@
 				method: 'hr.doctype.upload_attendance.upload_attendance.upload'
 			},
 			sample_url: "e.g. http://example.com/somefile.csv",
-			callback: function(r) {
+			callback: function(fid, filename, r) {
 				var $log_wrapper = $(cur_frm.fields_dict.import_log.wrapper).empty();
-				
+
 				if(!r.messages) r.messages = [];
 				// replace links if error has occured
 				if(r.exc || r.error) {
-					r.messages = $.map(r.messages, function(v) {
+					r.messages = $.map(r.message.messages, function(v) {
 						var msg = v.replace("Inserted", "Valid")
 							.replace("Updated", "Valid").split("<");
 						if (msg.length > 1) {
@@ -73,7 +73,7 @@
 						.concat(r.messages)
 				} else {
 					r.messages = ["<h4 style='color:green'>Import Successful!</h4>"].
-						concat(r.messages)
+						concat(r.message.messages)
 				}
 				
 				$.each(r.messages, function(i, v) {
diff --git a/stock/doctype/stock_reconciliation/stock_reconciliation.js b/stock/doctype/stock_reconciliation/stock_reconciliation.js
index b003e05..2e0efd8 100644
--- a/stock/doctype/stock_reconciliation/stock_reconciliation.js
+++ b/stock/doctype/stock_reconciliation/stock_reconciliation.js
@@ -108,8 +108,8 @@
 				method: 'stock.doctype.stock_reconciliation.stock_reconciliation.upload'
 			},
 			sample_url: "e.g. http://example.com/somefile.csv",
-			callback: function(r) {
-				me.frm.set_value("reconciliation_json", JSON.stringify(r));
+			callback: function(fid, filename, r) {
+				me.frm.set_value("reconciliation_json", JSON.stringify(r.message));
 				me.show_reconciliation_data();
 				me.frm.save();
 			}
diff --git a/utilities/doctype/rename_tool/rename_tool.js b/utilities/doctype/rename_tool/rename_tool.js
index 9c93622..66a4399 100644
--- a/utilities/doctype/rename_tool/rename_tool.js
+++ b/utilities/doctype/rename_tool/rename_tool.js
@@ -28,9 +28,9 @@
 			select_doctype: cur_frm.doc.select_doctype
 		},
 		sample_url: "e.g. http://example.com/somefile.csv",
-		callback: function(r) {
+		callback: function(fid, filename, r) {
 			$log.empty().html("<hr>");
-			$.each(r, function(i, v) {
+			$.each(r.message, function(i, v) {
 				$("<div>" + v + "</div>").appendTo($log);
 			});
 		}
