[fix] indicators for sales order, purchase order #3736
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order_list.js b/erpnext/buying/doctype/purchase_order/purchase_order_list.js
index ee0c9bf..0de5286 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order_list.js
+++ b/erpnext/buying/doctype/purchase_order/purchase_order_list.js
@@ -5,7 +5,13 @@
         if(doc.status==="Stopped") {
 			return [__("Stopped"), "darkgrey", "status,=,Stopped"];
 		} else if(flt(doc.per_received) < 100 && doc.status!=="Stopped") {
-			return [__("Not Received"), "orange", "per_received,<,100|status,!=,Stopped"];
+			if(flt(doc.per_billed) < 100) {
+				return [__("To Receive and Bill"), "orange",
+					"per_received,<,100|per_billed,<,100|status,!=,Stopped"];
+			} else {
+				return [__("To Receive"), "orange",
+					"per_received,<,100|per_billed,=,100|status,!=,Stopped"];
+			}
 		} else if(flt(doc.per_received) == 100 && flt(doc.per_billed) < 100 && doc.status!=="Stopped") {
 			return [__("To Bill"), "orange", "per_received,=,100|per_billed,<,100|status,!=,Stopped"];
 		} else if(flt(doc.per_received) == 100 && flt(doc.per_billed) == 100 && doc.status!=="Stopped") {
diff --git a/erpnext/selling/doctype/sales_order/sales_order_list.js b/erpnext/selling/doctype/sales_order/sales_order_list.js
index e0c75b6..e4e67fc 100644
--- a/erpnext/selling/doctype/sales_order/sales_order_list.js
+++ b/erpnext/selling/doctype/sales_order/sales_order_list.js
@@ -5,12 +5,30 @@
         if(doc.status==="Stopped") {
 			return [__("Stopped"), "darkgrey", "status,=,Stopped"];
         } else if(flt(doc.per_delivered) < 100 && frappe.datetime.get_diff(doc.delivery_date) < 0) {
+			// to bill & overdue
 			return [__("Overdue"), "red", "per_delivered,<,100|delivery_date,<,Today|status,!=,Stopped"];
+
 		} else if(flt(doc.per_delivered) < 100 && doc.status!=="Stopped") {
-			return [__("Not Delivered"), "orange", "per_delivered,<,100|status,!=,Stopped"];
+			// not delivered
+
+			if(flt(doc.per_billed) < 100) {
+				// not delivered & not billed
+
+				return [__("To Deliver and Bill"), "orange",
+					"per_delivered,<,100|per_billed,<,100|status,!=,Stopped"];
+			} else {
+				// not billed
+
+				return [__("To Deliver"), "orange",
+					"per_delivered,<,100|per_billed,=,100|status,!=,Stopped"];
+			}
+
 		} else if(flt(doc.per_delivered) == 100 && flt(doc.per_billed) < 100 && doc.status!=="Stopped") {
+			// to bill
 			return [__("To Bill"), "orange", "per_delivered,=,100|per_billed,<,100|status,!=,Stopped"];
+
 		} else if(flt(doc.per_delivered) == 100 && flt(doc.per_billed) == 100 && doc.status!=="Stopped") {
+
 			return [__("Completed"), "green", "per_delivered,=,100|per_billed,=,100|status,!=,Stopped"];
 		}
 	},