diff --git a/hr/doctype/expense_claim/expense_claim.js b/hr/doctype/expense_claim/expense_claim.js
index 5794429..d8bee8b 100644
--- a/hr/doctype/expense_claim/expense_claim.js
+++ b/hr/doctype/expense_claim/expense_claim.js
@@ -46,6 +46,13 @@
 	if (doc.docstatus == 0) unhide_field('calculate_total_amount');
 }
 
+cur_frm.cscript.validate = function(doc) {
+	if(cint(doc.docstatus) == 0) {
+		doc.approval_status = "Draft";
+	}
+	cur_frm.cscript.calculate_total(doc);
+}
+
 cur_frm.cscript.employee = function(doc,cdt,cdn){
 	if(doc.employee){
 		$c_obj(make_doclist(doc.doctype, doc.name),'set_approver','', function(r,rt){
diff --git a/hr/doctype/expense_claim/expense_claim.py b/hr/doctype/expense_claim/expense_claim.py
index b8bd41e..2371f3b 100644
--- a/hr/doctype/expense_claim/expense_claim.py
+++ b/hr/doctype/expense_claim/expense_claim.py
@@ -77,10 +77,13 @@
 			set(self.doc, 'remark', self.doc.remark)
 	
 	def approve_voucher(self):
+		missing_count = 0
 		for d in getlist(self.doclist, 'expense_voucher_details'):
 			if not d.sanctioned_amount:
-				msgprint("Please add 'Sanctioned Amount' for all expenses")
-				return cstr('Incomplete')
+				missing_count += 1
+		if missing_count == len(getlist(self.doclist, 'expense_voucher_details')):
+			msgprint("Please add 'Sanctioned Amount' for atleast one expense")
+			return cstr('Incomplete')
 		
 		if not self.doc.total_sanctioned_amount:
 			msgprint("Please calculate total sanctioned amount using button 'Calculate Total Amount'")
@@ -112,7 +115,7 @@
 		
 	def validate(self):
 		self.validate_fiscal_year()
-	
+		
 	def on_update(self):
 		set(self.doc, 'approval_status', 'Draft')
 	
