diff --git a/erpnext/stock/report/stock_projected_qty/stock_projected_qty.py b/erpnext/stock/report/stock_projected_qty/stock_projected_qty.py
index d3046d2..f477d8f 100644
--- a/erpnext/stock/report/stock_projected_qty/stock_projected_qty.py
+++ b/erpnext/stock/report/stock_projected_qty/stock_projected_qty.py
@@ -20,7 +20,6 @@
 	include_uom = filters.get("include_uom")
 	columns = get_columns()
 	bin_list = get_bin_list(filters)
-	sre_details = get_sre_reserved_qty_details(bin_list)
 	item_map = get_item_map(filters.get("item_code"), include_uom)
 
 	warehouse_company = {}
@@ -76,7 +75,6 @@
 				bin.indented_qty,
 				bin.ordered_qty,
 				bin.reserved_qty,
-				sre_details.get((bin.item_code, bin.warehouse), 0.0),
 				bin.reserved_qty_for_production,
 				bin.reserved_qty_for_sub_contract,
 				reserved_qty_for_pos,
@@ -169,13 +167,6 @@
 			"convertible": "qty",
 		},
 		{
-			"label": _("Stock Reservation Qty"),
-			"fieldname": "stock_reservation_qty",
-			"fieldtype": "Float",
-			"width": 100,
-			"convertible": "qty",
-		},
-		{
 			"label": _("Reserved for Production"),
 			"fieldname": "reserved_qty_for_production",
 			"fieldtype": "Float",
@@ -273,19 +264,6 @@
 	return bin_list
 
 
-def get_sre_reserved_qty_details(bin_list: list) -> dict:
-	from erpnext.stock.doctype.stock_reservation_entry.stock_reservation_entry import (
-		get_sre_reserved_qty_details as get_reserved_qty_details,
-	)
-
-	item_code_list, warehouse_list = [], []
-	for bin in bin_list:
-		item_code_list.append(bin["item_code"])
-		warehouse_list.append(bin["warehouse"])
-
-	return get_reserved_qty_details(item_code_list, warehouse_list)
-
-
 def get_item_map(item_code, include_uom):
 	"""Optimization: get only the item doc and re_order_levels table"""
 
