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:
