[fix] uom conversion factor in stock entry, #3734
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py
index 6af6af9..44880e1 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.py
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.py
@@ -93,7 +93,7 @@
 				frappe.throw(_("{0} is not a stock Item").format(item.item_code))
 
 			item_details = self.get_item_details(frappe._dict({"item_code": item.item_code,
-				"company": self.company, "project_name": self.project_name}))
+				"company": self.company, "project_name": self.project_name, "uom": item.uom}))
 
 			for f in ("uom", "stock_uom", "description", "item_name", "expense_account",
 				"cost_center", "conversion_factor"):
@@ -444,20 +444,27 @@
 			'actual_qty'			: 0,
 			'incoming_rate'			: 0
 		}
-		for d in [["Account", "expense_account", "default_expense_account"], 
+		for d in [["Account", "expense_account", "default_expense_account"],
 			["Cost Center", "cost_center", "cost_center"]]:
 				company = frappe.db.get_value(d[0], ret.get(d[1]), "company")
 				if not ret[d[1]] or (company and self.company != company):
 					ret[d[1]] = frappe.db.get_value("Company", self.company, d[2]) if d[2] else None
-					
+
+		# update uom
+		ret.update(self.get_uom_details(args))
+
 		if not ret["expense_account"]:
 			ret["expense_account"] = frappe.db.get_value("Company", self.company, "stock_adjustment_account")
-		
+
 		stock_and_rate = args.get('warehouse') and self.get_warehouse_details(args) or {}
 		ret.update(stock_and_rate)
+
 		return ret
 
 	def get_uom_details(self, args):
+		"""Returns dict `{"conversion_factor": [value], "transfer_qty": qty * [value]}`
+
+		:param args: dict with `item_code`, `uom` and `qty`"""
 		conversion_factor = get_conversion_factor(args.get("item_code"), args.get("uom")).get("conversion_factor")
 
 		if not conversion_factor: