[Fix] Showing to bill even if per deliverd in sales order is 99.9996 (#13392)

diff --git a/erpnext/controllers/status_updater.py b/erpnext/controllers/status_updater.py
index e8e851d..830e5a4 100644
--- a/erpnext/controllers/status_updater.py
+++ b/erpnext/controllers/status_updater.py
@@ -285,7 +285,7 @@
 					ifnull((select
 						ifnull(sum(if(%(target_ref_field)s > %(target_field)s, abs(%(target_field)s), abs(%(target_ref_field)s))), 0)
 						/ sum(abs(%(target_ref_field)s)) * 100
-					from `tab%(target_dt)s` where parent="%(name)s" having sum(abs(%(target_ref_field)s)) > 0), 0), 2)
+					from `tab%(target_dt)s` where parent="%(name)s" having sum(abs(%(target_ref_field)s)) > 0), 0), 6)
 					%(update_modified)s
 				where name='%(name)s'""" % args)
 
@@ -293,7 +293,7 @@
 			if args.get('status_field'):
 				frappe.db.sql("""update `tab%(target_parent_dt)s`
 					set %(status_field)s = if(%(target_parent_field)s<0.001,
-						'Not %(keyword)s', if(%(target_parent_field)s>=99.99,
+						'Not %(keyword)s', if(%(target_parent_field)s>=99.999999,
 						'Fully %(keyword)s', 'Partly %(keyword)s'))
 					where name='%(name)s'""" % args)
 
diff --git a/erpnext/selling/doctype/sales_order/sales_order.js b/erpnext/selling/doctype/sales_order/sales_order.js
index 52fcb38..b959449 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.js
+++ b/erpnext/selling/doctype/sales_order/sales_order.js
@@ -96,14 +96,14 @@
 
 				if (this.frm.has_perm("submit")) {
 					// close
-					if(flt(doc.per_delivered, 2) < 100 || flt(doc.per_billed) < 100) {
+					if(flt(doc.per_delivered, 6) < 100 || flt(doc.per_billed) < 100) {
 						this.frm.add_custom_button(__('Close'),
 							function() { me.close_sales_order() }, __("Status"))
 					}
 				}
 
 				// delivery note
-				if(flt(doc.per_delivered, 2) < 100 && ["Sales", "Shopping Cart"].indexOf(doc.order_type)!==-1 && allow_delivery) {
+				if(flt(doc.per_delivered, 6) < 100 && ["Sales", "Shopping Cart"].indexOf(doc.order_type)!==-1 && allow_delivery) {
 					this.frm.add_custom_button(__('Delivery'),
 						function() { me.make_delivery_note_based_on_delivery_date(); }, __("Make"));
 					this.frm.add_custom_button(__('Production Order'),
@@ -113,20 +113,20 @@
 				}
 
 				// sales invoice
-				if(flt(doc.per_billed, 2) < 100) {
+				if(flt(doc.per_billed, 6) < 100) {
 					this.frm.add_custom_button(__('Invoice'),
 						function() { me.make_sales_invoice() }, __("Make"));
 				}
 
 				// material request
 				if(!doc.order_type || ["Sales", "Shopping Cart"].indexOf(doc.order_type)!==-1
-					&& flt(doc.per_delivered, 2) < 100) {
+					&& flt(doc.per_delivered, 6) < 100) {
 					this.frm.add_custom_button(__('Material Request'),
 						function() { me.make_material_request() }, __("Make"));
 				}
 
 				// make purchase order
-				if(flt(doc.per_delivered, 2) < 100 && allow_purchase) {
+				if(flt(doc.per_delivered, 6) < 100 && allow_purchase) {
 					this.frm.add_custom_button(__('Purchase Order'),
 						function() { me.make_purchase_order() }, __("Make"));
 				}
diff --git a/erpnext/selling/doctype/sales_order/sales_order_list.js b/erpnext/selling/doctype/sales_order/sales_order_list.js
index 9751935..43c91b9 100644
--- a/erpnext/selling/doctype/sales_order/sales_order_list.js
+++ b/erpnext/selling/doctype/sales_order/sales_order_list.js
@@ -6,15 +6,15 @@
 			return [__("Closed"), "green", "status,=,Closed"];
 
 		} else if (doc.order_type !== "Maintenance"
-			&& flt(doc.per_delivered, 2) < 100 && frappe.datetime.get_diff(doc.delivery_date) < 0) {
+			&& flt(doc.per_delivered, 6) < 100 && frappe.datetime.get_diff(doc.delivery_date) < 0) {
 			// to bill & overdue
 			return [__("Overdue"), "red", "per_delivered,<,100|delivery_date,<,Today|status,!=,Closed"];
 
 		} else if (doc.order_type !== "Maintenance"
-			&& flt(doc.per_delivered, 2) < 100 && doc.status!=="Closed") {
+			&& flt(doc.per_delivered, 6) < 100 && doc.status!=="Closed") {
 			// not delivered
 
-			if(flt(doc.per_billed, 2) < 100) {
+			if(flt(doc.per_billed, 6) < 100) {
 				// not delivered & not billed
 
 				return [__("To Deliver and Bill"), "orange",
@@ -26,14 +26,14 @@
 					"per_delivered,<,100|per_billed,=,100|status,!=,Closed"];
 			}
 
-		} else if ((doc.order_type === "Maintenance" || flt(doc.per_delivered, 2) == 100)
-			&& flt(doc.per_billed, 2) < 100 && doc.status!=="Closed") {
+		} else if ((doc.order_type === "Maintenance" || flt(doc.per_delivered, 6) == 100)
+			&& flt(doc.per_billed, 6) < 100 && doc.status!=="Closed") {
 
 			// to bill
 			return [__("To Bill"), "orange", "per_delivered,=,100|per_billed,<,100|status,!=,Closed"];
 
-		} else if((doc.order_type === "Maintenance" || flt(doc.per_delivered, 2) == 100)
-			&& flt(doc.per_billed, 2) == 100 && doc.status!=="Closed") {
+		} else if((doc.order_type === "Maintenance" || flt(doc.per_delivered, 6) == 100)
+			&& flt(doc.per_billed, 6) == 100 && doc.status!=="Closed") {
 
 			return [__("Completed"), "green", "per_delivered,=,100|per_billed,=,100|status,!=,Closed"];
 		}