diff --git a/erpnext/public/js/utils/serial_no_batch_selector.js b/erpnext/public/js/utils/serial_no_batch_selector.js
index e8cfc6b..f479066 100644
--- a/erpnext/public/js/utils/serial_no_batch_selector.js
+++ b/erpnext/public/js/utils/serial_no_batch_selector.js
@@ -2,15 +2,13 @@
 erpnext.SerialNoBatchSelector = Class.extend({
 	init: function(opts, show_dialog) {
 		$.extend(this, opts);
-		this.show_dialog = show_dialog;
+		this.show_dialog = show_dialog
 		// frm, item, warehouse_details, has_batch, oldest
 		let d = this.item;
-
-		// Don't show dialog if batch no or serial no already set
 		if(d && d.has_batch_no && (!d.batch_no || this.show_dialog)) {
 			this.has_batch = 1;
 			this.setup();
-		} else if(d && d.has_serial_no && (!d.serial_no || this.show_dialog)) {
+		} else if(d && d.has_serial_no && !(this.show_dialog == false)) {
 			this.has_batch = 0;
 			this.setup();
 		}
@@ -78,10 +76,11 @@
 				hidden: me.has_batch ? 1 : 0,
 				label: __('Fetch based on FIFO'),
 				click: (e) => {
+					let qty = this.dialog.fields_dict.qty.get_value()
 					let numbers = frappe.call({
 						method: "erpnext.stock.doctype.serial_no.serial_no.auto_fetch_serial_number",
 						args: {
-							qty: this.dialog.fields_dict.qty.get_value(),
+							qty: qty,
 							item_code: me.item_code,
 							warehouse: me.warehouse_details.name
 						}
@@ -89,10 +88,13 @@
 
 					numbers.then((data) => {
 						let auto_fetched_serial_numbers = data.message;
+						records_length = auto_fetched_serial_numbers.length
+						if(records_length < qty) {
+							frappe.msgprint(`Fetched only ${records_length} serial numbers`)
+						}
 						let serial_no_list_field = this.dialog.fields_dict.serial_no;
 						numbers = auto_fetched_serial_numbers.join('\n');
 						serial_no_list_field.set_value(numbers);
-						// auto_fetch_qty_field.set_value("");
 					})
 				}
 			}
@@ -111,6 +113,10 @@
 			fields: fields
 		});
 
+		if (this.item.serial_no) {
+			this.dialog.fields_dict.serial_no.set_value(this.item.serial_no)
+		}
+
 		this.dialog.set_primary_action(__('Insert'), function() {
 			me.values = me.dialog.get_values();
 			if(me.validate()) {
