Revert "feat: Batch wise item selling pricing"
diff --git a/erpnext/public/js/controllers/buying.js b/erpnext/public/js/controllers/buying.js
index fcd7c15..db85a3e 100644
--- a/erpnext/public/js/controllers/buying.js
+++ b/erpnext/public/js/controllers/buying.js
@@ -195,10 +195,6 @@
 		this._super(doc, cdt, cdn);
 	},
 
-	batch_no: function(doc, cdt, cdn) {
-		this._super(doc, cdt, cdn);
-	},
-
 	received_qty: function(doc, cdt, cdn) {
 		this.calculate_accepted_qty(doc, cdt, cdn)
 	},
diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js
index 7bd72c6..3bc20f8 100644
--- a/erpnext/public/js/controllers/transaction.js
+++ b/erpnext/public/js/controllers/transaction.js
@@ -1104,11 +1104,6 @@
 		}
 	},
 
-	batch_no: function(doc, cdt, cdn) {
-		let item = frappe.get_doc(cdt, cdn);
-		this.apply_price_list(item, true);
-	},
-
 	toggle_conversion_factor: function(item) {
 		// toggle read only property for conversion factor field if the uom and stock uom are same
 		if(this.frm.get_field('items').grid.fields_map.conversion_factor) {
@@ -1413,7 +1408,6 @@
 					"pricing_rules": d.pricing_rules,
 					"warehouse": d.warehouse,
 					"serial_no": d.serial_no,
-					"batch_no": d.batch_no,
 					"price_list_rate": d.price_list_rate,
 					"conversion_factor": d.conversion_factor || 1.0
 				});
diff --git a/erpnext/selling/sales_common.js b/erpnext/selling/sales_common.js
index ce08464..7f00fca 100644
--- a/erpnext/selling/sales_common.js
+++ b/erpnext/selling/sales_common.js
@@ -399,10 +399,6 @@
 			}
 	},
 
-	batch_no: function(doc, cdt, cdn) {
-		this._super(doc, cdt, cdn);
-	},
-
 	qty: function(doc, cdt, cdn) {
 		this._super(doc, cdt, cdn);
 
diff --git a/erpnext/stock/doctype/batch/test_batch.py b/erpnext/stock/doctype/batch/test_batch.py
index 97f85ba..e41f1a8 100644
--- a/erpnext/stock/doctype/batch/test_batch.py
+++ b/erpnext/stock/doctype/batch/test_batch.py
@@ -8,8 +8,6 @@
 
 from erpnext.stock.doctype.batch.batch import get_batch_qty, UnableToSelectBatchError, get_batch_no
 from frappe.utils import cint, flt
-from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make_purchase_invoice
-from erpnext.stock.get_item_details import get_item_details
 
 class TestBatch(unittest.TestCase):
 	def test_item_has_batch_enabled(self):
@@ -184,7 +182,7 @@
 		stock_entry.cancel()
 		current_batch_qty = flt(frappe.db.get_value("Batch", "B100", "batch_qty"))
 		self.assertEqual(current_batch_qty, existing_batch_qty)
-
+		
 	@classmethod
 	def make_new_batch_and_entry(cls, item_name, batch_name, warehouse):
 		'''Make a new stock entry for given target warehouse and batch name of item'''
@@ -254,72 +252,6 @@
 
 		return batch
 
-	def test_batch_wise_item_price(self):
-		if not frappe.db.get_value('Item', '_Test Batch Price Item'):
-			frappe.get_doc({
-				'doctype': 'Item',
-				'is_stock_item': 1,
-				'item_code': '_Test Batch Price Item',
-				'item_group': 'Products',
-				'has_batch_no': 1,
-				'create_new_batch': 1
-			}).insert(ignore_permissions=True)
-
-		batch1 = create_batch('_Test Batch Price Item', 200, 1)
-		batch2 = create_batch('_Test Batch Price Item', 300, 1)
-		batch3 = create_batch('_Test Batch Price Item', 400, 0)
-
-		args = frappe._dict({
-			"item_code": "_Test Batch Price Item",
-			"company": "_Test Company with perpetual inventory",
-			"price_list": "_Test Price List",
-			"currency": "_Test Currency",
-			"doctype": "Sales Invoice",
-			"conversion_rate": 1,
-			"price_list_currency": "_Test Currency",
-			"plc_conversion_rate": 1,
-			"customer": "_Test Customer",
-			"name": None
-		})
-
-		#test price for batch1
-		args.update({'batch_no': batch1})
-		details = get_item_details(args)
-		self.assertEqual(details.get('price_list_rate'), 200)
-
-		#test price for batch2
-		args.update({'batch_no': batch2})
-		details = get_item_details(args)
-		self.assertEqual(details.get('price_list_rate'), 300)
-
-		#test price for batch3
-		args.update({'batch_no': batch3})
-		details = get_item_details(args)
-		self.assertEqual(details.get('price_list_rate'), 400)
-
-def create_batch(item_code, rate, create_item_price_for_batch):
-	pi = make_purchase_invoice(company="_Test Company with perpetual inventory",
-		warehouse= "Stores - TCP1", cost_center = "Main - TCP1", update_stock=1,
-		expense_account ="_Test Account Cost for Goods Sold - TCP1", item_code=item_code)
-
-	batch = frappe.db.get_value('Batch', {'item': item_code, 'reference_name': pi.name})
-
-	if not create_item_price_for_batch:
-		create_price_list_for_batch(item_code, None, rate)
-	else:
-		create_price_list_for_batch(item_code, batch, rate)
-
-	return batch
-
-def create_price_list_for_batch(item_code, batch, rate):
-	frappe.get_doc({
-		'doctype': 'Item Price',
-		'item_code': '_Test Batch Price Item',
-		'price_list': '_Test Price List',
-		'batch_no': batch,
-		'price_list_rate': rate
-	}).insert()
-
 def make_new_batch(**args):
 	args = frappe._dict(args)
 
diff --git a/erpnext/stock/doctype/item_price/item_price.json b/erpnext/stock/doctype/item_price/item_price.json
index 83177b3..5f62381 100644
--- a/erpnext/stock/doctype/item_price/item_price.json
+++ b/erpnext/stock/doctype/item_price/item_price.json
@@ -18,7 +18,6 @@
   "price_list",
   "customer",
   "supplier",
-  "batch_no",
   "column_break_3",
   "buying",
   "selling",
@@ -48,41 +47,31 @@
    "oldfieldtype": "Select",
    "options": "Item",
    "reqd": 1,
-   "search_index": 1,
-   "show_days": 1,
-   "show_seconds": 1
+   "search_index": 1
   },
   {
    "fieldname": "uom",
    "fieldtype": "Link",
    "label": "UOM",
-   "options": "UOM",
-   "show_days": 1,
-   "show_seconds": 1
+   "options": "UOM"
   },
   {
    "default": "0",
    "description": "Quantity  that must be bought or sold per UOM",
    "fieldname": "packing_unit",
    "fieldtype": "Int",
-   "label": "Packing Unit",
-   "show_days": 1,
-   "show_seconds": 1
+   "label": "Packing Unit"
   },
   {
    "fieldname": "column_break_17",
-   "fieldtype": "Column Break",
-   "show_days": 1,
-   "show_seconds": 1
+   "fieldtype": "Column Break"
   },
   {
    "fieldname": "item_name",
    "fieldtype": "Data",
    "in_list_view": 1,
    "label": "Item Name",
-   "read_only": 1,
-   "show_days": 1,
-   "show_seconds": 1
+   "read_only": 1
   },
   {
    "fetch_from": "item_code.brand",
@@ -90,25 +79,19 @@
    "fieldtype": "Read Only",
    "in_list_view": 1,
    "label": "Brand",
-   "read_only": 1,
-   "show_days": 1,
-   "show_seconds": 1
+   "read_only": 1
   },
   {
    "fieldname": "item_description",
    "fieldtype": "Text",
    "label": "Item Description",
-   "read_only": 1,
-   "show_days": 1,
-   "show_seconds": 1
+   "read_only": 1
   },
   {
    "fieldname": "price_list_details",
    "fieldtype": "Section Break",
    "label": "Price List",
-   "options": "fa fa-tags",
-   "show_days": 1,
-   "show_seconds": 1
+   "options": "fa fa-tags"
   },
   {
    "fieldname": "price_list",
@@ -117,9 +100,7 @@
    "in_standard_filter": 1,
    "label": "Price List",
    "options": "Price List",
-   "reqd": 1,
-   "show_days": 1,
-   "show_seconds": 1
+   "reqd": 1
   },
   {
    "bold": 1,
@@ -127,49 +108,37 @@
    "fieldname": "customer",
    "fieldtype": "Link",
    "label": "Customer",
-   "options": "Customer",
-   "show_days": 1,
-   "show_seconds": 1
+   "options": "Customer"
   },
   {
    "depends_on": "eval:doc.buying == 1",
    "fieldname": "supplier",
    "fieldtype": "Link",
    "label": "Supplier",
-   "options": "Supplier",
-   "show_days": 1,
-   "show_seconds": 1
+   "options": "Supplier"
   },
   {
    "fieldname": "column_break_3",
-   "fieldtype": "Column Break",
-   "show_days": 1,
-   "show_seconds": 1
+   "fieldtype": "Column Break"
   },
   {
    "default": "0",
    "fieldname": "buying",
    "fieldtype": "Check",
    "label": "Buying",
-   "read_only": 1,
-   "show_days": 1,
-   "show_seconds": 1
+   "read_only": 1
   },
   {
    "default": "0",
    "fieldname": "selling",
    "fieldtype": "Check",
    "label": "Selling",
-   "read_only": 1,
-   "show_days": 1,
-   "show_seconds": 1
+   "read_only": 1
   },
   {
    "fieldname": "item_details",
    "fieldtype": "Section Break",
-   "options": "fa fa-tag",
-   "show_days": 1,
-   "show_seconds": 1
+   "options": "fa fa-tag"
   },
   {
    "bold": 1,
@@ -177,15 +146,11 @@
    "fieldtype": "Link",
    "label": "Currency",
    "options": "Currency",
-   "read_only": 1,
-   "show_days": 1,
-   "show_seconds": 1
+   "read_only": 1
   },
   {
    "fieldname": "col_br_1",
-   "fieldtype": "Column Break",
-   "show_days": 1,
-   "show_seconds": 1
+   "fieldtype": "Column Break"
   },
   {
    "fieldname": "price_list_rate",
@@ -197,80 +162,53 @@
    "oldfieldname": "ref_rate",
    "oldfieldtype": "Currency",
    "options": "currency",
-   "reqd": 1,
-   "show_days": 1,
-   "show_seconds": 1
+   "reqd": 1
   },
   {
    "fieldname": "section_break_15",
-   "fieldtype": "Section Break",
-   "show_days": 1,
-   "show_seconds": 1
+   "fieldtype": "Section Break"
   },
   {
    "default": "Today",
    "fieldname": "valid_from",
    "fieldtype": "Date",
-   "label": "Valid From",
-   "show_days": 1,
-   "show_seconds": 1
+   "label": "Valid From"
   },
   {
    "default": "0",
    "fieldname": "lead_time_days",
    "fieldtype": "Int",
-   "label": "Lead Time in days",
-   "show_days": 1,
-   "show_seconds": 1
+   "label": "Lead Time in days"
   },
   {
    "fieldname": "column_break_18",
-   "fieldtype": "Column Break",
-   "show_days": 1,
-   "show_seconds": 1
+   "fieldtype": "Column Break"
   },
   {
    "fieldname": "valid_upto",
    "fieldtype": "Date",
-   "label": "Valid Upto",
-   "show_days": 1,
-   "show_seconds": 1
+   "label": "Valid Upto"
   },
   {
    "fieldname": "section_break_24",
-   "fieldtype": "Section Break",
-   "show_days": 1,
-   "show_seconds": 1
+   "fieldtype": "Section Break"
   },
   {
    "fieldname": "note",
    "fieldtype": "Text",
-   "label": "Note",
-   "show_days": 1,
-   "show_seconds": 1
+   "label": "Note"
   },
   {
    "fieldname": "reference",
    "fieldtype": "Data",
    "in_list_view": 1,
-   "label": "Reference",
-   "show_days": 1,
-   "show_seconds": 1
-  },
-  {
-   "fieldname": "batch_no",
-   "fieldtype": "Link",
-   "label": "Batch No",
-   "options": "Batch",
-   "show_days": 1,
-   "show_seconds": 1
+   "label": "Reference"
   }
  ],
  "icon": "fa fa-flag",
  "idx": 1,
- "index_web_pages_for_search": 1,
  "links": [],
- "modified": "2020-12-08 18:12:15.395772",
+ "modified": "2020-07-06 22:31:32.943475",
  "modified_by": "Administrator",
  "module": "Stock",
  "name": "Item Price",
diff --git a/erpnext/stock/doctype/item_price/item_price.py b/erpnext/stock/doctype/item_price/item_price.py
index e82a19b..bed5ea9 100644
--- a/erpnext/stock/doctype/item_price/item_price.py
+++ b/erpnext/stock/doctype/item_price/item_price.py
@@ -54,8 +54,7 @@
 			"valid_upto",
 			"packing_unit",
 			"customer",
-			"supplier",
-			"batch_no"]:
+			"supplier",]:
 			if self.get(field):
 				conditions += " and {0} = %({0})s ".format(field)
 			else:
@@ -69,7 +68,7 @@
 			self.as_dict(),)
 
 		if price_list_rate:
-			frappe.throw(_("Item Price appears multiple times based on Price List, Supplier/Customer, Currency, Item, Batch, UOM, Qty, and Dates."), ItemPriceDuplicateItem,)
+			frappe.throw(_("Item Price appears multiple times based on Price List, Supplier/Customer, Currency, Item, UOM, Qty, and Dates."), ItemPriceDuplicateItem,)
 
 	def before_save(self):
 		if self.selling:
diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py
index 2d2abd7..08f7a83 100644
--- a/erpnext/stock/get_item_details.py
+++ b/erpnext/stock/get_item_details.py
@@ -672,8 +672,6 @@
 		and price_list=%(price_list)s
 		and ifnull(uom, '') in ('', %(uom)s)"""
 
-	conditions += "and ifnull(batch_no, '') in ('', %(batch_no)s)"
-
 	if not ignore_party:
 		if args.get("customer"):
 			conditions += " and customer=%(customer)s"
@@ -692,7 +690,7 @@
 
 	return frappe.db.sql(""" select name, price_list_rate, uom
 		from `tabItem Price` {conditions}
-		order by valid_from desc, batch_no desc, uom desc """.format(conditions=conditions), args)
+		order by valid_from desc, uom desc """.format(conditions=conditions), args)
 
 def get_price_list_rate_for(args, item_code):
 	"""
@@ -711,7 +709,6 @@
 			"uom": args.get('uom'),
 			"transaction_date": args.get('transaction_date'),
 			"posting_date": args.get('posting_date'),
-			"batch_no": args.get('batch_no')
 	}
 
 	item_price_data = 0