Merge pull request #14090 from manassolanki/poc-fixes

create item default on making of invoice
diff --git a/erpnext/controllers/selling_controller.py b/erpnext/controllers/selling_controller.py
index a05b282..4a358a4 100644
--- a/erpnext/controllers/selling_controller.py
+++ b/erpnext/controllers/selling_controller.py
@@ -343,17 +343,16 @@
 			item = frappe.db.sql("""select i.docstatus, id.income_account
 				from `tabItem` i, `tabItem Default` id
 				where i.name=%s and id.parent=i.name and id.company=%s""",
-				(d.item_code,obj.company), as_dict=True)
+				(d.item_code, obj.company), as_dict=True)
 
-			income_account_set = False
-			if getattr(d, "income_account", None) and item and not item[0].income_account:
+			if getattr(d, "income_account", None):
 				doc = frappe.get_doc("Item", d.item_code)
-				for default in doc.item_defaults:
-					if default.company == obj.company:
-						default.income_account = d.income_account
-						income_account_set = True
-						break
-				if not income_account_set:
+				if item and not item[0].income_account:
+					for default in doc.item_defaults:
+						if default.company == obj.company:
+							default.income_account = d.income_account
+							break
+				elif not item:
 					doc.append("item_defaults", {
 						"company": obj.company,
 						"income_account": d.income_account