diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js
index bcb0503..32ad6d2 100644
--- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js
+++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js
@@ -166,10 +166,7 @@
 
 cur_frm.fields_dict['items'].grid.get_field("item_code").get_query = function(doc, cdt, cdn) {
 	return {
-		query: "erpnext.controllers.queries.item_query",
-		filters:{
-			'is_purchase_item': 1
-		}
+		query: "erpnext.controllers.queries.item_query"
 	}
 }
 
diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
index 2699f44..427e040 100644
--- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
+++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
@@ -45,7 +45,6 @@
 			self.validate_supplier_invoice()
 			self.validate_advance_jv("Purchase Order")
 
-		self.check_active_purchase_items()
 		self.check_conversion_rate()
 		self.validate_credit_to_acc()
 		self.clear_unallocated_advances("Purchase Invoice Advance", "advances")
@@ -80,12 +79,6 @@
 			super(PurchaseInvoice, self).get_advances(self.credit_to, "Supplier", self.supplier,
 				"Purchase Invoice Advance", "advances", "debit_in_account_currency", "purchase_order")
 
-	def check_active_purchase_items(self):
-		for d in self.get('items'):
-			if d.item_code:		# extra condn coz item_code is not mandatory in PV
-				if frappe.db.get_value("Item", d.item_code, "is_purchase_item") != 1:
-					msgprint(_("Item {0} is not Purchase Item").format(d.item_code), raise_exception=True)
-
 	def check_conversion_rate(self):
 		default_currency = get_company_currency(self.company)
 		if not default_currency:
diff --git a/erpnext/accounts/doctype/sales_invoice/pos.py b/erpnext/accounts/doctype/sales_invoice/pos.py
index 18faae7..62a9f52 100644
--- a/erpnext/accounts/doctype/sales_invoice/pos.py
+++ b/erpnext/accounts/doctype/sales_invoice/pos.py
@@ -10,11 +10,6 @@
 	order_by = ""
 	args = {"price_list": price_list}
 
-	if sales_or_purchase == "Sales":
-		condition = "i.is_sales_item=1"
-	else:
-		condition = "i.is_purchase_item=1"
-
 	if item:
 		# search serial no
 		item_code = frappe.db.sql("""select name as serial_no, item_code
diff --git a/erpnext/buying/doctype/purchase_common/purchase_common.js b/erpnext/buying/doctype/purchase_common/purchase_common.js
index c67a30f..2f1959b 100644
--- a/erpnext/buying/doctype/purchase_common/purchase_common.js
+++ b/erpnext/buying/doctype/purchase_common/purchase_common.js
@@ -48,8 +48,7 @@
 				}
 			} else {
 				return{
-					query: "erpnext.controllers.queries.item_query",
-					filters: { 'is_purchase_item': 1 }
+					query: "erpnext.controllers.queries.item_query"
 				}
 			}
 		});
diff --git a/erpnext/buying/doctype/purchase_common/purchase_common.py b/erpnext/buying/doctype/purchase_common/purchase_common.py
index be704e9..1c3fe1e 100644
--- a/erpnext/buying/doctype/purchase_common/purchase_common.py
+++ b/erpnext/buying/doctype/purchase_common/purchase_common.py
@@ -57,7 +57,7 @@
 				if d.meta.get_field(x):
 					d.set(x, f_lst[x])
 
-			item = frappe.db.sql("""select is_stock_item, is_purchase_item,
+			item = frappe.db.sql("""select is_stock_item,
 				is_sub_contracted_item, end_of_life, disabled from `tabItem` where name=%s""",
 				d.item_code, as_dict=1)[0]
 
@@ -68,11 +68,6 @@
 			if item.is_stock_item==1 and d.qty and not d.warehouse:
 				frappe.throw(_("Warehouse is mandatory for stock Item {0} in row {1}").format(d.item_code, d.idx))
 
-			# validate purchase item
-			if obj.doctype=="Material Request" and getattr(obj, "material_request_type", None)=="Purchase":
-				if item.is_purchase_item != 1 and item.is_sub_contracted_item != 1:
-					frappe.throw(_("{0} must be a Purchased or Sub-Contracted Item in row {1}").format(d.item_code, d.idx))
-
 			items.append(cstr(d.item_code))
 
 		if items and len(items) != len(set(items)) and \
diff --git a/erpnext/controllers/buying_controller.py b/erpnext/controllers/buying_controller.py
index 5361126..6a1b205 100644
--- a/erpnext/controllers/buying_controller.py
+++ b/erpnext/controllers/buying_controller.py
@@ -251,19 +251,6 @@
 
 		return self._sub_contracted_items
 
-	@property
-	def purchase_items(self):
-		if not hasattr(self, "_purchase_items"):
-			self._purchase_items = []
-			item_codes = list(set(item.item_code for item in
-				self.get("items")))
-			if item_codes:
-				self._purchase_items = [r[0] for r in frappe.db.sql("""select name
-					from `tabItem` where name in (%s) and is_purchase_item='Yes'""" % \
-					(", ".join((["%s"]*len(item_codes))),), item_codes)]
-
-		return self._purchase_items
-
 	def is_item_table_empty(self):
 		if not len(self.get("items")):
 			frappe.throw(_("Item table can not be blank"))
diff --git a/erpnext/controllers/selling_controller.py b/erpnext/controllers/selling_controller.py
index d12486d..3c9efa1 100644
--- a/erpnext/controllers/selling_controller.py
+++ b/erpnext/controllers/selling_controller.py
@@ -232,11 +232,10 @@
 def check_active_sales_items(obj):
 	for d in obj.get("items"):
 		if d.item_code:
-			item = frappe.db.sql("""select docstatus, is_sales_item,
+			item = frappe.db.sql("""select docstatus,
 				income_account from tabItem where name = %s""",
 				d.item_code, as_dict=True)[0]
-			if item.is_sales_item == 0:
-				frappe.throw(_("Item {0} must be a Sales Item in {1}").format(d.item_code, d.idx))
+                
 			if getattr(d, "income_account", None) and not item.income_account:
 				frappe.db.set_value("Item", d.item_code, "income_account",
 					d.income_account)
diff --git a/erpnext/crm/doctype/opportunity/opportunity.js b/erpnext/crm/doctype/opportunity/opportunity.js
index a918cf3..884e9f4 100644
--- a/erpnext/crm/doctype/opportunity/opportunity.js
+++ b/erpnext/crm/doctype/opportunity/opportunity.js
@@ -49,8 +49,7 @@
 
 		this.frm.set_query("item_code", "items", function() {
 			return {
-				query: "erpnext.controllers.queries.item_query",
-				filters: {"is_sales_item": 1}
+				query: "erpnext.controllers.queries.item_query"
 			};
 		});
 
diff --git a/erpnext/hub_node/doctype/hub_settings/hub_settings.py b/erpnext/hub_node/doctype/hub_settings/hub_settings.py
index 8522650..35f1f67 100644
--- a/erpnext/hub_node/doctype/hub_settings/hub_settings.py
+++ b/erpnext/hub_node/doctype/hub_settings/hub_settings.py
@@ -24,7 +24,7 @@
 	def publish_selling_items(self):
 		"""Set `publish_in_hub`=1 for all Sales Items"""
 		for item in frappe.get_all("Item", fields=["name"],
-			filters={"is_sales_item": 1, "publish_in_hub": "0"}):
+			filters={ "publish_in_hub": "0"}):
 			frappe.db.set_value("Item", item.name, "publish_in_hub", 1)
 
 	def register(self):
diff --git a/erpnext/manufacturing/doctype/bom/bom.py b/erpnext/manufacturing/doctype/bom/bom.py
index 94990fe..8779c49 100644
--- a/erpnext/manufacturing/doctype/bom/bom.py
+++ b/erpnext/manufacturing/doctype/bom/bom.py
@@ -15,8 +15,7 @@
 
 class BOM(Document):
 	def autoname(self):
-		names = frappe.db.sql("""select name from `tabBOM`
-			where item=%s""", self.item)
+		names = frappe.db.sql("""select name from `tabBOM` where item=%s""", self.item)
 
 		if names:
 			# name can be BOM/ITEM/001, BOM/ITEM/001-1, BOM-ITEM-001, BOM-ITEM-001-1
@@ -65,7 +64,7 @@
 		self.manage_default_bom()
 
 	def get_item_det(self, item_code):
-		item = frappe.db.sql("""select name, item_name, is_fixed_asset, is_purchase_item,
+		item = frappe.db.sql("""select name, item_name, is_fixed_asset,
 			docstatus, description, image, is_sub_contracted_item, stock_uom, default_bom,
 			last_purchase_rate
 			from `tabItem` where name=%s""", item_code, as_dict = 1)
@@ -119,7 +118,7 @@
 		rate = 0
 		if arg['bom_no']:
 			rate = self.get_bom_unitcost(arg['bom_no'])
-		elif arg and (arg['is_purchase_item'] == 1 or arg['is_sub_contracted_item'] == 1):
+		elif arg:
 			if self.rm_cost_as_per == 'Valuation Rate':
 				rate = self.get_valuation_rate(arg)
 			elif self.rm_cost_as_per == 'Last Purchase Rate':
diff --git a/erpnext/patches/v5_2/change_item_selects_to_checks.py b/erpnext/patches/v5_2/change_item_selects_to_checks.py
index 2665f4c..9871b6a 100644
--- a/erpnext/patches/v5_2/change_item_selects_to_checks.py
+++ b/erpnext/patches/v5_2/change_item_selects_to_checks.py
@@ -4,8 +4,7 @@
 
 def execute():
 	fields = ("is_stock_item", "is_asset_item", "has_batch_no", "has_serial_no",
-		"is_purchase_item", "is_sales_item", "inspection_required",
-		"is_pro_applicable", "is_sub_contracted_item")
+		"inspection_required", "is_pro_applicable", "is_sub_contracted_item")
 
 
 	# convert to 1 or 0
diff --git a/erpnext/patches/v6_21/fix_reorder_level.py b/erpnext/patches/v6_21/fix_reorder_level.py
index 602978b..82a35eb 100644
--- a/erpnext/patches/v6_21/fix_reorder_level.py
+++ b/erpnext/patches/v6_21/fix_reorder_level.py
@@ -15,7 +15,7 @@
 				"warehouse": item.default_warehouse,
 				"warehouse_reorder_level": item.re_order_level,
 				"warehouse_reorder_qty": item.re_order_qty,
-				"material_request_type": "Purchase" if item_doc.is_purchase_item else "Transfer"
+				"material_request_type": "Purchase"
 			})
 
 			try:
diff --git a/erpnext/selling/doctype/quotation/quotation.py b/erpnext/selling/doctype/quotation/quotation.py
index 3c8add4..9cc7473 100644
--- a/erpnext/selling/doctype/quotation/quotation.py
+++ b/erpnext/selling/doctype/quotation/quotation.py
@@ -28,10 +28,6 @@
 	def validate_order_type(self):
 		super(Quotation, self).validate_order_type()
 
-		for d in self.get('items'):
-			if not frappe.db.get_value("Item", d.item_code, "is_sales_item"):
-				frappe.throw(_("Item {0} must be Sales Item").format(d.item_code))
-
 	def validate_quotation_to(self):
 		if self.customer:
 			self.quotation_to = "Customer"
diff --git a/erpnext/selling/doctype/sales_order/test_sales_order.py b/erpnext/selling/doctype/sales_order/test_sales_order.py
index 4ba6ff0..9d74e2a 100644
--- a/erpnext/selling/doctype/sales_order/test_sales_order.py
+++ b/erpnext/selling/doctype/sales_order/test_sales_order.py
@@ -238,9 +238,9 @@
 		from erpnext.stock.doctype.item.test_item import make_item
 		from erpnext.selling.doctype.product_bundle.test_product_bundle import make_product_bundle
 
-		make_item("_Test Service Product Bundle", {"is_stock_item": 0, "is_pro_applicable": 0, "is_sales_item": 1})
-		make_item("_Test Service Product Bundle Item 1", {"is_stock_item": 0, "is_pro_applicable": 0, "is_sales_item": 1})
-		make_item("_Test Service Product Bundle Item 2", {"is_stock_item": 0, "is_pro_applicable": 0, "is_sales_item": 1})
+		make_item("_Test Service Product Bundle", {"is_stock_item": 0, "is_pro_applicable": 0})
+		make_item("_Test Service Product Bundle Item 1", {"is_stock_item": 0, "is_pro_applicable": 0})
+		make_item("_Test Service Product Bundle Item 2", {"is_stock_item": 0, "is_pro_applicable": 0})
 
 		make_product_bundle("_Test Service Product Bundle",
 			["_Test Service Product Bundle Item 1", "_Test Service Product Bundle Item 2"])
@@ -254,9 +254,9 @@
 		from erpnext.stock.doctype.item.test_item import make_item
 		from erpnext.selling.doctype.product_bundle.test_product_bundle import make_product_bundle
 
-		make_item("_Test Mix Product Bundle", {"is_stock_item": 0, "is_pro_applicable": 0, "is_sales_item": 1})
-		make_item("_Test Mix Product Bundle Item 1", {"is_stock_item": 1, "is_sales_item": 1})
-		make_item("_Test Mix Product Bundle Item 2", {"is_stock_item": 0, "is_pro_applicable": 0, "is_sales_item": 1})
+		make_item("_Test Mix Product Bundle", {"is_stock_item": 0, "is_pro_applicable": 0})
+		make_item("_Test Mix Product Bundle Item 1", {"is_stock_item": 1})
+		make_item("_Test Mix Product Bundle Item 2", {"is_stock_item": 0, "is_pro_applicable": 0})
 
 		make_product_bundle("_Test Mix Product Bundle",
 			["_Test Mix Product Bundle Item 1", "_Test Mix Product Bundle Item 2"])
@@ -265,7 +265,7 @@
 
 	def test_auto_insert_price(self):
 		from erpnext.stock.doctype.item.test_item import make_item
-		make_item("_Test Item for Auto Price List", {"is_stock_item": 0, "is_pro_applicable": 0, "is_sales_item": 1})
+		make_item("_Test Item for Auto Price List", {"is_stock_item": 0, "is_pro_applicable": 0})
 		frappe.db.set_value("Stock Settings", None, "auto_insert_price_list_rate_if_missing", 1)
 
 		item_price = frappe.db.get_value("Item Price", {"price_list": "_Test Price List",
@@ -299,14 +299,13 @@
 		from erpnext.stock.doctype.item.test_item import make_item
 		from erpnext.buying.doctype.purchase_order.purchase_order import update_status
 
-		po_item = make_item("_Test Item for Drop Shipping", {"is_stock_item": 1, "is_sales_item": 1,
-			"is_purchase_item": 1, "delivered_by_supplier": 1, 'default_supplier': '_Test Supplier',
+		po_item = make_item("_Test Item for Drop Shipping", {"is_stock_item": 1, "delivered_by_supplier": 1, 
+        'default_supplier': '_Test Supplier',
 		    "expense_account": "_Test Account Cost for Goods Sold - _TC",
 		    "cost_center": "_Test Cost Center - _TC"
 			})
 
-		dn_item = make_item("_Test Regular Item", {"is_stock_item": 1, "is_sales_item": 1,
-			"is_purchase_item": 1, "expense_account": "_Test Account Cost for Goods Sold - _TC",
+		dn_item = make_item("_Test Regular Item", {"is_stock_item": 1, "expense_account": "_Test Account Cost for Goods Sold - _TC",
   		  	"cost_center": "_Test Cost Center - _TC"})
 
 		so_items = [
diff --git a/erpnext/selling/sales_common.js b/erpnext/selling/sales_common.js
index bfefb9f..607aa41 100644
--- a/erpnext/selling/sales_common.js
+++ b/erpnext/selling/sales_common.js
@@ -55,8 +55,7 @@
 		if(this.frm.fields_dict["items"].grid.get_field('item_code')) {
 			this.frm.set_query("item_code", "items", function() {
 				return {
-					query: "erpnext.controllers.queries.item_query",
-					filters: {'is_sales_item': 1}
+					query: "erpnext.controllers.queries.item_query"
 				}
 			});
 		}
diff --git a/erpnext/setup/setup_wizard/sample_data.py b/erpnext/setup/setup_wizard/sample_data.py
index 63fc2e7..8078ebc 100644
--- a/erpnext/setup/setup_wizard/sample_data.py
+++ b/erpnext/setup/setup_wizard/sample_data.py
@@ -11,26 +11,25 @@
 def make_sample_data():
 	"""Create a few opportunities, quotes, material requests, issues, todos, projects
 	to help the user get started"""
+	items = frappe.get_all("Item")
 
-	selling_items = frappe.get_all("Item", filters = {"is_sales_item": 1})
-	buying_items = frappe.get_all("Item", filters = {"is_purchase_item": 1})
 	customers = frappe.get_all("Customer")
 	warehouses = frappe.get_all("Warehouse")
 
-	if selling_items and customers:
+	if items and customers:
 		for i in range(3):
 			customer = random.choice(customers).name
-			make_opportunity(selling_items, customer)
-			make_quote(selling_items, customer)
+			make_opportunity(items, customer)
+			make_quote(items, customer)
 
 	make_projects()
 
-	if buying_items and warehouses:
-		make_material_request(buying_items)
+	if items and warehouses:
+		make_material_request(items)
 
 	frappe.db.commit()
 
-def make_opportunity(selling_items, customer):
+def make_opportunity(items, customer):
 	b = frappe.get_doc({
 		"doctype": "Opportunity",
 		"enquiry_from": "Customer",
@@ -39,16 +38,16 @@
 		"with_items": 1
 	})
 
-	add_random_children(b, "items", rows=len(selling_items), randomize = {
+	add_random_children(b, "items", rows=len(items), randomize = {
 		"qty": (1, 5),
-		"item_code": ("Item", {"is_sales_item": 1})
+		"item_code": ["Item"]
 	}, unique="item_code")
 
 	b.insert(ignore_permissions=True)
 
 	b.add_comment('Comment', text="This is a dummy record")
 
-def make_quote(selling_items, customer):
+def make_quote(items, customer):
 	qtn = frappe.get_doc({
 		"doctype": "Quotation",
 		"quotation_to": "Customer",
@@ -56,17 +55,17 @@
 		"order_type": "Sales"
 	})
 
-	add_random_children(qtn, "items", rows=len(selling_items), randomize = {
+	add_random_children(qtn, "items", rows=len(items), randomize = {
 		"qty": (1, 5),
-		"item_code": ("Item", {"is_sales_item": 1})
+		"item_code": ["Item"]
 	}, unique="item_code")
 
 	qtn.insert(ignore_permissions=True)
 
 	qtn.add_comment('Comment', text="This is a dummy record")
 
-def make_material_request(buying_items):
-	for i in buying_items:
+def make_material_request(items):
+	for i in items:
 		mr = frappe.get_doc({
 			"doctype": "Material Request",
 			"material_request_type": "Purchase",
diff --git a/erpnext/setup/setup_wizard/setup_wizard.py b/erpnext/setup/setup_wizard/setup_wizard.py
index 98a6019..780fa97 100644
--- a/erpnext/setup/setup_wizard/setup_wizard.py
+++ b/erpnext/setup/setup_wizard/setup_wizard.py
@@ -46,7 +46,7 @@
 		try:
 			make_sample_data()
 			frappe.clear_cache()
-		except FiscalYearError:
+		except:
 			# clear message
 			if frappe.message_log:
 				frappe.message_log.pop()
@@ -291,8 +291,6 @@
 					"item_code": item,
 					"item_name": item,
 					"description": item,
-					"is_sales_item": 1 if is_sales_item else 0,
-					"is_purchase_item": 1 if is_purchase_item else 0,
 					"show_in_website": 1,
 					"is_stock_item": is_stock_item and 1 or 0,
 					"is_pro_applicable": is_pro_applicable and 1 or 0,
diff --git a/erpnext/stock/doctype/item/item.json b/erpnext/stock/doctype/item/item.json
index 43fccf6..b9b5569 100644
--- a/erpnext/stock/doctype/item/item.json
+++ b/erpnext/stock/doctype/item/item.json
@@ -930,35 +930,6 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "default": "1", 
-   "description": "", 
-   "fieldname": "is_purchase_item", 
-   "fieldtype": "Check", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_list_view": 0, 
-   "label": "Is Purchase Item", 
-   "length": 0, 
-   "no_copy": 0, 
-   "oldfieldname": "is_purchase_item", 
-   "oldfieldtype": "Select", 
-   "options": "", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "unique": 0
-  }, 
-  {
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
    "default": "0.00", 
    "depends_on": "is_stock_item", 
    "description": "", 
@@ -988,7 +959,7 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "depends_on": "is_purchase_item", 
+   "depends_on": "", 
    "description": "Average time taken by the supplier to deliver", 
    "fieldname": "lead_time_days", 
    "fieldtype": "Int", 
@@ -1016,7 +987,7 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "depends_on": "is_purchase_item", 
+   "depends_on": "", 
    "description": "", 
    "fieldname": "buying_cost_center", 
    "fieldtype": "Link", 
@@ -1045,7 +1016,7 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "depends_on": "is_purchase_item", 
+   "depends_on": "", 
    "description": "", 
    "fieldname": "expense_account", 
    "fieldtype": "Link", 
@@ -1074,7 +1045,7 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "depends_on": "is_purchase_item", 
+   "depends_on": "", 
    "fieldname": "unit_of_measure_conversion", 
    "fieldtype": "Column Break", 
    "hidden": 0, 
@@ -1100,7 +1071,7 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "depends_on": "is_purchase_item", 
+   "depends_on": "", 
    "description": "Will also apply for variants", 
    "fieldname": "uoms", 
    "fieldtype": "Table", 
@@ -1129,7 +1100,7 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "depends_on": "is_purchase_item", 
+   "depends_on": "", 
    "fieldname": "last_purchase_rate", 
    "fieldtype": "Float", 
    "hidden": 0, 
@@ -1156,7 +1127,7 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 1, 
-   "depends_on": "is_purchase_item", 
+   "depends_on": "", 
    "fieldname": "supplier_details", 
    "fieldtype": "Section Break", 
    "hidden": 0, 
@@ -1182,7 +1153,7 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "depends_on": "eval:doc.is_purchase_item", 
+   "depends_on": "", 
    "fieldname": "default_supplier", 
    "fieldtype": "Link", 
    "hidden": 0, 
@@ -1233,7 +1204,7 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "depends_on": "eval:doc.is_purchase_item", 
+   "depends_on": "", 
    "fieldname": "manufacturer", 
    "fieldtype": "Link", 
    "hidden": 0, 
@@ -1259,7 +1230,7 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "depends_on": "eval:doc.is_purchase_item", 
+   "depends_on": "", 
    "fieldname": "manufacturer_part_no", 
    "fieldtype": "Data", 
    "hidden": 0, 
@@ -1284,7 +1255,7 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "depends_on": "is_purchase_item", 
+   "depends_on": "", 
    "fieldname": "column_break2", 
    "fieldtype": "Column Break", 
    "hidden": 0, 
@@ -1311,7 +1282,7 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "depends_on": "is_purchase_item", 
+   "depends_on": "", 
    "fieldname": "supplier_items", 
    "fieldtype": "Table", 
    "hidden": 0, 
@@ -1363,65 +1334,6 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "default": "1", 
-   "description": "", 
-   "fieldname": "is_sales_item", 
-   "fieldtype": "Check", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 1, 
-   "in_list_view": 0, 
-   "label": "Is Sales Item", 
-   "length": 0, 
-   "no_copy": 0, 
-   "oldfieldname": "is_sales_item", 
-   "oldfieldtype": "Select", 
-   "options": "", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "unique": 0
-  }, 
-  {
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 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, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 1, 
-   "in_list_view": 0, 
-   "label": "Is Service Item", 
-   "length": 0, 
-   "no_copy": 0, 
-   "oldfieldname": "is_service_item", 
-   "oldfieldtype": "Select", 
-   "options": "", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "unique": 0
-  }, 
-  {
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
    "default": "0", 
    "description": "Publish Item to hub.erpnext.com", 
    "fieldname": "publish_in_hub", 
@@ -1475,7 +1387,7 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "depends_on": "is_sales_item", 
+   "depends_on": "", 
    "fieldname": "income_account", 
    "fieldtype": "Link", 
    "hidden": 0, 
@@ -1501,7 +1413,7 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "depends_on": "is_sales_item", 
+   "depends_on": "", 
    "fieldname": "selling_cost_center", 
    "fieldtype": "Link", 
    "hidden": 0, 
@@ -1527,7 +1439,7 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "depends_on": "is_sales_item", 
+   "depends_on": "", 
    "fieldname": "column_break3", 
    "fieldtype": "Column Break", 
    "hidden": 0, 
@@ -1554,7 +1466,7 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "depends_on": "is_sales_item", 
+   "depends_on": "", 
    "description": "", 
    "fieldname": "customer_items", 
    "fieldtype": "Table", 
@@ -1581,7 +1493,7 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "depends_on": "eval:doc.is_sales_item", 
+   "depends_on": "", 
    "fieldname": "max_discount", 
    "fieldtype": "Float", 
    "hidden": 0, 
@@ -2323,7 +2235,7 @@
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 1, 
- "modified": "2016-04-14 07:51:07.058298", 
+ "modified": "2016-04-15 11:18:48.948958", 
  "modified_by": "Administrator", 
  "module": "Stock", 
  "name": "Item", 
diff --git a/erpnext/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py
index d43f68d..2f92dd9 100644
--- a/erpnext/stock/doctype/item/item.py
+++ b/erpnext/stock/doctype/item/item.py
@@ -50,12 +50,11 @@
 		self.name = self.item_code
 
 	def before_insert(self):
-		if self.is_sales_item=="Yes":
-			self.publish_in_hub = 1
-
 		if not self.description:
 			self.description = self.item_name
 
+		self.publish_in_hub = 1
+        
 	def validate(self):
 		super(Item, self).validate()
 
@@ -71,7 +70,6 @@
 		self.check_item_tax()
 		self.validate_barcode()
 		self.cant_change()
-		self.validate_reorder_level()
 		self.validate_warehouse_for_reorder()
 		self.update_item_desc()
 		self.synced_with_hub = 0
@@ -417,11 +415,6 @@
 					filters={"production_item": self.name, "docstatus": 1}):
 				return True
 
-	def validate_reorder_level(self):
-		if len(self.get("reorder_levels", {"material_request_type": "Purchase"})):
-			if not (self.is_purchase_item or self.is_pro_applicable):
-				frappe.throw(_("""To set reorder level, item must be a Purchase Item or Manufacturing Item"""))
-
 		for d in self.get("reorder_levels"):
 			if d.warehouse_reorder_level and not d.warehouse_reorder_qty:
 				frappe.throw(_("Row #{0}: Please set reorder quantity").format(d.idx))
diff --git a/erpnext/stock/doctype/item/test_records.json b/erpnext/stock/doctype/item/test_records.json
index 91a7493..03b6198 100644
--- a/erpnext/stock/doctype/item/test_records.json
+++ b/erpnext/stock/doctype/item/test_records.json
@@ -11,8 +11,6 @@
   "inspection_required": 0,
   "is_fixed_asset": 0,
   "is_pro_applicable": 0,
-  "is_purchase_item": 1,
-  "is_sales_item": 1,
   "is_stock_item": 1,
   "is_sub_contracted_item": 0,
   "item_code": "_Test Item",
@@ -43,8 +41,6 @@
   "inspection_required": 0,
   "is_fixed_asset": 0,
   "is_pro_applicable": 0,
-  "is_purchase_item": 1,
-  "is_sales_item": 1,
   "is_stock_item": 1,
   "is_sub_contracted_item": 0,
   "item_code": "_Test Item 2",
@@ -66,8 +62,6 @@
   "inspection_required": 0,
   "is_fixed_asset": 0,
   "is_pro_applicable": 0,
-  "is_purchase_item": 1,
-  "is_sales_item": 1,
   "is_stock_item": 1,
   "is_sub_contracted_item": 0,
   "item_code": "_Test Item Home Desktop 100",
@@ -95,9 +89,6 @@
   "inspection_required": 0,
   "is_fixed_asset": 0,
   "is_pro_applicable": 0,
-  "is_purchase_item": 1,
-  "is_sales_item": 1,
-  "is_stock_item": 1,
   "is_sub_contracted_item": 0,
   "item_code": "_Test Item Home Desktop 200",
   "item_group": "_Test Item Group Desktops",
@@ -115,8 +106,6 @@
   "inspection_required": 0,
   "is_fixed_asset": 0,
   "is_pro_applicable": 0,
-  "is_purchase_item": 1,
-  "is_sales_item": 1,
   "is_stock_item": 0,
   "is_sub_contracted_item": 0,
   "item_code": "_Test Product Bundle Item",
@@ -136,8 +125,6 @@
   "inspection_required": 0,
   "is_fixed_asset": 0,
   "is_pro_applicable": 1,
-  "is_purchase_item": 1,
-  "is_sales_item": 1,
   "is_stock_item": 1,
   "is_sub_contracted_item": 1,
   "item_code": "_Test FG Item",
@@ -153,8 +140,6 @@
   "inspection_required": 0,
   "is_fixed_asset": 0,
   "is_pro_applicable": 0,
-  "is_purchase_item": 1,
-  "is_sales_item": 1,
   "is_stock_item": 0,
   "is_sub_contracted_item": 0,
   "item_code": "_Test Non Stock Item",
@@ -171,8 +156,6 @@
   "inspection_required": 0,
   "is_fixed_asset": 0,
   "is_pro_applicable": 0,
-  "is_purchase_item": 1,
-  "is_sales_item": 1,
   "is_stock_item": 1,
   "is_sub_contracted_item": 0,
   "item_code": "_Test Serialized Item",
@@ -189,8 +172,6 @@
   "inspection_required": 0,
   "is_fixed_asset": 0,
   "is_pro_applicable": 0,
-  "is_purchase_item": 1,
-  "is_sales_item": 1,
   "is_stock_item": 1,
   "is_sub_contracted_item": 0,
   "item_code": "_Test Serialized Item With Series",
@@ -211,7 +192,6 @@
   "inspection_required": 0,
   "is_fixed_asset": 0,
   "is_pro_applicable": 1,
-  "is_sales_item": 1,
   "is_stock_item": 1,
   "is_sub_contracted_item": 0,
   "item_code": "_Test Item Home Desktop Manufactured",
@@ -231,8 +211,6 @@
   "inspection_required": 0,
   "is_fixed_asset": 0,
   "is_pro_applicable": 1,
-  "is_purchase_item": 1,
-  "is_sales_item": 1,
   "is_stock_item": 1,
   "is_sub_contracted_item": 1,
   "item_code": "_Test FG Item 2",
@@ -252,8 +230,6 @@
   "inspection_required": 0,
   "is_fixed_asset": 0,
   "is_pro_applicable": 1,
-  "is_purchase_item": 1,
-  "is_sales_item": 1,
   "is_stock_item": 1,
   "is_sub_contracted_item": 1,
   "item_code": "_Test Variant Item",
diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py
index 9032c7f..d8c4382 100644
--- a/erpnext/stock/get_item_details.py
+++ b/erpnext/stock/get_item_details.py
@@ -125,19 +125,10 @@
 	from erpnext.stock.doctype.item.item import validate_end_of_life
 	validate_end_of_life(item.name, item.end_of_life, item.disabled)
 
-	if args.transaction_type=="selling":
-		# validate if sales item or service item
-		if item.is_sales_item != 1:
-			throw(_("Item {0} must be a Sales Item").format(item.name))
-
-		if cint(item.has_variants):
-			throw(_("Item {0} is a template, please select one of its variants").format(item.name))
-
+	if args.transaction_type=="selling" and cint(item.has_variants):
+		throw(_("Item {0} is a template, please select one of its variants").format(item.name))
+		
 	elif args.transaction_type=="buying" and args.doctype != "Material Request":
-		# validate if purchase item or subcontracted item
-		if item.is_purchase_item != 1:
-			throw(_("Item {0} must be a Purchase Item").format(item.name))
-
 		if args.get("is_subcontracted") == "Yes" and item.is_sub_contracted_item != 1:
 			throw(_("Item {0} must be a Sub-contracted Item").format(item.name))
 
diff --git a/erpnext/stock/reorder_item.py b/erpnext/stock/reorder_item.py
index c637a12..c87e336 100644
--- a/erpnext/stock/reorder_item.py
+++ b/erpnext/stock/reorder_item.py
@@ -23,7 +23,6 @@
 
 	items_to_consider = frappe.db.sql_list("""select name from `tabItem` item
 		where is_stock_item=1 and has_variants=0
-			and (is_purchase_item=1 or is_sub_contracted_item=1)
 			and disabled=0
 			and (end_of_life is null or end_of_life='0000-00-00' or end_of_life > %(today)s)
 			and (exists (select name from `tabItem Reorder` ir where ir.parent=item.name)
diff --git a/erpnext/stock/report/items_to_be_requested/items_to_be_requested.json b/erpnext/stock/report/items_to_be_requested/items_to_be_requested.json
index 92072a8..d2f42d4 100644
--- a/erpnext/stock/report/items_to_be_requested/items_to_be_requested.json
+++ b/erpnext/stock/report/items_to_be_requested/items_to_be_requested.json
@@ -1,19 +1,17 @@
 {
- "add_total_row": 0, 
- "apply_user_permissions": 1, 
- "creation": "2013-08-20 15:08:10", 
- "disabled": 0, 
- "docstatus": 0, 
- "doctype": "Report", 
- "idx": 1, 
- "is_standard": "Yes", 
- "modified": "2016-04-01 08:27:14.436178", 
- "modified_by": "Administrator", 
- "module": "Stock", 
- "name": "Items To Be Requested", 
- "owner": "Administrator", 
- "query": "SELECT\n    tabBin.item_code as \"Item:Link/Item:120\",\n    tabBin.warehouse as \"Warehouse:Link/Warehouse:120\",\n    tabBin.actual_qty as \"Actual:Float:90\",\n    tabBin.indented_qty as \"Requested:Float:90\",\n    tabBin.reserved_qty as \"Reserved:Float:90\",\n    tabBin.ordered_qty as \"Ordered:Float:90\",\n    tabBin.projected_qty as \"Projected:Float:90\"\nFROM\n    tabBin, tabItem\nWHERE\n    tabBin.item_code = tabItem.name\n    AND tabItem.is_purchase_item = 1\n    AND tabBin.projected_qty < 0\nORDER BY\n    tabBin.projected_qty ASC", 
- "ref_doctype": "Item", 
- "report_name": "Items To Be Requested", 
+ "apply_user_permissions": 1,
+ "creation": "2013-08-20 15:08:10",
+ "docstatus": 0,
+ "doctype": "Report",
+ "idx": 1,
+ "is_standard": "Yes",
+ "modified": "2014-06-03 07:18:17.128919",
+ "modified_by": "Administrator",
+ "module": "Stock",
+ "name": "Items To Be Requested",
+ "owner": "Administrator",
+ "query": "SELECT\n    tabBin.item_code as \"Item:Link/Item:120\",\n    tabBin.warehouse as \"Warehouse:Link/Warehouse:120\",\n    tabBin.actual_qty as \"Actual:Float:90\",\n    tabBin.indented_qty as \"Requested:Float:90\",\n    tabBin.reserved_qty as \"Reserved:Float:90\",\n    tabBin.ordered_qty as \"Ordered:Float:90\",\n    tabBin.projected_qty as \"Projected:Float:90\"\nFROM\n    tabBin, tabItem\nWHERE\n    tabBin.item_code = tabItem.name\n   AND tabBin.projected_qty < 0\nORDER BY\n    tabBin.projected_qty ASC", 
+ "ref_doctype": "Item",
+ "report_name": "Items To Be Requested",
  "report_type": "Query Report"
 }
\ No newline at end of file
diff --git a/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.js b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.js
index 650429c..ab66046 100644
--- a/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.js
+++ b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.js
@@ -104,13 +104,6 @@
 	}
 }
 
-
-cur_frm.fields_dict['items'].grid.get_field('item_code').get_query = function(doc, cdt, cdn) {
-	return {
-		filters:{ 'is_sales_item': 1 }
-	}
-}
-
 cur_frm.cscript.generate_schedule = function(doc, cdt, cdn) {
 	if (!doc.__islocal) {
 		return $c('runserverobj', args={'method':'generate_schedule', 'docs':doc},
diff --git a/erpnext/support/doctype/maintenance_visit/maintenance_visit.js b/erpnext/support/doctype/maintenance_visit/maintenance_visit.js
index 65a84c0..b37c47b 100644
--- a/erpnext/support/doctype/maintenance_visit/maintenance_visit.js
+++ b/erpnext/support/doctype/maintenance_visit/maintenance_visit.js
@@ -79,12 +79,6 @@
   	}
 }
 
-cur_frm.fields_dict['purposes'].grid.get_field('item_code').get_query = function(doc, cdt, cdn) {
-	return{
-    	filters:{ 'is_sales_item': 1}
-  	}
-}
-
 cur_frm.fields_dict.customer.get_query = function(doc,cdt,cdn) {
 	return {query: "erpnext.controllers.queries.customer_query" }
 }
\ No newline at end of file
