[fix] [minor] update finished goods against production order
diff --git a/manufacturing/doctype/production_order/production_order.py b/manufacturing/doctype/production_order/production_order.py
index 9d4ff32..5266450 100644
--- a/manufacturing/doctype/production_order/production_order.py
+++ b/manufacturing/doctype/production_order/production_order.py
@@ -133,16 +133,16 @@
 
 @webnotes.whitelist()	
 def get_item_details(item):
-	res = webnotes.conn.sql("""select stock_uom
+	res = webnotes.conn.sql("""select stock_uom, description
 		from `tabItem` where (ifnull(end_of_life, "")="" or end_of_life > now())
-		and name=%s""", (item,), as_dict=1)
+		and name=%s""", item, as_dict=1)
 	
 	if not res:
 		return {}
 		
 	res = res[0]
 	bom = webnotes.conn.sql("""select name from `tabBOM` where item=%s 
-		and ifnull(is_default, 0)=1""", (item,))
+		and ifnull(is_default, 0)=1""", item)
 	if bom:
 		res.bom_no = bom[0][0]
 		
diff --git a/stock/doctype/stock_entry/stock_entry.py b/stock/doctype/stock_entry/stock_entry.py
index 3837ca1..2cdccbc 100644
--- a/stock/doctype/stock_entry/stock_entry.py
+++ b/stock/doctype/stock_entry/stock_entry.py
@@ -451,35 +451,44 @@
 						item["to_warehouse"] = ""
 
 				# add raw materials to Stock Entry Detail table
-				self.add_to_stock_entry_detail(item_dict)
+				idx = self.add_to_stock_entry_detail(item_dict)
 					
 			# add finished good item to Stock Entry Detail table -- along with bom_no
 			if self.doc.production_order and self.doc.purpose == "Manufacture/Repack":
+				item = webnotes.conn.get_value("Item", pro_obj.doc.production_item, ["item_name", 
+					"description", "stock_uom", "purchase_account", "cost_center"], as_dict=1)
 				self.add_to_stock_entry_detail({
 					cstr(pro_obj.doc.production_item): {
 						"to_warehouse": pro_obj.doc.fg_warehouse,
 						"from_warehouse": "",
 						"qty": self.doc.fg_completed_qty,
-						"description": pro_obj.doc.description,
-						"stock_uom": pro_obj.doc.stock_uom
+						"item_name": item.item_name,
+						"description": item.description,
+						"stock_uom": item.stock_uom,
+						"expense_account": item.purchase_account,
+						"cost_center": item.cost_center,
 					}
-				}, bom_no=pro_obj.doc.bom_no)
+				}, bom_no=pro_obj.doc.bom_no, idx=idx)
 								
 			elif self.doc.purpose in ["Material Receipt", "Manufacture/Repack"]:
 				if self.doc.purpose=="Material Receipt":
 					self.doc.from_warehouse = ""
 					
-				item = webnotes.conn.sql("""select name, item_name, description, uom 
-					from `tabItem` where name=%s""", (self.doc.bom_no), as_dict=1)
+				item = webnotes.conn.sql("""select name, item_name, description, 
+					uom, purchase_account, cost_center from `tabItem` 
+					where name=(select item from tabBOM where name=%s)""", 
+					self.doc.bom_no, as_dict=1)
 				self.add_to_stock_entry_detail({
 					item[0]["item"] : {
 						"qty": self.doc.fg_completed_qty,
 						"item_name": item[0].item_name,
 						"description": item[0]["description"],
 						"stock_uom": item[0]["uom"],
-						"from_warehouse": ""
+						"from_warehouse": "",
+						"expense_account": item[0].purchase_account,
+						"cost_center": item[0].cost_center,
 					}
-				}, bom_no=self.doc.bom_no)
+				}, bom_no=self.doc.bom_no, idx=idx)
 		
 		self.get_stock_and_rate()
 	
@@ -543,8 +552,9 @@
 		
 		return issued_item_qty
 
-	def add_to_stock_entry_detail(self, item_dict, bom_no=None):
-		idx = 1
+	def add_to_stock_entry_detail(self, item_dict, bom_no=None, idx=None):
+		webnotes.errprint([])
+		if not idx:	idx = 1
 		expense_account, cost_center = webnotes.conn.get_values("Company", self.doc.company, \
 			["default_expense_account", "cost_center"])[0]
 
@@ -572,6 +582,7 @@
 
 			# increment idx by 1
 			idx += 1
+		return idx
 
 	def get_cust_values(self):
 		"""fetches customer details"""