specific change bubbling for grid fields
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.js b/erpnext/stock/doctype/stock_entry/stock_entry.js
index 82e3dfc..c7e2426 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.js
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.js
@@ -763,10 +763,7 @@
 				callback: (r) => {
 					let value = r.message ? r.message : '0';
 					fields[1].set_value(value);
-					fields[1].$input.trigger('change');
 					fields[2].set_value('0');
-					fields[2].$input.trigger('change');
-
 				}
 			});
 		} else {
@@ -846,6 +843,18 @@
 			update_quantity(1);
 		});
 
+		batches_field.grid.wrapper.on('change', 'input', function(e) {
+			let fieldname = $(this).attr('data-fieldname');
+			let $row = $(this).closest('.grid-row');
+			let name = $row.attr('data-name');
+			let row = batches_field.grid.grid_rows_by_docname[name];
+
+			field = row.on_grid_fields_dict[fieldname];
+			field.$input.trigger('blur');
+			row.doc[fieldname] = field.get_value();
+			batches_field.grid.set_value(fieldname, row.doc[fieldname], row.doc)
+		});
+
 		warehouse_field.$input.on('change', function() {
 			batches_field.grid.df.data = [];
 			batches_field.grid.refresh();