[Fixes] Drop Shipping
diff --git a/erpnext/controllers/status_updater.py b/erpnext/controllers/status_updater.py
index 94cddee..f666eed 100644
--- a/erpnext/controllers/status_updater.py
+++ b/erpnext/controllers/status_updater.py
@@ -37,6 +37,7 @@
 		["Completed", "eval:self.order_type == 'Maintenance' and self.per_billed == 100 and self.docstatus == 1"],
 		["Stopped", "eval:self.status=='Stopped'"],
 		["Cancelled", "eval:self.docstatus==2"],
+		["Closed", "eval:self.status=='Closed'"],
 	],
 	"Purchase Order": [
 		["Draft", None],
@@ -210,6 +211,16 @@
 	def _update_percent_field(self, args):
 		"""Update percent field in parent transaction"""
 		unique_transactions = set([d.get(args['percent_join_field']) for d in self.get_all_children(args['source_dt'])])
+		
+		args["drop_ship_cond"] = ''
+		
+		if getattr(self, "drop_ship", None):
+			if self.drop_ship == 1:
+				args["drop_ship_cond"] = " and is_drop_ship=1 "
+			
+		else:
+			if self.doctype=="Delivery Note":
+				args["drop_ship_cond"] = " and is_drop_ship!=1 "
 
 		for name in unique_transactions:
 			if not name:
@@ -223,7 +234,7 @@
 					set %(target_parent_field)s = round((select sum(if(%(target_ref_field)s >
 						ifnull(%(target_field)s, 0), %(target_field)s,
 						%(target_ref_field)s))/sum(%(target_ref_field)s)*100
-						from `tab%(target_dt)s` where parent="%(name)s"), 2) %(set_modified)s
+						from `tab%(target_dt)s` where parent="%(name)s" %(drop_ship_cond)s), 2) %(set_modified)s
 					where name='%(name)s'""" % args)
 
 			# update field