fix(buying): make supplier scorecard usable
diff --git a/erpnext/buying/doctype/supplier_scorecard/supplier_scorecard.js b/erpnext/buying/doctype/supplier_scorecard/supplier_scorecard.js
index e7a704a..5f5f54b 100644
--- a/erpnext/buying/doctype/supplier_scorecard/supplier_scorecard.js
+++ b/erpnext/buying/doctype/supplier_scorecard/supplier_scorecard.js
@@ -13,15 +13,23 @@
 	},
 	onload: function(frm) {
 		if (frm.doc.__unsaved == 1)	{
-			loadAllCriteria(frm);
 			loadAllStandings(frm);
 		}
-
 	},
-	refresh: function(frm) {
-		if (frm.dashboard.hasOwnProperty('heatmap')) {
-			frm.dashboard.heatmap.setLegend([0,20,40,60,80,101],["#991600","#169900"]);
-		}
+	load_criteria: function(frm) {
+		frappe.call({
+			method: "erpnext.buying.doctype.supplier_scorecard_criteria.supplier_scorecard_criteria.get_criteria_list",
+			callback: function(r) {
+				frm.set_value('criteria', []);
+				for (var i = 0; i < r.message.length; i++)
+				{
+					var row = frm.add_child("criteria");
+					row.criteria_name = r.message[i].name;
+					frm.script_manager.trigger("criteria_name", row.doctype, row.name);
+				}
+				refresh_field("criteria");
+			}
+		});
 	}
 
 });
@@ -29,8 +37,8 @@
 frappe.ui.form.on("Supplier Scorecard Scoring Standing", {
 
 	standing_name: function(frm, cdt, cdn) {
-		if (frm.doc.standing_name != undefined) {
-			var d = frappe.get_doc(cdt, cdn);
+		var d = frappe.get_doc(cdt, cdn);
+		if (d.standing_name) {
 			return frm.call({
 				method: "erpnext.buying.doctype.supplier_scorecard_standing.supplier_scorecard_standing.get_scoring_standing",
 				child: d,
@@ -42,86 +50,29 @@
 	}
 });
 
-frappe.ui.form.on("Supplier Scorecard Scoring Variable", {
-
-	variable_label: function(frm, cdt, cdn) {
-		if (frm.doc.variable_label != undefined) {
-			var d = frappe.get_doc(cdt, cdn);
-			return frm.call({
-				method: "erpnext.buying.doctype.supplier_scorecard_variable.supplier_scorecard_variable.get_scoring_variable",
-				child: d,
-				args: {
-					variable_label: d.variable_label
-				}
-			});
-		}
-	}
-});
-
 frappe.ui.form.on("Supplier Scorecard Scoring Criteria", {
 
 	criteria_name: function(frm, cdt, cdn) {
-		if (frm.doc.criteria_name != undefined) {
-			var d = frappe.get_doc(cdt, cdn);
-			frm.call({
-				method: "erpnext.buying.doctype.supplier_scorecard_criteria.supplier_scorecard_criteria.get_variables",
+		var d = frappe.get_doc(cdt, cdn);
+		if (d.criteria_name) {
+			return frm.call({
+				method: "frappe.client.get",
 				args: {
-					criteria_name: d.criteria_name
+					fieldname: "weight",
+					doctype: "Supplier Scorecard Criteria",
+					filters: {name: d.criteria_name}
 				},
 				callback: function(r) {
-					for (var i = 0; i < r.message.length; i++)
-					{
-						var exists = false;
-						for (var j = 0; j < frm.doc.variables.length; j++)
-						{
-							if(!frm.doc.variables[j].hasOwnProperty("variable_label")) {
-								frm.get_field("variables").grid.grid_rows[j].remove();
-							}
-							else if(frm.doc.variables[j].variable_label === r.message[i]) {
-								exists = true;
-							}
-						}
-						if (!exists){
-							var new_row = frm.add_child("variables");
-							new_row.variable_label = r.message[i];
-							frm.script_manager.trigger("variable_label", new_row.doctype, new_row.name);
-						}
-
+					if(r.message){
+						d.weight = r.message.weight;
+						frm.refresh_field('criteria', 'weight');
 					}
-					refresh_field("variables");
-				}
-			});
-			return frm.call({
-				method: "erpnext.buying.doctype.supplier_scorecard_criteria.supplier_scorecard_criteria.get_scoring_criteria",
-				child: d,
-				args: {
-					criteria_name: d.criteria_name
 				}
 			});
 		}
 	}
 });
 
-var loadAllCriteria = function(frm) {
-	frappe.call({
-		method: "erpnext.buying.doctype.supplier_scorecard_criteria.supplier_scorecard_criteria.get_criteria_list",
-		callback: function(r) {
-			for (var j = 0; j < frm.doc.criteria.length; j++)
-			{
-				if(!frm.doc.criteria[j].hasOwnProperty("criteria_name")) {
-					frm.get_field("criteria").grid.grid_rows[j].remove();
-				}
-			}
-			for (var i = 0; i < r.message.length; i++)
-			{
-				var new_row = frm.add_child("criteria");
-				new_row.criteria_name = r.message[i].name;
-				frm.script_manager.trigger("criteria_name", new_row.doctype, new_row.name);
-			}
-			refresh_field("criteria");
-		}
-	});
-};
 var loadAllStandings = function(frm) {
 	frappe.call({
 		method: "erpnext.buying.doctype.supplier_scorecard_standing.supplier_scorecard_standing.get_standings_list",
diff --git a/erpnext/buying/doctype/supplier_scorecard/supplier_scorecard.json b/erpnext/buying/doctype/supplier_scorecard/supplier_scorecard.json
index d7f24c9..703ec3a 100644
--- a/erpnext/buying/doctype/supplier_scorecard/supplier_scorecard.json
+++ b/erpnext/buying/doctype/supplier_scorecard/supplier_scorecard.json
@@ -4,7 +4,7 @@
  "allow_import": 0, 
  "allow_rename": 0, 
  "autoname": "field:supplier", 
- "beta": 1, 
+ "beta": 0, 
  "creation": "2017-05-29 01:40:54.786555", 
  "custom": 0, 
  "docstatus": 0, 
@@ -182,7 +182,7 @@
    "label": "Evaluation Period", 
    "length": 0, 
    "no_copy": 0, 
-   "options": "Per Month\nPer Week\nPer Year", 
+   "options": "Per Week\nPer Month\nPer Year", 
    "permlevel": 0, 
    "precision": "", 
    "print_hide": 0, 
@@ -324,6 +324,36 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
+   "fieldname": "load_criteria", 
+   "fieldtype": "Button", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Load All Criteria", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
    "fieldname": "criteria", 
    "fieldtype": "Table", 
    "hidden": 0, 
@@ -353,37 +383,6 @@
    "allow_bulk_edit": 0, 
    "allow_on_submit": 0, 
    "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "fieldname": "variables", 
-   "fieldtype": "Table", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "label": "Supplier Variables", 
-   "length": 0, 
-   "no_copy": 0, 
-   "options": "Supplier Scorecard Scoring Variable", 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 1, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "unique": 0
-  }, 
-  {
-   "allow_bulk_edit": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
    "collapsible": 1, 
    "collapsible_depends_on": "eval: doc.status != 'Unknown'", 
    "columns": 0, 
@@ -662,7 +661,7 @@
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2017-07-12 07:33:11.874949", 
+ "modified": "2019-01-22 11:42:19.918990", 
  "modified_by": "Administrator", 
  "module": "Buying", 
  "name": "Supplier Scorecard", 
diff --git a/erpnext/buying/doctype/supplier_scorecard/supplier_scorecard.py b/erpnext/buying/doctype/supplier_scorecard/supplier_scorecard.py
index e13d22a..9e201e3 100644
--- a/erpnext/buying/doctype/supplier_scorecard/supplier_scorecard.py
+++ b/erpnext/buying/doctype/supplier_scorecard/supplier_scorecard.py
@@ -54,6 +54,7 @@
 				`tabSupplier Scorecard Period` scp
 			WHERE
 				scp.scorecard = %(sc)s
+				AND scp.docstatus = 1
 			ORDER BY
 				scp.end_date DESC""",
 				{"sc": self.name}, as_dict=1)
@@ -110,7 +111,8 @@
 		FROM
 			`tabSupplier Scorecard Period` sc
 		WHERE
-			sc.scorecard = %(scs)s""",
+			sc.scorecard = %(scs)s
+			AND sc.docstatus = 1""",
 			{"scs": scs.name}, as_dict=1)
 
 	for sc in scorecards:
@@ -162,6 +164,7 @@
 				`tabSupplier Scorecard Period` scp
 			WHERE
 				scp.scorecard = %(sc)s
+				AND scp.docstatus = 1
 				AND (
 					(scp.start_date > %(end_date)s
 					AND scp.end_date < %(start_date)s)
@@ -170,12 +173,12 @@
 					AND scp.end_date > %(start_date)s))
 			ORDER BY
 				scp.end_date DESC""",
-				{"sc": docname, "start_date": start_date, "end_date": end_date, "supplier": supplier}, as_dict=1)
+				{"sc": docname, "start_date": start_date, "end_date": end_date}, as_dict=1)
 		if len(scorecards) == 0:
 			period_card = make_supplier_scorecard(docname, None)
 			period_card.start_date = start_date
 			period_card.end_date = end_date
-			period_card.save()
+			period_card.submit()
 			scp_count = scp_count + 1
 			if start_date < first_start_date:
 				first_start_date = start_date
diff --git a/erpnext/buying/doctype/supplier_scorecard_criteria/supplier_scorecard_criteria.json b/erpnext/buying/doctype/supplier_scorecard_criteria/supplier_scorecard_criteria.json
index 229c386..2623585 100644
--- a/erpnext/buying/doctype/supplier_scorecard_criteria/supplier_scorecard_criteria.json
+++ b/erpnext/buying/doctype/supplier_scorecard_criteria/supplier_scorecard_criteria.json
@@ -4,7 +4,7 @@
  "allow_import": 0, 
  "allow_rename": 0, 
  "autoname": "field:criteria_name", 
- "beta": 1, 
+ "beta": 0, 
  "creation": "2017-05-29 01:32:43.064891", 
  "custom": 0, 
  "docstatus": 0, 
@@ -49,36 +49,6 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
-   "fieldname": "weight", 
-   "fieldtype": "Percent", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 1, 
-   "in_standard_filter": 0, 
-   "label": "Criteria Weight", 
-   "length": 0, 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 1, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "unique": 0
-  }, 
-  {
-   "allow_bulk_edit": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
    "default": "100", 
    "fieldname": "max_score", 
    "fieldtype": "Float", 
@@ -87,7 +57,7 @@
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
    "in_global_search": 0, 
-   "in_list_view": 0, 
+   "in_list_view": 1, 
    "in_standard_filter": 0, 
    "label": "Max Score", 
    "length": 0, 
@@ -114,10 +84,10 @@
    "fieldtype": "Small Text", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
+   "ignore_xss_filter": 1, 
    "in_filter": 0, 
    "in_global_search": 0, 
-   "in_list_view": 0, 
+   "in_list_view": 1, 
    "in_standard_filter": 0, 
    "label": "Criteria Formula", 
    "length": 0, 
@@ -133,6 +103,36 @@
    "search_index": 0, 
    "set_only_once": 0, 
    "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "weight", 
+   "fieldtype": "Percent", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Criteria Weight", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
   }
  ], 
  "has_web_view": 0, 
@@ -145,7 +145,7 @@
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2017-07-17 10:30:47.458285", 
+ "modified": "2019-01-22 10:47:00.000822", 
  "modified_by": "Administrator", 
  "module": "Buying", 
  "name": "Supplier Scorecard Criteria", 
diff --git a/erpnext/buying/doctype/supplier_scorecard_criteria/supplier_scorecard_criteria.py b/erpnext/buying/doctype/supplier_scorecard_criteria/supplier_scorecard_criteria.py
index 8514022..b23d321 100644
--- a/erpnext/buying/doctype/supplier_scorecard_criteria/supplier_scorecard_criteria.py
+++ b/erpnext/buying/doctype/supplier_scorecard_criteria/supplier_scorecard_criteria.py
@@ -36,15 +36,6 @@
 		except Exception:
 			frappe.throw(_("Error evaluating the criteria formula"))
 
-
-
-@frappe.whitelist()
-def get_scoring_criteria(criteria_name):
-	criteria = frappe.get_doc("Supplier Scorecard Criteria", criteria_name)
-
-	return criteria
-
-
 @frappe.whitelist()
 def get_criteria_list():
 	criteria = frappe.db.sql("""
@@ -56,7 +47,6 @@
 
 	return criteria
 
-@frappe.whitelist()
 def get_variables(criteria_name):
 	criteria = frappe.get_doc("Supplier Scorecard Criteria", criteria_name)
 	return _get_variables(criteria)
@@ -69,21 +59,16 @@
 	for dummy1, match in enumerate(mylist):
 		for dummy2 in range(0, len(match.groups())):
 			try:
-				#var = frappe.get_doc("Supplier Scorecard Variable", {'param_name' : d})
 				var = frappe.db.sql("""
 					SELECT
-						scv.name
+						scv.variable_label, scv.description, scv.param_name, scv.path
 					FROM
 						`tabSupplier Scorecard Variable` scv
 					WHERE
 						param_name=%(param)s""",
-						{'param':match.group(1)},)[0][0]
+						{'param':match.group(1)}, as_dict=1)[0]
 				my_variables.append(var)
 			except Exception:
-				# Ignore the ones where the variable can't be found
 				frappe.throw(_('Unable to find variable: ') + str(match.group(1)), InvalidFormulaVariable)
-				#pass
 
-
-	#frappe.msgprint(str(my_variables))
 	return my_variables
diff --git a/erpnext/buying/doctype/supplier_scorecard_period/supplier_scorecard_period.js b/erpnext/buying/doctype/supplier_scorecard_period/supplier_scorecard_period.js
index c51e8ab..a4cdeb3 100644
--- a/erpnext/buying/doctype/supplier_scorecard_period/supplier_scorecard_period.js
+++ b/erpnext/buying/doctype/supplier_scorecard_period/supplier_scorecard_period.js
@@ -6,9 +6,11 @@
 
 frappe.ui.form.on("Supplier Scorecard Period", {
 	onload: function(frm) {
-		frm.get_field("variables").grid.toggle_display("value", true);
-		frm.get_field("criteria").grid.toggle_display("score", true);
-
-
+		let criteria_grid = frm.get_field("criteria").grid;
+		criteria_grid.toggle_enable("criteria_name", false);
+		criteria_grid.toggle_enable("weight", false);
+		criteria_grid.toggle_display("max_score", true);
+		criteria_grid.toggle_display("formula", true);
+		criteria_grid.toggle_display("score", true);
 	}
 });
diff --git a/erpnext/buying/doctype/supplier_scorecard_period/supplier_scorecard_period.json b/erpnext/buying/doctype/supplier_scorecard_period/supplier_scorecard_period.json
index 0cf6514..e76f614 100644
--- a/erpnext/buying/doctype/supplier_scorecard_period/supplier_scorecard_period.json
+++ b/erpnext/buying/doctype/supplier_scorecard_period/supplier_scorecard_period.json
@@ -4,7 +4,7 @@
  "allow_import": 0, 
  "allow_rename": 0, 
  "autoname": "naming_series:", 
- "beta": 1, 
+ "beta": 0, 
  "creation": "2017-05-30 00:38:18.773013", 
  "custom": 0, 
  "docstatus": 0, 
@@ -281,7 +281,7 @@
    "read_only": 0, 
    "remember_last_selected_value": 0, 
    "report_hide": 0, 
-   "reqd": 1, 
+   "reqd": 0, 
    "search_index": 0, 
    "set_only_once": 0, 
    "unique": 0
@@ -346,6 +346,36 @@
    "search_index": 0, 
    "set_only_once": 0, 
    "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "amended_from", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Amended From", 
+   "length": 0, 
+   "no_copy": 1, 
+   "options": "Supplier Scorecard Period", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 1, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
   }
  ], 
  "has_web_view": 0, 
@@ -354,11 +384,11 @@
  "idx": 0, 
  "image_view": 0, 
  "in_create": 1, 
- "is_submittable": 0, 
+ "is_submittable": 1, 
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2017-07-12 07:33:26.130861", 
+ "modified": "2019-01-23 13:58:26.137770", 
  "modified_by": "Administrator", 
  "module": "Buying", 
  "name": "Supplier Scorecard Period", 
@@ -368,7 +398,7 @@
   {
    "amend": 0, 
    "apply_user_permissions": 0, 
-   "cancel": 0, 
+   "cancel": 1, 
    "create": 1, 
    "delete": 1, 
    "email": 1, 
@@ -382,7 +412,7 @@
    "role": "System Manager", 
    "set_user_permissions": 0, 
    "share": 1, 
-   "submit": 0, 
+   "submit": 1, 
    "write": 1
   }
  ], 
diff --git a/erpnext/buying/doctype/supplier_scorecard_period/supplier_scorecard_period.py b/erpnext/buying/doctype/supplier_scorecard_period/supplier_scorecard_period.py
index 90b65bd..4410431 100644
--- a/erpnext/buying/doctype/supplier_scorecard_period/supplier_scorecard_period.py
+++ b/erpnext/buying/doctype/supplier_scorecard_period/supplier_scorecard_period.py
@@ -8,6 +8,7 @@
 from frappe.model.document import Document
 from frappe.model.mapper import get_mapped_doc
 import erpnext.buying.doctype.supplier_scorecard_variable.supplier_scorecard_variable as variable_functions
+from erpnext.buying.doctype.supplier_scorecard_criteria.supplier_scorecard_criteria import get_variables
 
 class SupplierScorecardPeriod(Document):
 
@@ -28,7 +29,6 @@
 
 	def calculate_variables(self):
 		for var in self.variables:
-
 			if '.' in var.path:
 				method_to_call = import_string_path(var.path)
 				var.value = method_to_call(self)
@@ -39,14 +39,8 @@
 
 
 	def calculate_criteria(self):
-		#Get the criteria
 		for crit in self.criteria:
-
-			#me = ""
 			my_eval_statement = crit.formula.replace("\r", "").replace("\n", "")
-			#for let in my_eval_statement:
-			#	me += let.encode('hex') + " "
-			#frappe.msgprint(me)
 
 			for var in self.variables:
 				if var.value:
@@ -102,30 +96,28 @@
     return mod
 
 
-def post_process(source, target):
-	pass
-
-
 @frappe.whitelist()
 def make_supplier_scorecard(source_name, target_doc=None):
-	#def update_item(obj, target, source_parent):
-	#	target.qty = flt(obj.qty) - flt(obj.received_qty)
-	#	target.stock_qty = (flt(obj.qty) - flt(obj.received_qty)) * flt(obj.conversion_factor)
-	#	target.amount = (flt(obj.qty) - flt(obj.received_qty)) * flt(obj.rate)
-	#	target.base_amount = (flt(obj.qty) - flt(obj.received_qty)) * \
-	#		flt(obj.rate) * flt(source_parent.conversion_rate)
+	def update_criteria_fields(obj, target, source_parent):
+		target.max_score, target.formula = frappe.db.get_value('Supplier Scorecard Criteria',
+			obj.criteria_name, ['max_score', 'formula'])
+
+	def post_process(source, target):
+		variables = []
+		for cr in target.criteria:
+			for var in get_variables(cr.criteria_name):
+				if var not in variables:
+					variables.append(var)
+		
+		target.extend('variables', variables)
 
 	doc = get_mapped_doc("Supplier Scorecard", source_name,	{
 		"Supplier Scorecard": {
 			"doctype": "Supplier Scorecard Period"
 		},
-		"Supplier Scorecard Scoring Variable": {
-			"doctype": "Supplier Scorecard Scoring Variable",
-			"add_if_empty": True
-		},
-		"Supplier Scorecard Scoring Constraint": {
-			"doctype": "Supplier Scorecard Scoring Constraint",
-			"add_if_empty": True
+		"Supplier Scorecard Scoring Criteria": {
+			"doctype": "Supplier Scorecard Scoring Criteria",
+			"postprocess": update_criteria_fields,
 		}
 	}, target_doc, post_process)
 
diff --git a/erpnext/buying/doctype/supplier_scorecard_scoring_criteria/supplier_scorecard_scoring_criteria.json b/erpnext/buying/doctype/supplier_scorecard_scoring_criteria/supplier_scorecard_scoring_criteria.json
index 567738a..5816856 100644
--- a/erpnext/buying/doctype/supplier_scorecard_scoring_criteria/supplier_scorecard_scoring_criteria.json
+++ b/erpnext/buying/doctype/supplier_scorecard_scoring_criteria/supplier_scorecard_scoring_criteria.json
@@ -3,7 +3,7 @@
  "allow_guest_to_view": 0, 
  "allow_import": 0, 
  "allow_rename": 0, 
- "beta": 1, 
+ "beta": 0, 
  "creation": "2017-05-29 01:32:17.988454", 
  "custom": 0, 
  "docstatus": 0, 
@@ -17,7 +17,7 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "columns": 3, 
+   "columns": 5, 
    "fieldname": "criteria_name", 
    "fieldtype": "Link", 
    "hidden": 0, 
@@ -48,9 +48,39 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
+   "columns": 2, 
+   "fieldname": "score", 
+   "fieldtype": "Percent", 
+   "hidden": 1, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 1, 
+   "in_standard_filter": 0, 
+   "label": "Score", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 1, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
    "columns": 0, 
-   "fieldname": "section_break_2", 
-   "fieldtype": "Section Break", 
+   "fieldname": "column_break_4", 
+   "fieldtype": "Column Break", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
@@ -90,6 +120,7 @@
    "label": "Criteria Weight", 
    "length": 0, 
    "no_copy": 0, 
+   "options": "", 
    "permlevel": 0, 
    "precision": "", 
    "print_hide": 0, 
@@ -108,39 +139,10 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
-   "fieldname": "column_break_4", 
-   "fieldtype": "Column Break", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "length": 0, 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "unique": 0
-  }, 
-  {
-   "allow_bulk_edit": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
    "default": "100", 
    "fieldname": "max_score", 
    "fieldtype": "Float", 
-   "hidden": 0, 
+   "hidden": 1, 
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
@@ -154,7 +156,7 @@
    "precision": "", 
    "print_hide": 0, 
    "print_hide_if_no_value": 0, 
-   "read_only": 0, 
+   "read_only": 1, 
    "remember_last_selected_value": 0, 
    "report_hide": 0, 
    "reqd": 0, 
@@ -199,7 +201,7 @@
    "columns": 0, 
    "fieldname": "formula", 
    "fieldtype": "Small Text", 
-   "hidden": 0, 
+   "hidden": 1, 
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
@@ -213,37 +215,7 @@
    "precision": "", 
    "print_hide": 0, 
    "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 1, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "unique": 0
-  }, 
-  {
-   "allow_bulk_edit": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "fieldname": "score", 
-   "fieldtype": "Percent", 
-   "hidden": 1, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 1, 
-   "in_standard_filter": 0, 
-   "label": "Score", 
-   "length": 0, 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
+   "read_only": 1, 
    "remember_last_selected_value": 0, 
    "report_hide": 0, 
    "reqd": 0, 
@@ -262,7 +234,7 @@
  "issingle": 0, 
  "istable": 1, 
  "max_attachments": 0, 
- "modified": "2017-07-12 07:33:41.532361", 
+ "modified": "2019-01-23 13:49:13.350095", 
  "modified_by": "Administrator", 
  "module": "Buying", 
  "name": "Supplier Scorecard Scoring Criteria", 
diff --git a/erpnext/buying/doctype/supplier_scorecard_scoring_standing/supplier_scorecard_scoring_standing.json b/erpnext/buying/doctype/supplier_scorecard_scoring_standing/supplier_scorecard_scoring_standing.json
index 1fc04bb..e8498ef 100644
--- a/erpnext/buying/doctype/supplier_scorecard_scoring_standing/supplier_scorecard_scoring_standing.json
+++ b/erpnext/buying/doctype/supplier_scorecard_scoring_standing/supplier_scorecard_scoring_standing.json
@@ -3,7 +3,7 @@
  "allow_guest_to_view": 0, 
  "allow_import": 0, 
  "allow_rename": 0, 
- "beta": 1, 
+ "beta": 0, 
  "creation": "2017-05-29 01:36:22.697234", 
  "custom": 0, 
  "docstatus": 0, 
@@ -473,7 +473,7 @@
  "issingle": 0, 
  "istable": 1, 
  "max_attachments": 0, 
- "modified": "2017-07-12 07:33:20.615684", 
+ "modified": "2019-01-22 10:47:41.146704", 
  "modified_by": "Administrator", 
  "module": "Buying", 
  "name": "Supplier Scorecard Scoring Standing", 
diff --git a/erpnext/buying/doctype/supplier_scorecard_scoring_variable/supplier_scorecard_scoring_variable.json b/erpnext/buying/doctype/supplier_scorecard_scoring_variable/supplier_scorecard_scoring_variable.json
index f0e043e..5e4c5c1 100644
--- a/erpnext/buying/doctype/supplier_scorecard_scoring_variable/supplier_scorecard_scoring_variable.json
+++ b/erpnext/buying/doctype/supplier_scorecard_scoring_variable/supplier_scorecard_scoring_variable.json
@@ -3,7 +3,7 @@
  "allow_guest_to_view": 0, 
  "allow_import": 0, 
  "allow_rename": 0, 
- "beta": 1, 
+ "beta": 0, 
  "creation": "2017-05-29 01:30:06.105240", 
  "custom": 0, 
  "docstatus": 0, 
@@ -35,7 +35,7 @@
    "precision": "", 
    "print_hide": 0, 
    "print_hide_if_no_value": 0, 
-   "read_only": 0, 
+   "read_only": 1, 
    "remember_last_selected_value": 0, 
    "report_hide": 0, 
    "reqd": 1, 
@@ -65,7 +65,37 @@
    "precision": "", 
    "print_hide": 0, 
    "print_hide_if_no_value": 0, 
-   "read_only": 0, 
+   "read_only": 1, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 2, 
+   "fieldname": "value", 
+   "fieldtype": "Float", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 1, 
+   "in_standard_filter": 0, 
+   "label": "Value", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 1, 
    "remember_last_selected_value": 0, 
    "report_hide": 0, 
    "reqd": 0, 
@@ -79,39 +109,9 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
-   "fieldname": "is_custom", 
-   "fieldtype": "Check", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "label": "Custom?", 
-   "length": 0, 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 1, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 1, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "unique": 0
-  }, 
-  {
-   "allow_bulk_edit": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
    "fieldname": "param_name", 
    "fieldtype": "Data", 
-   "hidden": 0, 
+   "hidden": 1, 
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
@@ -128,7 +128,7 @@
    "read_only": 1, 
    "remember_last_selected_value": 0, 
    "report_hide": 0, 
-   "reqd": 1, 
+   "reqd": 0, 
    "search_index": 0, 
    "set_only_once": 0, 
    "unique": 0
@@ -141,7 +141,7 @@
    "columns": 0, 
    "fieldname": "path", 
    "fieldtype": "Data", 
-   "hidden": 0, 
+   "hidden": 1, 
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
@@ -158,36 +158,6 @@
    "read_only": 1, 
    "remember_last_selected_value": 0, 
    "report_hide": 0, 
-   "reqd": 1, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "unique": 0
-  }, 
-  {
-   "allow_bulk_edit": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 2, 
-   "fieldname": "value", 
-   "fieldtype": "Float", 
-   "hidden": 1, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 1, 
-   "in_standard_filter": 0, 
-   "label": "Value", 
-   "length": 0, 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
    "reqd": 0, 
    "search_index": 0, 
    "set_only_once": 0, 
@@ -204,7 +174,7 @@
  "issingle": 0, 
  "istable": 1, 
  "max_attachments": 0, 
- "modified": "2017-07-12 07:33:36.671502", 
+ "modified": "2019-01-23 09:55:19.749828", 
  "modified_by": "Administrator", 
  "module": "Buying", 
  "name": "Supplier Scorecard Scoring Variable", 
diff --git a/erpnext/buying/doctype/supplier_scorecard_standing/supplier_scorecard_standing.json b/erpnext/buying/doctype/supplier_scorecard_standing/supplier_scorecard_standing.json
index b61b4ed..b57881a 100644
--- a/erpnext/buying/doctype/supplier_scorecard_standing/supplier_scorecard_standing.json
+++ b/erpnext/buying/doctype/supplier_scorecard_standing/supplier_scorecard_standing.json
@@ -4,7 +4,7 @@
  "allow_import": 0, 
  "allow_rename": 0, 
  "autoname": "field:standing_name", 
- "beta": 1, 
+ "beta": 0, 
  "creation": "2017-05-29 01:36:47.893639", 
  "custom": 0, 
  "docstatus": 0, 
@@ -385,7 +385,7 @@
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2017-07-12 07:33:16.560273", 
+ "modified": "2019-01-22 10:47:49.195421", 
  "modified_by": "Administrator", 
  "module": "Buying", 
  "name": "Supplier Scorecard Standing", 
diff --git a/erpnext/buying/doctype/supplier_scorecard_variable/supplier_scorecard_variable.json b/erpnext/buying/doctype/supplier_scorecard_variable/supplier_scorecard_variable.json
index d244840..d372905 100644
--- a/erpnext/buying/doctype/supplier_scorecard_variable/supplier_scorecard_variable.json
+++ b/erpnext/buying/doctype/supplier_scorecard_variable/supplier_scorecard_variable.json
@@ -4,7 +4,7 @@
  "allow_import": 0, 
  "allow_rename": 0, 
  "autoname": "field:variable_label", 
- "beta": 1, 
+ "beta": 0, 
  "creation": "2017-05-29 01:30:34.688389", 
  "custom": 0, 
  "docstatus": 0, 
@@ -101,7 +101,7 @@
    "reqd": 1, 
    "search_index": 0, 
    "set_only_once": 0, 
-   "unique": 0
+   "unique": 1
   }, 
   {
    "allow_bulk_edit": 0, 
@@ -203,7 +203,7 @@
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2017-07-12 07:33:31.395262", 
+ "modified": "2019-01-23 09:39:59.866398", 
  "modified_by": "Administrator", 
  "module": "Buying", 
  "name": "Supplier Scorecard Variable", 
diff --git a/erpnext/buying/doctype/supplier_scorecard_variable/supplier_scorecard_variable.py b/erpnext/buying/doctype/supplier_scorecard_variable/supplier_scorecard_variable.py
index 17c911a..37fdc57 100644
--- a/erpnext/buying/doctype/supplier_scorecard_variable/supplier_scorecard_variable.py
+++ b/erpnext/buying/doctype/supplier_scorecard_variable/supplier_scorecard_variable.py
@@ -27,13 +27,6 @@
 			if not hasattr(sys.modules[__name__], self.path):
 				frappe.throw(_("Could not find path for " + self.path), VariablePathNotFound)
 
-
-@frappe.whitelist()
-def get_scoring_variable(variable_label):
-	variable = frappe.get_doc("Supplier Scorecard Variable", variable_label)
-
-	return variable
-
 def get_total_workdays(scorecard):
 	""" Gets the number of days in this period"""
 	delta = getdate(scorecard.end_date) - getdate(scorecard.start_date)