Search Variants added to Item Master
Added feature for Variants to hande numeric values
diff --git a/erpnext/stock/doctype/item/item.js b/erpnext/stock/doctype/item/item.js
index 35455b4..a94c8f6 100644
--- a/erpnext/stock/doctype/item/item.js
+++ b/erpnext/stock/doctype/item/item.js
@@ -30,6 +30,10 @@
 			frm.add_custom_button(__("Show Variants"), function() {
 				frappe.set_route("List", "Item", {"variant_of": frm.doc.name});
 			}, "icon-list", "btn-default");
+			
+			frm.add_custom_button(__("Search Variant"), function() {
+				erpnext.item.search_variant()
+			}, "icon-list", "btn-default");
 		}
 		if (frm.doc.variant_of) {
 			frm.set_intro(__("This Item is a Variant of {0} (Template). Attributes will be copied over from the template unless 'No Copy' is set", [frm.doc.variant_of]), true);
@@ -53,7 +57,6 @@
 
 	validate: function(frm){
 		erpnext.item.weight_to_validate(frm);
-		erpnext.item.variants_can_not_be_created_manually(frm);
 	},
 
 	image: function(frm) {
@@ -83,15 +86,6 @@
 
 	is_stock_item: function(frm) {
 		erpnext.item.toggle_reqd(frm);
-	},
-
-	manage_variants: function(frm) {
-		if (cur_frm.doc.__unsaved==1) {
-			frappe.throw(__("You have unsaved changes. Please save."))
-		} else {
-			frappe.route_options = {"item_code": frm.doc.name };
-			frappe.set_route("List", "Manage Variants");
-		}
 	}
 });
 
@@ -189,11 +183,126 @@
 			validated = 0;
 		}
 	},
+	
+	search_variant: function(doc) {
+		var fields = []
+		
+		for(var i=0;i< cur_frm.doc.valid_attributes.length;i++){
+			var fieldtype, desc;
+			var row = cur_frm.doc.valid_attributes[i];
+			if (row.numeric_values){
+				fieldtype = "Float";
+				desc = "Min Value: "+ row.from_range +" , Max Value: "+ row.to_range +", in Increments of: "+ row.increment
+			}
+			else {
+				fieldtype = "Data";
+				desc = ""
+			}
+			fields = fields.concat({
+				"label": row.attribute,
+				"fieldname": row.attribute,
+				"fieldtype": fieldtype,
+				"reqd": 1,
+				"description": desc
+			})
+		}
+		fields = fields.concat({
+			"label": "Result",
+			"fieldname": "result",
+			"fieldtype": "HTML"
+		})
 
-	variants_can_not_be_created_manually: function(frm) {
-		if (frm.doc.__islocal && frm.doc.variant_of)
-			frappe.throw(__("Variants can not be created manually, add item attributes in the template item"))
+		var d = new frappe.ui.Dialog({
+			title: __("Search Variant"),
+			fields: fields
+		});
+		
+		d.set_primary_action(__("Search"), function() {	
+			args = d.get_values();
+			if(!args) return;
+			frappe.call({
+				method:"erpnext.stock.doctype.item.item.get_variant",
+				args: {
+					"item": cur_frm.doc.name,
+					"param": d.get_values()
+				},
+				callback: function(r) {
+					if (r.message) {
+						d.get_field("result").set_value($('<a class="btn btn-default btn-sm">'+__("View {0}", [r.message[0]])+'</a>')
+							.on("click", function() {
+								d.hide();
+								frappe.set_route("Form", "Item", r.message[0]);
+							}));
+					} else {
+						d.get_field("result").set_value($('<a class="btn btn-default btn-sm">'	
+							+__("Variant Not Found - Create New"+'</a>')).on("click", function() {
+								d.hide();
+								frappe.call({
+									method:"erpnext.stock.doctype.item.item.create_variant",
+									args: {
+										"item": cur_frm.doc.name,
+										"param": d.get_values()
+									},
+									callback: function(r) {
+										var doclist = frappe.model.sync(r.message);
+										frappe.set_route("Form", doclist[0].doctype, doclist[0].name);
+									}
+								});
+						}));
+					}
+				}
+			});
+		});
+				
+		d.show();
+
+		$.each(d.fields_dict, function(i, field) {
+			
+			if(field.df.fieldtype !== "Data") {
+				return;
+			}
+
+			$(field.input_area).addClass("ui-front");
+			
+			field.$input.autocomplete({
+				minLength: 0,
+				minChars: 0,
+				autoFocus: true,
+				source: function(request, response) {
+					frappe.call({
+						method:"frappe.client.get_list",
+						args:{
+							doctype:"Item Attribute Value",
+							filters: [
+								["parent","=", i],
+								["attribute_value", "like", request.term + "%"]
+							],
+							fields: ["attribute_value"]
+						},
+						callback: function(r) {
+							d.get_field("result").set_value("")
+							if (r.message) {
+								response($.map(r.message, function(d) { return d.attribute_value; }));
+							}
+						}
+					});
+				},
+				select: function(event, ui) {
+					field.$input.val(ui.item.value);
+					field.$input.trigger("change");
+				},
+			}).on("focus", function(){
+				setTimeout(function() {
+					if(!field.$input.val()) {
+						field.$input.autocomplete("search", "");
+					}
+				}, 500);
+			});
+		});
 	}
-
-
 });
+
+cur_frm.add_fetch('attribute', 'numeric_values', 'numeric_values');
+cur_frm.add_fetch('attribute', 'from_range', 'from_range');
+cur_frm.add_fetch('attribute', 'to_range', 'to_range');
+cur_frm.add_fetch('attribute', 'increment', 'increment');
diff --git a/erpnext/stock/doctype/item/item.json b/erpnext/stock/doctype/item/item.json
index 9a52a23..b8f996f 100644
--- a/erpnext/stock/doctype/item/item.json
+++ b/erpnext/stock/doctype/item/item.json
@@ -1,1008 +1,2125 @@
 {
- "allow_import": 1,
- "allow_rename": 1,
- "autoname": "field:item_code",
- "creation": "2013-05-03 10:45:46",
- "default_print_format": "Standard",
- "description": "A Product or a Service that is bought, sold or kept in stock.",
- "docstatus": 0,
- "doctype": "DocType",
- "document_type": "Master",
+ "allow_copy": 0, 
+ "allow_import": 1, 
+ "allow_rename": 1, 
+ "autoname": "field:item_code", 
+ "creation": "2013-05-03 10:45:46", 
+ "custom": 0, 
+ "default_print_format": "Standard", 
+ "description": "A Product or a Service that is bought, sold or kept in stock.", 
+ "docstatus": 0, 
+ "doctype": "DocType", 
+ "document_type": "Master", 
  "fields": [
   {
-   "fieldname": "name_and_description_section",
-   "fieldtype": "Section Break",
-   "label": "",
-   "no_copy": 0,
-   "oldfieldtype": "Section Break",
-   "options": "icon-flag",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "fieldname": "name_and_description_section", 
+   "fieldtype": "Section Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "", 
+   "no_copy": 0, 
+   "oldfieldtype": "Section Break", 
+   "options": "icon-flag", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "fieldname": "naming_series",
-   "fieldtype": "Select",
-   "label": "Series",
-   "options": "ITEM-",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "fieldname": "naming_series", 
+   "fieldtype": "Select", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Series", 
+   "no_copy": 0, 
+   "options": "ITEM-", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "description": "",
-   "fieldname": "item_code",
-   "fieldtype": "Data",
-   "in_filter": 0,
-   "label": "Item Code",
-   "no_copy": 1,
-   "oldfieldname": "item_code",
-   "oldfieldtype": "Data",
-   "permlevel": 0,
-   "read_only": 0,
-   "reqd": 0,
-   "search_index": 0
-  },
+   "allow_on_submit": 0, 
+   "description": "", 
+   "fieldname": "item_code", 
+   "fieldtype": "Data", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Item Code", 
+   "no_copy": 1, 
+   "oldfieldname": "item_code", 
+   "oldfieldtype": "Data", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "variant_of",
-   "description": "If item is a variant of another item then description, image, pricing, taxes etc will be set from the template unless explicitly specified",
-   "fieldname": "variant_of",
-   "fieldtype": "Link",
-   "label": "Variant Of",
-   "options": "Item",
-   "permlevel": 0,
-   "precision": "",
-   "read_only": 1
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "variant_of", 
+   "description": "If item is a variant of another item then description, image, pricing, taxes etc will be set from the template unless explicitly specified", 
+   "fieldname": "variant_of", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Variant Of", 
+   "no_copy": 0, 
+   "options": "Item", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 1, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "fieldname": "item_name",
-   "fieldtype": "Data",
-   "in_filter": 1,
-   "in_list_view": 0,
-   "label": "Item Name",
-   "oldfieldname": "item_name",
-   "oldfieldtype": "Data",
-   "permlevel": 0,
-   "read_only": 0,
-   "reqd": 1,
-   "search_index": 1
-  },
+   "allow_on_submit": 0, 
+   "fieldname": "item_name", 
+   "fieldtype": "Data", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 1, 
+   "in_list_view": 0, 
+   "label": "Item Name", 
+   "no_copy": 0, 
+   "oldfieldname": "item_name", 
+   "oldfieldtype": "Data", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 1, 
+   "search_index": 1, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "description": "",
-   "fieldname": "item_group",
-   "fieldtype": "Link",
-   "in_filter": 1,
-   "in_list_view": 1,
-   "label": "Item Group",
-   "oldfieldname": "item_group",
-   "oldfieldtype": "Link",
-   "options": "Item Group",
-   "permlevel": 0,
-   "read_only": 0,
-   "reqd": 1
-  },
+   "allow_on_submit": 0, 
+   "description": "", 
+   "fieldname": "item_group", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 1, 
+   "in_list_view": 1, 
+   "label": "Item Group", 
+   "no_copy": 0, 
+   "oldfieldname": "item_group", 
+   "oldfieldtype": "Link", 
+   "options": "Item Group", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 1, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "description": "",
-   "fieldname": "stock_uom",
-   "fieldtype": "Link",
-   "ignore_user_permissions": 1,
-   "label": "Default Unit of Measure",
-   "oldfieldname": "stock_uom",
-   "oldfieldtype": "Link",
-   "options": "UOM",
-   "permlevel": 0,
-   "read_only": 0,
-   "reqd": 1
-  },
+   "allow_on_submit": 0, 
+   "description": "", 
+   "fieldname": "stock_uom", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 1, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Default Unit of Measure", 
+   "no_copy": 0, 
+   "oldfieldname": "stock_uom", 
+   "oldfieldtype": "Link", 
+   "options": "UOM", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 1, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "fieldname": "brand",
-   "fieldtype": "Link",
-   "hidden": 0,
-   "label": "Brand",
-   "oldfieldname": "brand",
-   "oldfieldtype": "Link",
-   "options": "Brand",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
-   "reqd": 0
-  },
+   "allow_on_submit": 0, 
+   "fieldname": "brand", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Brand", 
+   "no_copy": 0, 
+   "oldfieldname": "brand", 
+   "oldfieldtype": "Link", 
+   "options": "Brand", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "fieldname": "barcode",
-   "fieldtype": "Data",
-   "label": "Barcode",
-   "no_copy": 1,
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "fieldname": "barcode", 
+   "fieldtype": "Data", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Barcode", 
+   "no_copy": 1, 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "fieldname": "column_break0",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "fieldname": "column_break0", 
+   "fieldtype": "Column Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "fieldname": "image",
-   "fieldtype": "Attach",
-   "label": "Image",
-   "options": "image",
-   "permlevel": 0,
-   "precision": ""
-  },
+   "allow_on_submit": 0, 
+   "fieldname": "image", 
+   "fieldtype": "Attach", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Image", 
+   "no_copy": 0, 
+   "options": "image", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "fieldname": "image_view",
-   "fieldtype": "Image",
-   "in_list_view": 1,
-   "label": "Image View",
-   "options": "image",
-   "permlevel": 0,
-   "precision": ""
-  },
+   "allow_on_submit": 0, 
+   "fieldname": "image_view", 
+   "fieldtype": "Image", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 1, 
+   "label": "Image View", 
+   "no_copy": 0, 
+   "options": "image", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "fieldname": "section_break_11",
-   "fieldtype": "Section Break",
-   "permlevel": 0,
-   "precision": ""
-  },
+   "allow_on_submit": 0, 
+   "fieldname": "section_break_11", 
+   "fieldtype": "Section Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "fieldname": "description",
-   "fieldtype": "Text Editor",
-   "in_filter": 0,
-   "in_list_view": 0,
-   "label": "Description",
-   "oldfieldname": "description",
-   "oldfieldtype": "Text",
-   "permlevel": 0,
-   "read_only": 0,
-   "reqd": 1,
-   "search_index": 0
-  },
+   "allow_on_submit": 0, 
+   "fieldname": "description", 
+   "fieldtype": "Text Editor", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Description", 
+   "no_copy": 0, 
+   "oldfieldname": "description", 
+   "oldfieldtype": "Text", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 1, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "fieldname": "inventory",
-   "fieldtype": "Section Break",
-   "label": "Inventory",
-   "oldfieldtype": "Section Break",
-   "options": "icon-truck",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "fieldname": "inventory", 
+   "fieldtype": "Section Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Inventory", 
+   "no_copy": 0, 
+   "oldfieldtype": "Section Break", 
+   "options": "icon-truck", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "default": "1",
-   "description": "",
-   "fieldname": "is_stock_item",
-   "fieldtype": "Check",
-   "label": "Maintain Stock",
-   "oldfieldname": "is_stock_item",
-   "oldfieldtype": "Select",
-   "options": "",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "default": "1", 
+   "description": "", 
+   "fieldname": "is_stock_item", 
+   "fieldtype": "Check", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Maintain Stock", 
+   "no_copy": 0, 
+   "oldfieldname": "is_stock_item", 
+   "oldfieldtype": "Select", 
+   "options": "", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "default": "",
-   "depends_on": "eval:doc.is_stock_item",
-   "fieldname": "has_batch_no",
-   "fieldtype": "Check",
-   "label": "Has Batch No",
-   "oldfieldname": "has_batch_no",
-   "oldfieldtype": "Select",
-   "options": "",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "default": "", 
+   "depends_on": "eval:doc.is_stock_item", 
+   "fieldname": "has_batch_no", 
+   "fieldtype": "Check", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Has Batch No", 
+   "no_copy": 0, 
+   "oldfieldname": "has_batch_no", 
+   "oldfieldtype": "Select", 
+   "options": "", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "default": "",
-   "depends_on": "eval:doc.is_stock_item",
-   "description": "Selecting \"Yes\" will give a unique identity to each entity of this item which can be viewed in the Serial No master.",
-   "fieldname": "has_serial_no",
-   "fieldtype": "Check",
-   "in_filter": 1,
-   "label": "Has Serial No",
-   "oldfieldname": "has_serial_no",
-   "oldfieldtype": "Select",
-   "options": "",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "default": "", 
+   "depends_on": "eval:doc.is_stock_item", 
+   "description": "Selecting \"Yes\" will give a unique identity to each entity of this item which can be viewed in the Serial No master.", 
+   "fieldname": "has_serial_no", 
+   "fieldtype": "Check", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 1, 
+   "in_list_view": 0, 
+   "label": "Has Serial No", 
+   "no_copy": 0, 
+   "oldfieldname": "has_serial_no", 
+   "oldfieldtype": "Select", 
+   "options": "", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "has_serial_no",
-   "description": "Example: ABCD.#####\nIf series is set and Serial No is not mentioned in transactions, then automatic serial number will be created based on this series. If you always want to explicitly mention Serial Nos for this item. leave this blank.",
-   "fieldname": "serial_no_series",
-   "fieldtype": "Data",
-   "label": "Serial Number Series",
-   "no_copy": 0,
-   "permlevel": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "has_serial_no", 
+   "description": "Example: ABCD.#####\nIf series is set and Serial No is not mentioned in transactions, then automatic serial number will be created based on this series. If you always want to explicitly mention Serial Nos for this item. leave this blank.", 
+   "fieldname": "serial_no_series", 
+   "fieldtype": "Data", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Serial Number Series", 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "default": "",
-   "depends_on": "eval:doc.is_stock_item",
-   "description": "",
-   "fieldname": "is_asset_item",
-   "fieldtype": "Check",
-   "label": "Is Fixed Asset Item",
-   "oldfieldname": "is_asset_item",
-   "oldfieldtype": "Select",
-   "options": "",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "default": "", 
+   "depends_on": "eval:doc.is_stock_item", 
+   "description": "", 
+   "fieldname": "is_asset_item", 
+   "fieldtype": "Check", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Is Fixed Asset Item", 
+   "no_copy": 0, 
+   "oldfieldname": "is_asset_item", 
+   "oldfieldtype": "Select", 
+   "options": "", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "is_stock_item",
-   "fieldname": "column_break1",
-   "fieldtype": "Column Break",
-   "oldfieldtype": "Column Break",
-   "permlevel": 0,
-   "read_only": 0,
+   "allow_on_submit": 0, 
+   "depends_on": "is_stock_item", 
+   "fieldname": "column_break1", 
+   "fieldtype": "Column Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "no_copy": 0, 
+   "oldfieldtype": "Column Break", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0, 
    "width": "50%"
-  },
+  }, 
   {
-   "depends_on": "",
-   "description": "",
-   "fieldname": "default_warehouse",
-   "fieldtype": "Link",
-   "ignore_user_permissions": 1,
-   "label": "Default Warehouse",
-   "oldfieldname": "default_warehouse",
-   "oldfieldtype": "Link",
-   "options": "Warehouse",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "", 
+   "description": "", 
+   "fieldname": "default_warehouse", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 1, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Default Warehouse", 
+   "no_copy": 0, 
+   "oldfieldname": "default_warehouse", 
+   "oldfieldtype": "Link", 
+   "options": "Warehouse", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "is_stock_item",
-   "description": "",
-   "fieldname": "tolerance",
-   "fieldtype": "Float",
-   "label": "Allow over delivery or receipt upto this percent",
-   "oldfieldname": "tolerance",
-   "oldfieldtype": "Currency",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "is_stock_item", 
+   "description": "", 
+   "fieldname": "tolerance", 
+   "fieldtype": "Float", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Allow over delivery or receipt upto this percent", 
+   "no_copy": 0, 
+   "oldfieldname": "tolerance", 
+   "oldfieldtype": "Currency", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "is_stock_item",
-   "fieldname": "valuation_method",
-   "fieldtype": "Select",
-   "label": "Valuation Method",
-   "options": "\nFIFO\nMoving Average",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "is_stock_item", 
+   "fieldname": "valuation_method", 
+   "fieldtype": "Select", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Valuation Method", 
+   "no_copy": 0, 
+   "options": "\nFIFO\nMoving Average", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "default": "0.00",
-   "depends_on": "is_stock_item",
-   "description": "",
-   "fieldname": "min_order_qty",
-   "fieldtype": "Float",
-   "hidden": 0,
-   "label": "Minimum Order Qty",
-   "oldfieldname": "min_order_qty",
-   "oldfieldtype": "Currency",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "default": "0.00", 
+   "depends_on": "is_stock_item", 
+   "description": "", 
+   "fieldname": "min_order_qty", 
+   "fieldtype": "Float", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Minimum Order Qty", 
+   "no_copy": 0, 
+   "oldfieldname": "min_order_qty", 
+   "oldfieldtype": "Currency", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "eval:doc.is_stock_item",
-   "fieldname": "warranty_period",
-   "fieldtype": "Data",
-   "label": "Warranty Period (in days)",
-   "oldfieldname": "warranty_period",
-   "oldfieldtype": "Data",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "eval:doc.is_stock_item", 
+   "fieldname": "warranty_period", 
+   "fieldtype": "Data", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Warranty Period (in days)", 
+   "no_copy": 0, 
+   "oldfieldname": "warranty_period", 
+   "oldfieldtype": "Data", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "default": "2099-12-31",
-   "depends_on": "is_stock_item",
-   "fieldname": "end_of_life",
-   "fieldtype": "Date",
-   "label": "End of Life",
-   "oldfieldname": "end_of_life",
-   "oldfieldtype": "Date",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "default": "2099-12-31", 
+   "depends_on": "is_stock_item", 
+   "fieldname": "end_of_life", 
+   "fieldtype": "Date", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "End of Life", 
+   "no_copy": 0, 
+   "oldfieldname": "end_of_life", 
+   "oldfieldtype": "Date", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "is_stock_item",
-   "description": "",
-   "fieldname": "net_weight",
-   "fieldtype": "Float",
-   "label": "Net Weight",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "is_stock_item", 
+   "description": "", 
+   "fieldname": "net_weight", 
+   "fieldtype": "Float", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Net Weight", 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "eval:doc.is_stock_item",
-   "fieldname": "weight_uom",
-   "fieldtype": "Link",
-   "ignore_user_permissions": 1,
-   "label": "Weight UOM",
-   "options": "UOM",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "eval:doc.is_stock_item", 
+   "fieldname": "weight_uom", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 1, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Weight UOM", 
+   "no_copy": 0, 
+   "options": "UOM", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "eval:doc.is_stock_item",
-   "description": "",
-   "fieldname": "reorder_section",
-   "fieldtype": "Section Break",
-   "label": "Auto re-order",
-   "options": "icon-rss",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "eval:doc.is_stock_item", 
+   "description": "", 
+   "fieldname": "reorder_section", 
+   "fieldtype": "Section Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Auto re-order", 
+   "no_copy": 0, 
+   "options": "icon-rss", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "eval:(doc.is_stock_item && !doc.apply_warehouse_wise_reorder_level)",
-   "description": "Automatically create Material Request if quantity falls below this level",
-   "fieldname": "re_order_level",
-   "fieldtype": "Float",
-   "label": "Re-order Level",
-   "oldfieldname": "re_order_level",
-   "oldfieldtype": "Currency",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "eval:(doc.is_stock_item && !doc.apply_warehouse_wise_reorder_level)", 
+   "description": "Automatically create Material Request if quantity falls below this level", 
+   "fieldname": "re_order_level", 
+   "fieldtype": "Float", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Re-order Level", 
+   "no_copy": 0, 
+   "oldfieldname": "re_order_level", 
+   "oldfieldtype": "Currency", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "eval:(doc.is_stock_item && !doc.apply_warehouse_wise_reorder_level)",
-   "fieldname": "re_order_qty",
-   "fieldtype": "Float",
-   "label": "Re-order Qty",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "eval:(doc.is_stock_item && !doc.apply_warehouse_wise_reorder_level)", 
+   "fieldname": "re_order_qty", 
+   "fieldtype": "Float", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Re-order Qty", 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "is_stock_item",
-   "fieldname": "apply_warehouse_wise_reorder_level",
-   "fieldtype": "Check",
-   "label": "Apply Warehouse-wise Reorder Level",
-   "permlevel": 0,
-   "precision": ""
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "is_stock_item", 
+   "fieldname": "apply_warehouse_wise_reorder_level", 
+   "fieldtype": "Check", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Apply Warehouse-wise Reorder Level", 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "eval:(doc.is_stock_item && doc.apply_warehouse_wise_reorder_level)",
-   "fieldname": "section_break_31",
-   "fieldtype": "Section Break",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "eval:(doc.is_stock_item && doc.apply_warehouse_wise_reorder_level)", 
+   "fieldname": "section_break_31", 
+   "fieldtype": "Section Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "eval:(doc.is_stock_item && doc.apply_warehouse_wise_reorder_level)",
-   "description": "Will also apply for variants unless overrridden",
-   "fieldname": "reorder_levels",
-   "fieldtype": "Table",
-   "label": "Warehouse-wise Reorder Levels",
-   "options": "Item Reorder",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "eval:(doc.is_stock_item && doc.apply_warehouse_wise_reorder_level)", 
+   "description": "Will also apply for variants unless overrridden", 
+   "fieldname": "reorder_levels", 
+   "fieldtype": "Table", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Warehouse-wise Reorder Levels", 
+   "no_copy": 0, 
+   "options": "Item Reorder", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "eval:!doc.variant_of",
-   "fieldname": "variants_section",
-   "fieldtype": "Section Break",
-   "label": "Variants",
-   "permlevel": 0,
-   "precision": ""
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "", 
+   "fieldname": "variants_section", 
+   "fieldtype": "Section Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Variants", 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "default": "0",
-   "depends_on": "",
-   "description": "If this item has variants, then it cannot be selected in sales orders etc.",
-   "fieldname": "has_variants",
-   "fieldtype": "Check",
-   "label": "Has Variants",
-   "no_copy": 1,
-   "options": "",
-   "permlevel": 0,
-   "precision": "",
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "default": "0", 
+   "depends_on": "eval:!doc.variant_of", 
+   "description": "If this item has variants, then it cannot be selected in sales orders etc.", 
+   "fieldname": "has_variants", 
+   "fieldtype": "Check", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Has Variants", 
+   "no_copy": 1, 
+   "options": "", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "fieldname": "column_break_18",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
-   "precision": ""
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "has_variants", 
+   "fieldname": "valid_attributes", 
+   "fieldtype": "Table", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Valid Attributes", 
+   "no_copy": 0, 
+   "options": "Item Template Attribute", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "has_variants",
-   "fieldname": "manage_variants",
-   "fieldtype": "Button",
-   "label": "Manage Variants",
-   "permlevel": 0,
-   "precision": ""
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "variant_of", 
+   "fieldname": "attributes", 
+   "fieldtype": "Table", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Attributes", 
+   "no_copy": 1, 
+   "options": "Variant Attribute", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 1, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "fieldname": "section_break_20",
-   "fieldtype": "Section Break",
-   "permlevel": 0,
-   "precision": ""
-  },
+   "allow_on_submit": 0, 
+   "fieldname": "purchase_details", 
+   "fieldtype": "Section Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Purchase Details", 
+   "no_copy": 0, 
+   "oldfieldtype": "Section Break", 
+   "options": "icon-shopping-cart", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "variant_of",
-   "fieldname": "attributes",
-   "fieldtype": "Table",
-   "hidden": 0,
-   "label": "Attributes",
-   "no_copy": 1,
-   "options": "Variant Attribute",
-   "permlevel": 0,
-   "precision": "",
-   "read_only": 1
-  },
+   "allow_on_submit": 0, 
+   "default": "1", 
+   "description": "", 
+   "fieldname": "is_purchase_item", 
+   "fieldtype": "Check", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Is Purchase Item", 
+   "no_copy": 0, 
+   "oldfieldname": "is_purchase_item", 
+   "oldfieldtype": "Select", 
+   "options": "", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "fieldname": "purchase_details",
-   "fieldtype": "Section Break",
-   "label": "Purchase Details",
-   "oldfieldtype": "Section Break",
-   "options": "icon-shopping-cart",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "is_purchase_item", 
+   "description": "Average time taken by the supplier to deliver", 
+   "fieldname": "lead_time_days", 
+   "fieldtype": "Int", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Lead Time in days", 
+   "no_copy": 0, 
+   "oldfieldname": "lead_time_days", 
+   "oldfieldtype": "Int", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "default": "1",
-   "description": "",
-   "fieldname": "is_purchase_item",
-   "fieldtype": "Check",
-   "label": "Is Purchase Item",
-   "oldfieldname": "is_purchase_item",
-   "oldfieldtype": "Select",
-   "options": "",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "is_purchase_item", 
+   "description": "", 
+   "fieldname": "buying_cost_center", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 1, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Default Buying Cost Center", 
+   "no_copy": 0, 
+   "oldfieldname": "cost_center", 
+   "oldfieldtype": "Link", 
+   "options": "Cost Center", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "is_purchase_item",
-   "description": "Average time taken by the supplier to deliver",
-   "fieldname": "lead_time_days",
-   "fieldtype": "Int",
-   "label": "Lead Time in days",
-   "no_copy": 0,
-   "oldfieldname": "lead_time_days",
-   "oldfieldtype": "Int",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "is_purchase_item", 
+   "description": "", 
+   "fieldname": "expense_account", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 1, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Default Expense Account", 
+   "no_copy": 0, 
+   "oldfieldname": "purchase_account", 
+   "oldfieldtype": "Link", 
+   "options": "Account", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "is_purchase_item",
-   "description": "",
-   "fieldname": "buying_cost_center",
-   "fieldtype": "Link",
-   "ignore_user_permissions": 1,
-   "label": "Default Buying Cost Center",
-   "oldfieldname": "cost_center",
-   "oldfieldtype": "Link",
-   "options": "Cost Center",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "is_purchase_item", 
+   "fieldname": "unit_of_measure_conversion", 
+   "fieldtype": "Column Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Unit of Measure Conversion", 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "is_purchase_item",
-   "description": "",
-   "fieldname": "expense_account",
-   "fieldtype": "Link",
-   "ignore_user_permissions": 1,
-   "label": "Default Expense Account",
-   "oldfieldname": "purchase_account",
-   "oldfieldtype": "Link",
-   "options": "Account",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "is_purchase_item", 
+   "description": "Will also apply for variants", 
+   "fieldname": "uoms", 
+   "fieldtype": "Table", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "UOMs", 
+   "no_copy": 1, 
+   "oldfieldname": "uom_conversion_details", 
+   "oldfieldtype": "Table", 
+   "options": "UOM Conversion Detail", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "is_purchase_item",
-   "fieldname": "unit_of_measure_conversion",
-   "fieldtype": "Column Break",
-   "label": "Unit of Measure Conversion",
-   "permlevel": 0,
-   "precision": ""
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "is_purchase_item", 
+   "fieldname": "last_purchase_rate", 
+   "fieldtype": "Float", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Last Purchase Rate", 
+   "no_copy": 1, 
+   "oldfieldname": "last_purchase_rate", 
+   "oldfieldtype": "Currency", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 1, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "is_purchase_item",
-   "description": "Will also apply for variants",
-   "fieldname": "uoms",
-   "fieldtype": "Table",
-   "label": "UOMs",
-   "no_copy": 1,
-   "oldfieldname": "uom_conversion_details",
-   "oldfieldtype": "Table",
-   "options": "UOM Conversion Detail",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "is_purchase_item", 
+   "fieldname": "supplier_details", 
+   "fieldtype": "Section Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Supplier Details", 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "is_purchase_item",
-   "fieldname": "last_purchase_rate",
-   "fieldtype": "Float",
-   "label": "Last Purchase Rate",
-   "no_copy": 1,
-   "oldfieldname": "last_purchase_rate",
-   "oldfieldtype": "Currency",
-   "permlevel": 0,
-   "read_only": 1
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "eval:doc.is_purchase_item", 
+   "fieldname": "default_supplier", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 1, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Default Supplier", 
+   "no_copy": 0, 
+   "options": "Supplier", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "is_purchase_item",
-   "fieldname": "supplier_details",
-   "fieldtype": "Section Break",
-   "label": "Supplier Details",
-   "permlevel": 0,
-   "precision": ""
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "eval:doc.is_purchase_item", 
+   "fieldname": "manufacturer", 
+   "fieldtype": "Data", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Manufacturer", 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "eval:doc.is_purchase_item",
-   "fieldname": "default_supplier",
-   "fieldtype": "Link",
-   "ignore_user_permissions": 1,
-   "label": "Default Supplier",
-   "options": "Supplier",
-   "permlevel": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "eval:doc.is_purchase_item", 
+   "fieldname": "manufacturer_part_no", 
+   "fieldtype": "Data", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Manufacturer Part Number", 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "eval:doc.is_purchase_item",
-   "fieldname": "manufacturer",
-   "fieldtype": "Data",
-   "label": "Manufacturer",
-   "permlevel": 0,
-   "read_only": 0
-  },
-  {
-   "depends_on": "eval:doc.is_purchase_item",
-   "fieldname": "manufacturer_part_no",
-   "fieldtype": "Data",
-   "label": "Manufacturer Part Number",
-   "permlevel": 0,
-   "read_only": 0
-  },
-  {
-   "depends_on": "is_purchase_item",
-   "fieldname": "column_break2",
-   "fieldtype": "Column Break",
-   "label": "Item Code for Suppliers",
-   "oldfieldtype": "Column Break",
-   "permlevel": 0,
-   "read_only": 0,
+   "allow_on_submit": 0, 
+   "depends_on": "is_purchase_item", 
+   "fieldname": "column_break2", 
+   "fieldtype": "Column Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Item Code for Suppliers", 
+   "no_copy": 0, 
+   "oldfieldtype": "Column Break", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0, 
    "width": "50%"
-  },
+  }, 
   {
-   "depends_on": "is_purchase_item",
-   "fieldname": "supplier_items",
-   "fieldtype": "Table",
-   "label": "Supplier Items",
-   "options": "Item Supplier",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "is_purchase_item", 
+   "fieldname": "supplier_items", 
+   "fieldtype": "Table", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Supplier Items", 
+   "no_copy": 0, 
+   "options": "Item Supplier", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "fieldname": "sales_details",
-   "fieldtype": "Section Break",
-   "label": "Sales Details",
-   "oldfieldtype": "Section Break",
-   "options": "icon-tag",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "fieldname": "sales_details", 
+   "fieldtype": "Section Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Sales Details", 
+   "no_copy": 0, 
+   "oldfieldtype": "Section Break", 
+   "options": "icon-tag", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "default": "1",
-   "description": "",
-   "fieldname": "is_sales_item",
-   "fieldtype": "Check",
-   "in_filter": 1,
-   "label": "Is Sales Item",
-   "oldfieldname": "is_sales_item",
-   "oldfieldtype": "Select",
-   "options": "",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "default": "1", 
+   "description": "", 
+   "fieldname": "is_sales_item", 
+   "fieldtype": "Check", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 1, 
+   "in_list_view": 0, 
+   "label": "Is Sales Item", 
+   "no_copy": 0, 
+   "oldfieldname": "is_sales_item", 
+   "oldfieldtype": "Select", 
+   "options": "", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "default": "",
-   "depends_on": "eval:doc.is_sales_item",
-   "description": "Allow in Sales Order of type \"Service\"",
-   "fieldname": "is_service_item",
-   "fieldtype": "Check",
-   "in_filter": 1,
-   "label": "Is Service Item",
-   "oldfieldname": "is_service_item",
-   "oldfieldtype": "Select",
-   "options": "",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "default": "", 
+   "depends_on": "eval:doc.is_sales_item", 
+   "description": "Allow in Sales Order of type \"Service\"", 
+   "fieldname": "is_service_item", 
+   "fieldtype": "Check", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 1, 
+   "in_list_view": 0, 
+   "label": "Is Service Item", 
+   "no_copy": 0, 
+   "oldfieldname": "is_service_item", 
+   "oldfieldtype": "Select", 
+   "options": "", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "default": "0",
-   "description": "Publish Item to hub.erpnext.com",
-   "fieldname": "publish_in_hub",
-   "fieldtype": "Check",
-   "hidden": 1,
-   "label": "Publish in Hub",
-   "permlevel": 0,
-   "precision": ""
-  },
+   "allow_on_submit": 0, 
+   "default": "0", 
+   "description": "Publish Item to hub.erpnext.com", 
+   "fieldname": "publish_in_hub", 
+   "fieldtype": "Check", 
+   "hidden": 1, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Publish in Hub", 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "default": "0",
-   "fieldname": "synced_with_hub",
-   "fieldtype": "Check",
-   "hidden": 1,
-   "label": "Synced With Hub",
-   "permlevel": 0,
-   "precision": ""
-  },
+   "allow_on_submit": 0, 
+   "default": "0", 
+   "fieldname": "synced_with_hub", 
+   "fieldtype": "Check", 
+   "hidden": 1, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Synced With Hub", 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "is_sales_item",
-   "fieldname": "income_account",
-   "fieldtype": "Link",
-   "ignore_user_permissions": 1,
-   "label": "Default Income Account",
-   "options": "Account",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "is_sales_item", 
+   "fieldname": "income_account", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 1, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Default Income Account", 
+   "no_copy": 0, 
+   "options": "Account", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "is_sales_item",
-   "fieldname": "selling_cost_center",
-   "fieldtype": "Link",
-   "ignore_user_permissions": 1,
-   "label": "Default Selling Cost Center",
-   "options": "Cost Center",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "is_sales_item", 
+   "fieldname": "selling_cost_center", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 1, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Default Selling Cost Center", 
+   "no_copy": 0, 
+   "options": "Cost Center", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "is_sales_item",
-   "fieldname": "column_break3",
-   "fieldtype": "Column Break",
-   "label": "Customer Item Codes",
-   "oldfieldtype": "Column Break",
-   "permlevel": 0,
-   "read_only": 0,
+   "allow_on_submit": 0, 
+   "depends_on": "is_sales_item", 
+   "fieldname": "column_break3", 
+   "fieldtype": "Column Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Customer Item Codes", 
+   "no_copy": 0, 
+   "oldfieldtype": "Column Break", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0, 
    "width": "50%"
-  },
+  }, 
   {
-   "depends_on": "is_sales_item",
-   "description": "",
-   "fieldname": "customer_items",
-   "fieldtype": "Table",
-   "label": "Customer Items",
-   "options": "Item Customer Detail",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "is_sales_item", 
+   "description": "", 
+   "fieldname": "customer_items", 
+   "fieldtype": "Table", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Customer Items", 
+   "no_copy": 0, 
+   "options": "Item Customer Detail", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "eval:doc.is_sales_item",
-   "fieldname": "max_discount",
-   "fieldtype": "Float",
-   "label": "Max Discount (%)",
-   "oldfieldname": "max_discount",
-   "oldfieldtype": "Currency",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "eval:doc.is_sales_item", 
+   "fieldname": "max_discount", 
+   "fieldtype": "Float", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Max Discount (%)", 
+   "no_copy": 0, 
+   "oldfieldname": "max_discount", 
+   "oldfieldtype": "Currency", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "fieldname": "item_tax_section_break",
-   "fieldtype": "Section Break",
-   "label": "Item Tax",
-   "oldfieldtype": "Section Break",
-   "options": "icon-money",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "fieldname": "item_tax_section_break", 
+   "fieldtype": "Section Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Item Tax", 
+   "no_copy": 0, 
+   "oldfieldtype": "Section Break", 
+   "options": "icon-money", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "description": "Will also apply for variants",
-   "fieldname": "taxes",
-   "fieldtype": "Table",
-   "label": "Taxes",
-   "oldfieldname": "item_tax",
-   "oldfieldtype": "Table",
-   "options": "Item Tax",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "description": "Will also apply for variants", 
+   "fieldname": "taxes", 
+   "fieldtype": "Table", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Taxes", 
+   "no_copy": 0, 
+   "oldfieldname": "item_tax", 
+   "oldfieldtype": "Table", 
+   "options": "Item Tax", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "fieldname": "inspection_criteria",
-   "fieldtype": "Section Break",
-   "label": "Inspection Criteria",
-   "oldfieldtype": "Section Break",
-   "options": "icon-search",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "fieldname": "inspection_criteria", 
+   "fieldtype": "Section Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Inspection Criteria", 
+   "no_copy": 0, 
+   "oldfieldtype": "Section Break", 
+   "options": "icon-search", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "default": "",
-   "fieldname": "inspection_required",
-   "fieldtype": "Check",
-   "label": "Inspection Required",
-   "no_copy": 0,
-   "oldfieldname": "inspection_required",
-   "oldfieldtype": "Select",
-   "options": "",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "default": "", 
+   "fieldname": "inspection_required", 
+   "fieldtype": "Check", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Inspection Required", 
+   "no_copy": 0, 
+   "oldfieldname": "inspection_required", 
+   "oldfieldtype": "Select", 
+   "options": "", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "inspection_required",
-   "description": "Will also apply to variants",
-   "fieldname": "quality_parameters",
-   "fieldtype": "Table",
-   "label": "Quality Parameters",
-   "oldfieldname": "item_specification_details",
-   "oldfieldtype": "Table",
-   "options": "Item Quality Inspection Parameter",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "inspection_required", 
+   "description": "Will also apply to variants", 
+   "fieldname": "quality_parameters", 
+   "fieldtype": "Table", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Quality Parameters", 
+   "no_copy": 0, 
+   "oldfieldname": "item_specification_details", 
+   "oldfieldtype": "Table", 
+   "options": "Item Quality Inspection Parameter", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "fieldname": "manufacturing",
-   "fieldtype": "Section Break",
-   "label": "Manufacturing",
-   "oldfieldtype": "Section Break",
-   "options": "icon-cogs",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "fieldname": "manufacturing", 
+   "fieldtype": "Section Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Manufacturing", 
+   "no_copy": 0, 
+   "oldfieldtype": "Section Break", 
+   "options": "icon-cogs", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "default": "",
-   "depends_on": "",
-   "description": "",
-   "fieldname": "is_pro_applicable",
-   "fieldtype": "Check",
-   "label": "Allow Production Order",
-   "oldfieldname": "is_pro_applicable",
-   "oldfieldtype": "Select",
-   "options": "",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "default": "", 
+   "depends_on": "", 
+   "description": "", 
+   "fieldname": "is_pro_applicable", 
+   "fieldtype": "Check", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Allow Production Order", 
+   "no_copy": 0, 
+   "oldfieldname": "is_pro_applicable", 
+   "oldfieldtype": "Select", 
+   "options": "", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "default": "",
-   "description": "If subcontracted to a vendor",
-   "fieldname": "is_sub_contracted_item",
-   "fieldtype": "Check",
-   "label": "Supply Raw Materials for Purchase",
-   "oldfieldname": "is_sub_contracted_item",
-   "oldfieldtype": "Select",
-   "options": "",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "default": "", 
+   "description": "If subcontracted to a vendor", 
+   "fieldname": "is_sub_contracted_item", 
+   "fieldtype": "Check", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Supply Raw Materials for Purchase", 
+   "no_copy": 0, 
+   "oldfieldname": "is_sub_contracted_item", 
+   "oldfieldtype": "Select", 
+   "options": "", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "fieldname": "column_break_74",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
-   "precision": ""
-  },
+   "allow_on_submit": 0, 
+   "fieldname": "column_break_74", 
+   "fieldtype": "Column Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "",
-   "fieldname": "default_bom",
-   "fieldtype": "Link",
-   "ignore_user_permissions": 1,
-   "label": "Default BOM",
-   "no_copy": 1,
-   "oldfieldname": "default_bom",
-   "oldfieldtype": "Link",
-   "options": "BOM",
-   "permlevel": 0,
-   "read_only": 1
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "", 
+   "fieldname": "default_bom", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 1, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Default BOM", 
+   "no_copy": 1, 
+   "oldfieldname": "default_bom", 
+   "oldfieldtype": "Link", 
+   "options": "BOM", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 1, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "fieldname": "customer_code",
-   "fieldtype": "Data",
-   "hidden": 1,
-   "in_filter": 1,
-   "label": "Customer Code",
-   "no_copy": 1,
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "fieldname": "customer_code", 
+   "fieldtype": "Data", 
+   "hidden": 1, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 1, 
+   "in_list_view": 0, 
+   "label": "Customer Code", 
+   "no_copy": 1, 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "fieldname": "website_section",
-   "fieldtype": "Section Break",
-   "label": "Website",
-   "options": "icon-globe",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "fieldname": "website_section", 
+   "fieldtype": "Section Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Website", 
+   "no_copy": 0, 
+   "options": "icon-globe", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "fieldname": "show_in_website",
-   "fieldtype": "Check",
-   "label": "Show in Website",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "fieldname": "show_in_website", 
+   "fieldtype": "Check", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Show in Website", 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "show_in_website",
-   "description": "website page link",
-   "fieldname": "page_name",
-   "fieldtype": "Data",
-   "label": "Page Name",
-   "no_copy": 1,
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "show_in_website", 
+   "description": "website page link", 
+   "fieldname": "page_name", 
+   "fieldtype": "Data", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Page Name", 
+   "no_copy": 1, 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "show_in_website",
-   "description": "Items with higher weightage will be shown higher",
-   "fieldname": "weightage",
-   "fieldtype": "Int",
-   "label": "Weightage",
-   "permlevel": 0,
-   "read_only": 0,
-   "search_index": 1
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "show_in_website", 
+   "description": "Items with higher weightage will be shown higher", 
+   "fieldname": "weightage", 
+   "fieldtype": "Int", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Weightage", 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 1, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "show_in_website",
-   "description": "Show a slideshow at the top of the page",
-   "fieldname": "slideshow",
-   "fieldtype": "Link",
-   "label": "Slideshow",
-   "options": "Website Slideshow",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "show_in_website", 
+   "description": "Show a slideshow at the top of the page", 
+   "fieldname": "slideshow", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Slideshow", 
+   "no_copy": 0, 
+   "options": "Website Slideshow", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "show_in_website",
-   "description": "Item Image (if not slideshow)",
-   "fieldname": "website_image",
-   "fieldtype": "Attach",
-   "label": "Image",
-   "options": "",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "show_in_website", 
+   "description": "Item Image (if not slideshow)", 
+   "fieldname": "website_image", 
+   "fieldtype": "Attach", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Image", 
+   "no_copy": 0, 
+   "options": "", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "fieldname": "cb72",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "fieldname": "cb72", 
+   "fieldtype": "Column Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "show_in_website",
-   "description": "Show \"In Stock\" or \"Not in Stock\" based on stock available in this warehouse.",
-   "fieldname": "website_warehouse",
-   "fieldtype": "Link",
-   "ignore_user_permissions": 1,
-   "label": "Website Warehouse",
-   "options": "Warehouse",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "show_in_website", 
+   "description": "Show \"In Stock\" or \"Not in Stock\" based on stock available in this warehouse.", 
+   "fieldname": "website_warehouse", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 1, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Website Warehouse", 
+   "no_copy": 0, 
+   "options": "Warehouse", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "show_in_website",
-   "description": "List this Item in multiple groups on the website.",
-   "fieldname": "website_item_groups",
-   "fieldtype": "Table",
-   "label": "Website Item Groups",
-   "options": "Website Item Group",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "show_in_website", 
+   "description": "List this Item in multiple groups on the website.", 
+   "fieldname": "website_item_groups", 
+   "fieldtype": "Table", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Website Item Groups", 
+   "no_copy": 0, 
+   "options": "Website Item Group", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "show_in_website",
-   "fieldname": "sb72",
-   "fieldtype": "Section Break",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "show_in_website", 
+   "fieldname": "sb72", 
+   "fieldtype": "Section Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "fieldname": "website_specifications_cb",
-   "fieldtype": "Column Break",
-   "label": "Website Specifications",
-   "permlevel": 0,
-   "precision": ""
-  },
+   "allow_on_submit": 0, 
+   "fieldname": "website_specifications_cb", 
+   "fieldtype": "Column Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Website Specifications", 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "show_in_website",
-   "fieldname": "copy_from_item_group",
-   "fieldtype": "Button",
-   "label": "Copy From Item Group",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "show_in_website", 
+   "fieldname": "copy_from_item_group", 
+   "fieldtype": "Button", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Copy From Item Group", 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "show_in_website",
-   "fieldname": "website_specifications",
-   "fieldtype": "Table",
-   "label": "Website Specifications",
-   "options": "Item Website Specification",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "show_in_website", 
+   "fieldname": "website_specifications", 
+   "fieldtype": "Table", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Website Specifications", 
+   "no_copy": 0, 
+   "options": "Item Website Specification", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "depends_on": "show_in_website",
-   "fieldname": "web_long_description",
-   "fieldtype": "Text Editor",
-   "label": "Website Description",
-   "permlevel": 0,
-   "read_only": 0
-  },
+   "allow_on_submit": 0, 
+   "depends_on": "show_in_website", 
+   "fieldname": "web_long_description", 
+   "fieldtype": "Text Editor", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Website Description", 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
   {
-   "fieldname": "parent_website_route",
-   "fieldtype": "Read Only",
-   "ignore_user_permissions": 1,
-   "label": "Parent Website Route",
-   "no_copy": 1,
-   "options": "",
-   "permlevel": 0
+   "allow_on_submit": 0, 
+   "fieldname": "parent_website_route", 
+   "fieldtype": "Read Only", 
+   "hidden": 0, 
+   "ignore_user_permissions": 1, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Parent Website Route", 
+   "no_copy": 1, 
+   "options": "", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
   }
- ],
- "icon": "icon-tag",
- "idx": 1,
- "max_attachments": 1,
- "modified": "2015-07-30 06:04:28.448050",
- "modified_by": "Administrator",
- "module": "Stock",
- "name": "Item",
- "owner": "Administrator",
+ ], 
+ "hide_heading": 0, 
+ "hide_toolbar": 0, 
+ "icon": "icon-tag", 
+ "idx": 1, 
+ "in_create": 0, 
+ "in_dialog": 0, 
+ "is_submittable": 0, 
+ "issingle": 0, 
+ "istable": 0, 
+ "max_attachments": 1, 
+ "modified": "2015-08-04 07:04:46.573200", 
+ "modified_by": "Administrator", 
+ "module": "Stock", 
+ "name": "Item", 
+ "owner": "Administrator", 
  "permissions": [
   {
-   "create": 1,
-   "delete": 1,
-   "email": 1,
-   "import": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "Item Manager",
-   "share": 1,
-   "submit": 0,
+   "amend": 0, 
+   "apply_user_permissions": 0, 
+   "cancel": 0, 
+   "create": 1, 
+   "delete": 1, 
+   "email": 1, 
+   "export": 0, 
+   "if_owner": 0, 
+   "import": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Item Manager", 
+   "set_user_permissions": 0, 
+   "share": 1, 
+   "submit": 0, 
    "write": 1
-  },
+  }, 
   {
-   "amend": 0,
-   "create": 0,
-   "delete": 0,
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "Stock Manager",
-   "submit": 0,
+   "amend": 0, 
+   "apply_user_permissions": 0, 
+   "cancel": 0, 
+   "create": 0, 
+   "delete": 0, 
+   "email": 1, 
+   "export": 0, 
+   "if_owner": 0, 
+   "import": 0, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Stock Manager", 
+   "set_user_permissions": 0, 
+   "share": 0, 
+   "submit": 0, 
    "write": 0
-  },
+  }, 
   {
-   "amend": 0,
-   "apply_user_permissions": 1,
-   "create": 0,
-   "delete": 0,
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "Stock User",
-   "submit": 0,
+   "amend": 0, 
+   "apply_user_permissions": 1, 
+   "cancel": 0, 
+   "create": 0, 
+   "delete": 0, 
+   "email": 1, 
+   "export": 0, 
+   "if_owner": 0, 
+   "import": 0, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Stock User", 
+   "set_user_permissions": 0, 
+   "share": 0, 
+   "submit": 0, 
    "write": 0
-  },
+  }, 
   {
-   "apply_user_permissions": 1,
-   "permlevel": 0,
-   "read": 1,
-   "role": "Sales User"
-  },
+   "amend": 0, 
+   "apply_user_permissions": 1, 
+   "cancel": 0, 
+   "create": 0, 
+   "delete": 0, 
+   "email": 0, 
+   "export": 0, 
+   "if_owner": 0, 
+   "import": 0, 
+   "permlevel": 0, 
+   "print": 0, 
+   "read": 1, 
+   "report": 0, 
+   "role": "Sales User", 
+   "set_user_permissions": 0, 
+   "share": 0, 
+   "submit": 0, 
+   "write": 0
+  }, 
   {
-   "apply_user_permissions": 1,
-   "permlevel": 0,
-   "read": 1,
-   "role": "Purchase User"
-  },
+   "amend": 0, 
+   "apply_user_permissions": 1, 
+   "cancel": 0, 
+   "create": 0, 
+   "delete": 0, 
+   "email": 0, 
+   "export": 0, 
+   "if_owner": 0, 
+   "import": 0, 
+   "permlevel": 0, 
+   "print": 0, 
+   "read": 1, 
+   "report": 0, 
+   "role": "Purchase User", 
+   "set_user_permissions": 0, 
+   "share": 0, 
+   "submit": 0, 
+   "write": 0
+  }, 
   {
-   "apply_user_permissions": 1,
-   "permlevel": 0,
-   "read": 1,
-   "role": "Maintenance User"
-  },
+   "amend": 0, 
+   "apply_user_permissions": 1, 
+   "cancel": 0, 
+   "create": 0, 
+   "delete": 0, 
+   "email": 0, 
+   "export": 0, 
+   "if_owner": 0, 
+   "import": 0, 
+   "permlevel": 0, 
+   "print": 0, 
+   "read": 1, 
+   "report": 0, 
+   "role": "Maintenance User", 
+   "set_user_permissions": 0, 
+   "share": 0, 
+   "submit": 0, 
+   "write": 0
+  }, 
   {
-   "apply_user_permissions": 1,
-   "permlevel": 0,
-   "read": 1,
-   "role": "Accounts User"
-  },
+   "amend": 0, 
+   "apply_user_permissions": 1, 
+   "cancel": 0, 
+   "create": 0, 
+   "delete": 0, 
+   "email": 0, 
+   "export": 0, 
+   "if_owner": 0, 
+   "import": 0, 
+   "permlevel": 0, 
+   "print": 0, 
+   "read": 1, 
+   "report": 0, 
+   "role": "Accounts User", 
+   "set_user_permissions": 0, 
+   "share": 0, 
+   "submit": 0, 
+   "write": 0
+  }, 
   {
-   "apply_user_permissions": 1,
-   "permlevel": 0,
-   "read": 1,
-   "role": "Manufacturing User"
+   "amend": 0, 
+   "apply_user_permissions": 1, 
+   "cancel": 0, 
+   "create": 0, 
+   "delete": 0, 
+   "email": 0, 
+   "export": 0, 
+   "if_owner": 0, 
+   "import": 0, 
+   "permlevel": 0, 
+   "print": 0, 
+   "read": 1, 
+   "report": 0, 
+   "role": "Manufacturing User", 
+   "set_user_permissions": 0, 
+   "share": 0, 
+   "submit": 0, 
+   "write": 0
   }
- ],
- "search_fields": "item_name,description,item_group,customer_code",
+ ], 
+ "read_only": 0, 
+ "read_only_onload": 0, 
+ "search_fields": "item_name,description,item_group,customer_code", 
  "title_field": "item_name"
-}
+}
\ No newline at end of file
diff --git a/erpnext/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py
index eaf904d..0f97f02 100644
--- a/erpnext/stock/doctype/item/item.py
+++ b/erpnext/stock/doctype/item/item.py
@@ -3,6 +3,7 @@
 
 from __future__ import unicode_literals
 import frappe
+import json
 from frappe import msgprint, _
 from frappe.utils import cstr, flt, cint, getdate, now_datetime, formatdate
 from frappe.website.website_generator import WebsiteGenerator
@@ -63,6 +64,7 @@
 		self.synced_with_hub = 0
 		self.validate_has_variants()
 		self.validate_stock_for_template_must_be_zero()
+		self.validate_template_attributes()
 
 		if not self.get("__islocal"):
 			self.old_item_group = frappe.db.get_value(self.doctype, self.name, "item_group")
@@ -315,7 +317,7 @@
 				or ifnull(reserved_qty, 0) > 0 or ifnull(indented_qty, 0) > 0 or ifnull(planned_qty, 0) > 0)""", self.name)
 			if stock_in:
 				frappe.throw(_("Item Template cannot have stock or Open Sales/Purchase/Production Orders."), ItemTemplateCannotHaveStock)
-				
+
 	def validate_uom(self):
 		if not self.get("__islocal"):
 			check_stock_uom_with_bin(self.name, self.stock_uom)
@@ -327,6 +329,15 @@
 			if template_uom != self.stock_uom:
 				frappe.throw(_("Default Unit of Measure for Variant must be same as Template"))
 
+	def validate_template_attributes(self):
+		if self.has_variants:
+			attributes = []
+			for d in self.valid_attributes:
+				if d.attribute in attributes:
+					frappe.throw(_("Attribute {0} selected multiple times in Attributes Table".format(d.attribute)))
+				else:
+					attributes.append(d.attribute)
+
 def validate_end_of_life(item_code, end_of_life=None, verbose=1):
 	if not end_of_life:
 		end_of_life = frappe.db.get_value("Item", item_code, "end_of_life")
@@ -458,3 +469,60 @@
 		frappe.throw(_("Default Unit of Measure for Item {0} cannot be changed directly because \
 			you have already made some transaction(s) with another UOM. To change default UOM, \
 			use 'UOM Replace Utility' tool under Stock module.").format(item))
+
+@frappe.whitelist()
+def get_variant(item, param):
+	args = json.loads(param)
+	attributes = {}
+	numeric_attributes = []
+	for t in frappe.db.get_all("Item Attribute Value", fields=["parent", "attribute_value"]):
+		attributes.setdefault(t.parent, []).append(t.attribute_value)
+	
+	for t in frappe.get_list("Item Attribute", filters={"numeric_values":1}):
+		numeric_attributes.append(t.name)
+
+	for d in args:
+		if d in numeric_attributes:
+			values = frappe.db.sql("""select from_range, to_range, increment from `tabItem Template Attribute` \
+				where parent = %s and attribute = %s""", (item, d), as_dict=1)[0]
+
+			if (not values.from_range < args[d] < values.to_range) or ((args[d] - values.from_range) % values.increment != 0):
+				frappe.throw(_("Attribute value {0} for attribute {1} must be within range of {2} to {3} and in increments of {4}")
+					.format(args[d], d, values.from_range, values.to_range, values.increment))
+		else:
+			if args[d] not in attributes.get(d):
+				frappe.throw(_("Attribute value {0} for attribute {1} does not exist \
+					in Item Attribute Master.").format(args[d], d))
+
+	conds=""
+	attributes = ""
+	for d in args:
+		if conds:
+			conds+= " and "
+			attributes+= ", "
+		
+		conds += """ exists(select iv.name from `tabVariant Attribute` iv where iv.parent = i.name and
+			 iv.attribute= "{0}" and iv.attribute_value= "{1}")""".format(d, args[d])
+		attributes += "'{0}'".format(d)
+
+	conds += """and not exists (select iv.name from `tabVariant Attribute` iv where iv.parent = i.name and 
+		iv.attribute not in ({0}))""".format(attributes)
+
+	variant=  frappe.db.sql("""select i.name from tabItem i where {0}""".format(conds))
+	return variant
+	
+@frappe.whitelist()
+def create_variant(item, param):
+	from erpnext.stock.doctype.manage_variants.manage_variants import copy_attributes_to_variant
+	args = json.loads(param)
+	variant = frappe.new_doc("Item")
+	variant.item_code = item
+	variant_attributes = []
+	for d in args:
+		variant_attributes.append({
+			"attribute": d,
+			"attribute_value": args[d]
+		})
+	variant.set("attributes", variant_attributes)
+	copy_attributes_to_variant(item, variant)
+	return variant
diff --git a/erpnext/stock/doctype/item_attribute/item_attribute.json b/erpnext/stock/doctype/item_attribute/item_attribute.json
index 1824fb6..35711de 100644
--- a/erpnext/stock/doctype/item_attribute/item_attribute.json
+++ b/erpnext/stock/doctype/item_attribute/item_attribute.json
@@ -26,24 +26,211 @@
    "report_hide": 0, 
    "reqd": 1, 
    "search_index": 0, 
-   "set_only_once": 0
+   "set_only_once": 0, 
+   "unique": 0
   }, 
   {
+   "allow_on_submit": 0, 
    "default": "1", 
+   "depends_on": "eval: doc.numeric_values==0", 
    "description": "Lower the number, higher the priority in the Item Code suffix that will be created for this Item Attribute for the Item Variant", 
    "fieldname": "priority", 
    "fieldtype": "Int", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
    "label": "Priority", 
+   "no_copy": 0, 
    "permlevel": 0, 
-   "precision": ""
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
   }, 
   {
+   "allow_on_submit": 0, 
+   "fieldname": "column_break_3", 
+   "fieldtype": "Column Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_on_submit": 0, 
+   "default": "0", 
+   "fieldname": "numeric_values", 
+   "fieldtype": "Check", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Numeric Values", 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_on_submit": 0, 
+   "depends_on": "numeric_values", 
+   "fieldname": "section_break_5", 
+   "fieldtype": "Section Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_on_submit": 0, 
+   "fieldname": "from_range", 
+   "fieldtype": "Float", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "From Range", 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_on_submit": 0, 
+   "fieldname": "increment", 
+   "fieldtype": "Float", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Increment", 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_on_submit": 0, 
+   "fieldname": "column_break_8", 
+   "fieldtype": "Column Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_on_submit": 0, 
+   "fieldname": "to_range", 
+   "fieldtype": "Float", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "To Range", 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_on_submit": 0, 
+   "depends_on": "eval: doc.numeric_values==0", 
+   "fieldname": "section_break_10", 
+   "fieldtype": "Section Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_on_submit": 0, 
    "fieldname": "item_attribute_values", 
    "fieldtype": "Table", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
    "label": "Item Attribute Values", 
+   "no_copy": 0, 
    "options": "Item Attribute Value", 
    "permlevel": 0, 
-   "precision": ""
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
   }
  ], 
  "hide_heading": 0, 
@@ -54,7 +241,7 @@
  "is_submittable": 0, 
  "issingle": 0, 
  "istable": 0, 
- "modified": "2015-07-13 05:28:20.561939", 
+ "modified": "2015-08-05 05:27:55.912105", 
  "modified_by": "Administrator", 
  "module": "Stock", 
  "name": "Item Attribute", 
@@ -69,6 +256,7 @@
    "delete": 1, 
    "email": 0, 
    "export": 0, 
+   "if_owner": 0, 
    "import": 0, 
    "permlevel": 0, 
    "print": 0, 
diff --git a/erpnext/stock/doctype/item_attribute/item_attribute.py b/erpnext/stock/doctype/item_attribute/item_attribute.py
index 171e118..8350bed 100644
--- a/erpnext/stock/doctype/item_attribute/item_attribute.py
+++ b/erpnext/stock/doctype/item_attribute/item_attribute.py
@@ -8,10 +8,20 @@
 
 class ItemAttribute(Document):
 	def validate(self):
+		self.validate_numeric()
 		self.validate_duplication()
 		self.validate_attribute_values()
 
-	
+	def validate_numeric(self):
+		if self.numeric_values:
+			self.set("item_attribute_values", [])
+			if not self.from_range or not self.to_range:
+				frappe.throw(_("Please specify from/to Range"))
+			elif self.from_range > self.to_range:
+				frappe.throw(_("From Range cannot be greater than to Range"))
+		else:
+			self.from_range = self.to_range = self.increment = 0
+
 	def validate_duplication(self):
 		values, abbrs = [], []
 		for d in self.item_attribute_values:
@@ -33,4 +43,5 @@
 		if variant_attributes:
 			for d in variant_attributes:
 				if d[0] not in attribute_values:
-					frappe.throw(_("Attribute Value {0} cannot be removed from {1} as Item Variants exist with this Attribute.").format(d[0], self.name))
+					frappe.throw(_("Attribute Value {0} cannot be removed from {1} as Item Variants \
+						exist with this Attribute.").format(d[0], self.name))
diff --git a/erpnext/stock/doctype/item_template_attribute/__init__.py b/erpnext/stock/doctype/item_template_attribute/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/stock/doctype/item_template_attribute/__init__.py
diff --git a/erpnext/stock/doctype/item_template_attribute/item_template_attribute.json b/erpnext/stock/doctype/item_template_attribute/item_template_attribute.json
new file mode 100644
index 0000000..40c1707
--- /dev/null
+++ b/erpnext/stock/doctype/item_template_attribute/item_template_attribute.json
@@ -0,0 +1,192 @@
+{
+ "allow_copy": 0, 
+ "allow_import": 1, 
+ "allow_rename": 0, 
+ "autoname": "", 
+ "creation": "2015-07-31 02:14:41.660844", 
+ "custom": 0, 
+ "docstatus": 0, 
+ "doctype": "DocType", 
+ "document_type": "Other", 
+ "fields": [
+  {
+   "allow_on_submit": 0, 
+   "fieldname": "attribute", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 1, 
+   "label": "Attribute", 
+   "no_copy": 0, 
+   "options": "Item Attribute", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 1, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_on_submit": 0, 
+   "fieldname": "column_break_2", 
+   "fieldtype": "Column Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_on_submit": 0, 
+   "fieldname": "numeric_values", 
+   "fieldtype": "Check", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Numeric Values", 
+   "no_copy": 0, 
+   "options": "", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 1, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_on_submit": 0, 
+   "depends_on": "numeric_values", 
+   "fieldname": "section_break_4", 
+   "fieldtype": "Section Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_on_submit": 0, 
+   "fieldname": "from_range", 
+   "fieldtype": "Float", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "From Range", 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_on_submit": 0, 
+   "fieldname": "increment", 
+   "fieldtype": "Float", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Increment", 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_on_submit": 0, 
+   "fieldname": "column_break_7", 
+   "fieldtype": "Column Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_on_submit": 0, 
+   "fieldname": "to_range", 
+   "fieldtype": "Float", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "To Range", 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }
+ ], 
+ "hide_heading": 0, 
+ "hide_toolbar": 0, 
+ "icon": "", 
+ "in_create": 0, 
+ "in_dialog": 0, 
+ "is_submittable": 0, 
+ "issingle": 0, 
+ "istable": 1, 
+ "modified": "2015-08-05 07:50:03.836731", 
+ "modified_by": "Administrator", 
+ "module": "Stock", 
+ "name": "Item Template Attribute", 
+ "name_case": "", 
+ "owner": "Administrator", 
+ "permissions": [], 
+ "read_only": 0, 
+ "read_only_onload": 0, 
+ "sort_field": "modified", 
+ "sort_order": "DESC"
+}
\ No newline at end of file
diff --git a/erpnext/stock/doctype/item_template_attribute/item_template_attribute.py b/erpnext/stock/doctype/item_template_attribute/item_template_attribute.py
new file mode 100644
index 0000000..b82bebd
--- /dev/null
+++ b/erpnext/stock/doctype/item_template_attribute/item_template_attribute.py
@@ -0,0 +1,10 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and contributors
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+import frappe
+from frappe.model.document import Document
+
+class ItemTemplateAttribute(Document):
+	pass
diff --git a/erpnext/stock/doctype/manage_variants/manage_variants.py b/erpnext/stock/doctype/manage_variants/manage_variants.py
index 4dcfb22..d88c5bc 100644
--- a/erpnext/stock/doctype/manage_variants/manage_variants.py
+++ b/erpnext/stock/doctype/manage_variants/manage_variants.py
@@ -6,6 +6,7 @@
 import frappe
 from frappe import _
 from frappe.model.document import Document
+from frappe.utils import cstr
 import copy
 import json
 
@@ -204,4 +205,4 @@
 	if variant.attributes:
 		variant.description += "\n"
 		for d in variant.attributes:
-			variant.description += "<p>" + d.attribute + ": " + d.attribute_value + "</p>"
\ No newline at end of file
+			variant.description += "<p>" + d.attribute + ": " + cstr(d.attribute_value) + "</p>"
\ No newline at end of file