diff --git a/erpnext/buying/doctype/qa_inspection_report/qa_inspection_report.js b/erpnext/buying/doctype/qa_inspection_report/qa_inspection_report.js
index 67281ee..a0ee1dc 100644
--- a/erpnext/buying/doctype/qa_inspection_report/qa_inspection_report.js
+++ b/erpnext/buying/doctype/qa_inspection_report/qa_inspection_report.js
@@ -1,26 +1,44 @@
 cur_frm.cscript.item_code = function(doc, cdt, cdn) {
-  if (doc.item_code)
-    get_server_fields('get_purchase_receipt_item_details','','',doc,cdt,cdn,1);
+	if (doc.item_code)
+		get_server_fields('get_purchase_receipt_item_details','','',doc,cdt,cdn,1);
 }
 
 cur_frm.cscript.inspection_type = function(doc, cdt, cdn) {
-  if(doc.inspection_type == 'Incoming'){
-    doc.delivery_note_no = '';
-    hide_field('delivery_note_no');    
-    unhide_field('purchase_receipt_no');
-  }
-  else if(doc.inspection_type == 'Outgoing'){
-    doc.purchase_receipt_no = '';
-    unhide_field('delivery_note_no');
-    hide_field('purchase_receipt_no');
+	if(doc.inspection_type == 'Incoming'){
+		doc.delivery_note_no = '';
+		hide_field('delivery_note_no');		
+		unhide_field('purchase_receipt_no');
+	}
+	else if(doc.inspection_type == 'Outgoing'){
+		doc.purchase_receipt_no = '';
+		unhide_field('delivery_note_no');
+		hide_field('purchase_receipt_no');
 
-  }
-  else {
-    doc.purchase_receipt_no = '';
-    doc.delivery_note_no = '';    
-    hide_field('purchase_receipt_no');
-    hide_field('delivery_note_no');
-  }
+	}
+	else {
+		doc.purchase_receipt_no = '';
+		doc.delivery_note_no = '';		
+		hide_field('purchase_receipt_no');
+		hide_field('delivery_note_no');
+	}
 }
 
-cur_frm.cscript.refresh = cur_frm.cscript.inspection_type;
\ No newline at end of file
+cur_frm.cscript.refresh = cur_frm.cscript.inspection_type;
+
+// item code based on GRN/DN
+cur_frm.fields_dict['item_code'].get_query = function(doc, cdt, cdn) {
+	if (doc.purchase_receipt_no)
+		return 'SELECT item_code, item_name, description FROM `tabPurchase Receipt Detail` WHERE parent = "'+ doc.purchase_receipt_no +'" and docstatus != 2 AND item_code LIKE "%s" ORDER BY item_code ASC LIMIT 50';
+	else if (doc.delivery_note_no) 
+		return 'SELECT item_code, item_name, description FROM `tabDelivery Note Detail` WHERE parent = "'+ doc.delivery_note_no +'" and docstatus != 2 AND item_code LIKE "%s" ORDER BY item_code ASC LIMIT 50';
+	else
+		return 'SELECT name, item_name, description FROM tabItem WHERE docstatus != 2 AND %(key)s LIKE "%s" ORDER BY name ASC LIMIT 50';
+}
+
+// Serial No based on item_code
+cur_frm.fields_dict['item_serial_no'].get_query = function(doc, cdt, cdn) {
+	if (doc.item_code)
+		return 'SELECT name, item_code, warehouse FROM `tabSerial No` WHERE docstatus != 2 AND item_code = "' + doc.item_code +'" AND status = "In Store" AND %(key)s LIKE "%s" ORDER BY name ASC LIMIT 50';
+	else
+		return 'SELECT name, item_code, warehouse FROM `tabSerial No` WHERE docstatus != 2 AND status = "In Store" AND %(key)s LIKE "%s" ORDER BY name ASC LIMIT 50';
+}
