fix: incorrect balance qty in stock ledger if batch filter set (#19479)

diff --git a/erpnext/stock/report/stock_ledger/stock_ledger.py b/erpnext/stock/report/stock_ledger/stock_ledger.py
index 5bdbca2..db7f6ad 100644
--- a/erpnext/stock/report/stock_ledger/stock_ledger.py
+++ b/erpnext/stock/report/stock_ledger/stock_ledger.py
@@ -19,10 +19,26 @@
 	if opening_row:
 		data.append(opening_row)
 
+	actual_qty = stock_value = 0
+
 	for sle in sl_entries:
 		item_detail = item_details[sle.item_code]
 
 		sle.update(item_detail)
+
+		if filters.get("batch_no"):
+			actual_qty += sle.actual_qty
+			stock_value += sle.stock_value_difference
+
+			if sle.voucher_type == 'Stock Reconciliation':
+				actual_qty = sle.qty_after_transaction
+				stock_value = sle.stock_value
+
+			sle.update({
+				"qty_after_transaction": actual_qty,
+				"stock_value": stock_value
+			})
+
 		data.append(sle)
 
 		if include_uom:
@@ -67,7 +83,7 @@
 
 	return frappe.db.sql("""select concat_ws(" ", posting_date, posting_time) as date,
 			item_code, warehouse, actual_qty, qty_after_transaction, incoming_rate, valuation_rate,
-			stock_value, voucher_type, voucher_no, batch_no, serial_no, company, project
+			stock_value, voucher_type, voucher_no, batch_no, serial_no, company, project, stock_value_difference
 		from `tabStock Ledger Entry` sle
 		where company = %(company)s and
 			posting_date between %(from_date)s and %(to_date)s