From 36025468a1d60accbb4e76bf7b4dfabb0f6b45a7 Mon Sep 17 00:00:00 2001
From: pawan <pawan@erpnext.com>
Date: Mon, 17 Jul 2017 17:28:44 +0530
Subject: [PATCH 1/2] [fix] #9899

---
 .../report/stock_balance/stock_balance.py     | 25 ++++++++++++++++++-
 1 file changed, 24 insertions(+), 1 deletion(-)

diff --git a/erpnext/stock/report/stock_balance/stock_balance.py b/erpnext/stock/report/stock_balance/stock_balance.py
index 5e373d6c5b..2ff7cf2d6e 100644
--- a/erpnext/stock/report/stock_balance/stock_balance.py
+++ b/erpnext/stock/report/stock_balance/stock_balance.py
@@ -13,11 +13,18 @@ def execute(filters=None):
 
 	columns = get_columns()
 	item_map = get_item_details(filters)
+	item_reorder_detail_map = get_item_reorder_details(filters)
 	iwb_map = get_item_warehouse_map(filters)
 
 	data = []
 	for (company, item, warehouse) in sorted(iwb_map):
 		qty_dict = iwb_map[(company, item, warehouse)]
+		item_reorder_level = 0
+		item_reorder_qty = 0
+		if item + warehouse in item_reorder_detail_map:
+			item_reorder_level = item_reorder_detail_map[item + warehouse]["warehouse_reorder_level"]
+			item_reorder_qty = item_reorder_detail_map[item + warehouse]["warehouse_reorder_qty"]
+			
 		data.append([item, item_map[item]["item_name"],
 			item_map[item]["item_group"],
 			item_map[item]["brand"],
@@ -27,6 +34,8 @@ def execute(filters=None):
 			qty_dict.in_val, qty_dict.out_qty,
 			qty_dict.out_val, qty_dict.bal_qty,
 			qty_dict.bal_val, qty_dict.val_rate,
+			item_reorder_level,
+			item_reorder_qty,
 			company
 		])
 
@@ -52,6 +61,8 @@ def get_columns():
 		_("Balance Qty")+":Float:100",
 		_("Balance Value")+":Float:100",
 		_("Valuation Rate")+":Float:90",
+		_("Reorder Lvl")+":Float:80",
+		_("Reorder Qty")+":Float:80",
 		_("Company")+":Link/Company:100"
 	]
 
@@ -180,7 +191,19 @@ def get_item_details(filters):
 	items = frappe.db.sql("""select name, item_name, stock_uom, item_group, brand, description
 		from tabItem {condition}""".format(condition=condition), value, as_dict=1)
 
-	return dict((d.name, d) for d in items)
+	return dict((d.name , d) for d in items)
+
+def get_item_reorder_details(filters):
+	condition = ''
+	value = ()
+	if filters.get("item_code"):
+		condition = "where parent=%s"
+		value = (filters.get("item_code"),)
+
+	item_reorder_details = frappe.db.sql("""select parent,warehouse,warehouse_reorder_qty,warehouse_reorder_level
+		from `tabItem Reorder` {condition}""".format(condition=condition), value, as_dict=1)
+
+	return dict((d.parent + d.warehouse, d) for d in item_reorder_details)
 
 def validate_filters(filters):
 	if not (filters.get("item_code") or filters.get("warehouse")):

From 3020c8086c3afdd561d568c71576330ba247a330 Mon Sep 17 00:00:00 2001
From: Nabin Hait <nabinhait@gmail.com>
Date: Tue, 18 Jul 2017 11:17:32 +0530
Subject: [PATCH 2/2] Update stock_balance.py

---
 erpnext/stock/report/stock_balance/stock_balance.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/erpnext/stock/report/stock_balance/stock_balance.py b/erpnext/stock/report/stock_balance/stock_balance.py
index 2ff7cf2d6e..c3e3cc5b17 100644
--- a/erpnext/stock/report/stock_balance/stock_balance.py
+++ b/erpnext/stock/report/stock_balance/stock_balance.py
@@ -61,7 +61,7 @@ def get_columns():
 		_("Balance Qty")+":Float:100",
 		_("Balance Value")+":Float:100",
 		_("Valuation Rate")+":Float:90",
-		_("Reorder Lvl")+":Float:80",
+		_("Reorder Level")+":Float:80",
 		_("Reorder Qty")+":Float:80",
 		_("Company")+":Link/Company:100"
 	]