[fix] force stock_uom in item and stock ledger entry
diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py
index 1623f3f..bb8c65b 100644
--- a/erpnext/controllers/accounts_controller.py
+++ b/erpnext/controllers/accounts_controller.py
@@ -11,6 +11,8 @@
 from erpnext.controllers.recurring_document import convert_to_recurring, validate_recurring_document
 from erpnext.controllers.sales_and_purchase_return import validate_return
 
+force_item_fields = ("item_name", "item_group", "barcode", "brand", "stock_uom")
+
 class CustomerFrozen(frappe.ValidationError): pass
 
 class AccountsController(TransactionBase):
@@ -18,12 +20,12 @@
 		if self.get("_action") and self._action != "update_after_submit":
 			self.set_missing_values(for_validate=True)
 		self.validate_date_with_fiscal_year()
-		
+
 		if self.meta.get_field("currency"):
 			self.calculate_taxes_and_totals()
 			if not self.meta.get_field("is_return") or not self.is_return:
 				self.validate_value("base_grand_total", ">=", 0)
-			
+
 			validate_return(self)
 			self.set_total_in_words()
 
@@ -35,7 +37,7 @@
 
 		if self.meta.get_field("taxes_and_charges"):
 			self.validate_enabled_taxes_and_charges()
-			
+
 		self.validate_party()
 
 	def on_submit(self):
@@ -86,7 +88,7 @@
 		if self.doctype == "Sales Invoice":
 			if not self.due_date:
 				frappe.throw(_("Due Date is mandatory"))
-			
+
 			validate_due_date(self.posting_date, self.due_date, "Customer", self.customer, self.company)
 		elif self.doctype == "Purchase Invoice":
 			validate_due_date(self.posting_date, self.due_date, "Supplier", self.supplier, self.company)
@@ -142,7 +144,8 @@
 
 					for fieldname, value in ret.items():
 						if item.meta.get_field(fieldname) and \
-							item.get(fieldname) is None and value is not None:
+							(item.get(fieldname) is None or fieldname in force_item_fields) \
+								and value is not None:
 								item.set(fieldname, value)
 
 						if fieldname == "cost_center" and item.meta.get_field("cost_center") \
@@ -349,14 +352,14 @@
 		frozen_accounts_modifier = frappe.db.get_value( 'Accounts Settings', None,'frozen_accounts_modifier')
 		if frozen_accounts_modifier in frappe.get_roles():
 			return
-		
+
 		party_type = None
 		if self.meta.get_field("customer"):
 			party_type = 'Customer'
 
 		elif self.meta.get_field("supplier"):
 			party_type = 'Supplier'
-			
+
 		if party_type:
 			party = self.get(party_type.lower())
 			if frappe.db.get_value(party_type, party, "is_frozen"):