diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.json b/erpnext/buying/doctype/purchase_order/purchase_order.json
index 318813c..a866e81 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.json
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.json
@@ -465,17 +465,17 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "fieldname": "is_drop_ship", 
+   "fieldname": "delivered_by_supplier", 
    "fieldtype": "Check", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
    "in_filter": 0, 
    "in_list_view": 0, 
-   "label": "Is Drop Ship", 
+   "label": "Delivered By Supplier", 
    "no_copy": 0, 
    "permlevel": 0, 
    "precision": "", 
-   "print_hide": 1, 
+   "print_hide": 0, 
    "read_only": 0, 
    "report_hide": 0, 
    "reqd": 0, 
@@ -2238,7 +2238,7 @@
  "is_submittable": 1, 
  "issingle": 0, 
  "istable": 0, 
- "modified": "2015-10-22 19:03:10.932738", 
+ "modified": "2015-10-26 09:09:06.796558", 
  "modified_by": "Administrator", 
  "module": "Buying", 
  "name": "Purchase Order", 
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.py b/erpnext/buying/doctype/purchase_order/purchase_order.py
index 45444b9..3fe833f 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.py
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.py
@@ -224,7 +224,8 @@
 		self.status_updater[0].update({
 			"target_parent_dt": "Sales Order",
 			"target_dt": "Sales Order Item",
-			'target_field': 'ordered_qty'
+			'target_field': 'ordered_qty',
+			"target_parent_field": ''
 		})
 		
 @frappe.whitelist()
diff --git a/erpnext/selling/doctype/sales_order/sales_order.js b/erpnext/selling/doctype/sales_order/sales_order.js
index 2951d28..af300f6 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.js
+++ b/erpnext/selling/doctype/sales_order/sales_order.js
@@ -22,11 +22,12 @@
 			if(doc.status != 'Stopped' && doc.status != 'Closed') {
 				
 				$.each(cur_frm.doc.items, function(i, item){
-					if(item.is_delivered_by_supplier == 1 || item.supplier){
+					if((item.delivered_by_supplier == 1 || item.supplier) && (item.qty > item.ordered_qty)){
 						is_delivered_by_supplier = true;
 					}
 					else{
-						is_delivery_note = true;
+						if(item.qty > item.delivered_qty)
+							is_delivery_note = true;
 					}
 				})
 
@@ -177,11 +178,11 @@
 							filters: {'parent': cur_frm.doc.name}
 						}
 					}, "reqd": 1 },
-				{"fieldtype": "Button", "label": __("Proceed"), "fieldname": "proceed"},
+				{"fieldtype": "Button", "label": __("Make Purchase Order"), "fieldname": "make_purchase_order"},
 			]
 		});
 
-		dialog.fields_dict.proceed.$input.click(function() {
+		dialog.fields_dict.make_purchase_order.$input.click(function() {
 			args = dialog.get_values();
 			if(!args) return;
 			dialog.hide();
diff --git a/erpnext/selling/doctype/sales_order/test_sales_order.py b/erpnext/selling/doctype/sales_order/test_sales_order.py
index 667f21b..3ef1a25 100644
--- a/erpnext/selling/doctype/sales_order/test_sales_order.py
+++ b/erpnext/selling/doctype/sales_order/test_sales_order.py
@@ -302,10 +302,14 @@
 		from erpnext.buying.doctype.purchase_order.purchase_order import delivered_by_supplier
 
 		po_item = make_item("_Test Item for Drop Shipping", {"is_stock_item": 1, "is_sales_item": 1,
-			"is_purchase_item": 1, "delivered_by_supplier": 1, 'default_supplier': '_Test Supplier'})
+			"is_purchase_item": 1, "delivered_by_supplier": 1, 'default_supplier': '_Test Supplier', 
+		    "expense_account": "_Test Account Cost for Goods Sold - _TC",
+		    "cost_center": "_Test Cost Center - _TC"
+			})
 
 		dn_item = make_item("_Test Regular Item", {"is_stock_item": 1, "is_sales_item": 1,
-			"is_purchase_item": 1})
+			"is_purchase_item": 1, "expense_account": "_Test Account Cost for Goods Sold - _TC",
+  		  	"cost_center": "_Test Cost Center - _TC"})
 
 		so_items = [
 			{
@@ -326,8 +330,8 @@
 			}
 		]
 		
-		existing_ordered_qty, existing_reserved_qty = frappe.db.get_value("Bin",
-		 {"item_code": po_item.item_code, "warehouse": "_Test Warehouse - _TC"}, ["ordered_qty", "reserved_qty"])
+		bin = frappe.get_all("Bin", filters={"item_code": po_item.item_code, "warehouse": "_Test Warehouse - _TC"}, 
+			fields=["ordered_qty", "reserved_qty"])
 					
 		so = make_sales_order(item_list=so_items, do_not_submit=True)
 		so.submit()
@@ -335,7 +339,7 @@
 		po = make_purchase_order_for_drop_shipment(so.name, '_Test Supplier')
 		po.submit()
 		
-		dn = create_dn_against_so(so, delivered_qty=1)
+		dn = create_dn_against_so(so.name, delivered_qty=1)
 		
 		self.assertEquals(so.customer, po.customer)
 		self.assertEquals(po.items[0].prevdoc_doctype, "Sales Order")
@@ -344,19 +348,29 @@
 		self.assertEquals(dn.items[0].item_code, dn_item.item_code)
 		
 		#test ordered_qty and reserved_qty		
-		ordered_qty, reserved_qty = frappe.db.get_value("Bin",
-		 {"item_code": po_item.item_code, "warehouse": "_Test Warehouse - _TC"}, ["ordered_qty", "reserved_qty"])
+		ordered_qty, reserved_qty = frappe.db.get_value("Bin", 
+			{"item_code": po_item.item_code, "warehouse": "_Test Warehouse - _TC"}, ["ordered_qty", "reserved_qty"])
+		
+		existing_ordered_qty = bin[0].ordered_qty if bin else 0.0
+		existing_reserved_qty = bin[0].reserved_qty if bin else 0.0	
 					
-		self.assertEquals(abs(ordered_qty), (existing_ordered_qty + so_items[0]['qty']))			
-		self.assertEquals(abs(reserved_qty), (existing_reserved_qty + so_items[0]['qty']))	
+		self.assertEquals(abs(ordered_qty), existing_ordered_qty + so_items[0]['qty'])			
+		self.assertEquals(abs(reserved_qty), existing_reserved_qty + so_items[0]['qty'])	
 		
 		#test po_item length
 		self.assertEquals(len(po.items), 1)
 		
-		#test per_ordered status
+		#test per_delivered status
 		delivered_by_supplier(po.name)
-		per_delivered = frappe.db.get_value("Sales Order", so.name, "per_delivered")
-		self.assertEquals(per_delivered, )
+		per_delivered = frappe.db.sql("""select sum(if(qty > ifnull(delivered_qty, 0), delivered_qty, qty))/sum(qty)*100 as per_delivered 
+			from `tabSales Order Item` where parent="{0}" """.format(so.name))
+
+		self.assertEquals(frappe.db.get_value("Sales Order", so.name, "per_delivered"), per_delivered[0][0])
+		
+		dn = create_dn_against_so(so.name, delivered_qty=1)
+		
+		so.db_set('status', "Closed")
+		so.update_reserved_qty()
 		
 	def test_reserved_qty_for_closing_so(self):
 		from erpnext.stock.doctype.item.test_item import make_item
diff --git a/erpnext/stock/stock_balance.py b/erpnext/stock/stock_balance.py
index b1e8b22..609c986 100644
--- a/erpnext/stock/stock_balance.py
+++ b/erpnext/stock/stock_balance.py
@@ -122,7 +122,7 @@
 		from `tabPurchase Order Item` po_item, `tabPurchase Order` po
 		where po_item.item_code=%s and po_item.warehouse=%s
 		and po_item.qty > ifnull(po_item.received_qty, 0) and po_item.parent=po.name
-		and po.status not in ('Stopped', 'Closed') and po.docstatus=1""", (item_code, warehouse))
+		and po.status not in ('Stopped', 'Closed', 'Delivered') and po.docstatus=1""", (item_code, warehouse))
 
 	return flt(ordered_qty[0][0]) if ordered_qty else 0
 
