diff --git a/erpnext/hr/doctype/salary_component/salary_component.json b/erpnext/hr/doctype/salary_component/salary_component.json
index 33fb793..64f91c7 100644
--- a/erpnext/hr/doctype/salary_component/salary_component.json
+++ b/erpnext/hr/doctype/salary_component/salary_component.json
@@ -31,6 +31,7 @@
    "print_hide": 0, 
    "print_hide_if_no_value": 0, 
    "read_only": 0, 
+   "remember_last_selected_value": 0, 
    "report_hide": 0, 
    "reqd": 1, 
    "search_index": 0, 
@@ -58,8 +59,9 @@
    "print_hide_if_no_value": 0, 
    "print_width": "120px", 
    "read_only": 0, 
+   "remember_last_selected_value": 0, 
    "report_hide": 0, 
-   "reqd": 0, 
+   "reqd": 1, 
    "search_index": 0, 
    "set_only_once": 0, 
    "unique": 0, 
@@ -86,6 +88,7 @@
    "print_hide": 0, 
    "print_hide_if_no_value": 0, 
    "read_only": 0, 
+   "remember_last_selected_value": 0, 
    "report_hide": 0, 
    "reqd": 1, 
    "search_index": 0, 
@@ -112,6 +115,7 @@
    "print_hide": 0, 
    "print_hide_if_no_value": 0, 
    "read_only": 0, 
+   "remember_last_selected_value": 0, 
    "report_hide": 0, 
    "reqd": 0, 
    "search_index": 0, 
@@ -137,6 +141,7 @@
    "print_hide": 0, 
    "print_hide_if_no_value": 0, 
    "read_only": 0, 
+   "remember_last_selected_value": 0, 
    "report_hide": 0, 
    "reqd": 0, 
    "search_index": 0, 
@@ -164,6 +169,7 @@
    "print_hide": 0, 
    "print_hide_if_no_value": 0, 
    "read_only": 0, 
+   "remember_last_selected_value": 0, 
    "report_hide": 0, 
    "reqd": 0, 
    "search_index": 0, 
@@ -182,7 +188,7 @@
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2016-08-31 08:08:47.359578", 
+ "modified": "2016-11-16 12:44:37.733773", 
  "modified_by": "Administrator", 
  "module": "HR", 
  "name": "Salary Component", 
@@ -199,6 +205,7 @@
    "export": 1, 
    "if_owner": 0, 
    "import": 0, 
+   "is_custom": 0, 
    "permlevel": 0, 
    "print": 1, 
    "read": 1, 
diff --git a/erpnext/hr/doctype/salary_component/salary_component.py b/erpnext/hr/doctype/salary_component/salary_component.py
index ca69568..8af7311 100644
--- a/erpnext/hr/doctype/salary_component/salary_component.py
+++ b/erpnext/hr/doctype/salary_component/salary_component.py
@@ -10,7 +10,6 @@
 class SalaryComponent(Document):
 	def validate(self):
 		self.validate_abbr()
-		
 
 	def validate_abbr(self):
 		if not self.salary_component_abbr:
@@ -21,8 +20,5 @@
 		if self.get('__islocal') and len(self.salary_component_abbr) > 5:
 			frappe.throw(_("Abbreviation cannot have more than 5 characters"))
 
-		if not self.salary_component_abbr.strip():
-			frappe.throw(_("Abbreviation is mandatory"))
-
 		if frappe.db.sql("select salary_component_abbr from `tabSalary Component` where name!=%s and salary_component_abbr=%s", (self.name, self.salary_component_abbr)):
 			frappe.throw(_("Abbreviation already used for another salary component"))
\ No newline at end of file
diff --git a/erpnext/patches/v7_1/update_missing_salary_component_type.py b/erpnext/patches/v7_1/update_missing_salary_component_type.py
index 7f6002d..f0e3f6a 100644
--- a/erpnext/patches/v7_1/update_missing_salary_component_type.py
+++ b/erpnext/patches/v7_1/update_missing_salary_component_type.py
@@ -1,6 +1,7 @@
 from __future__ import unicode_literals
 
 import frappe
+from frappe.utils import cstr
 
 '''
 Some components do not have type set, try and guess whether they turn up in
@@ -8,18 +9,38 @@
 '''
 
 def execute():
-	for s in frappe.db.sql('select name from `tabSalary Component` where ifnull(type, "")=""'):
-		compontent = frappe.get_doc('Salary Component', s[0])
+	for s in frappe.db.sql('''select name, type, salary_component_abbr from `tabSalary Component` 
+			where ifnull(type, "")="" or ifnull(salary_component_abbr, "") = ""''', as_dict=1):
+			
+		component = frappe.get_doc('Salary Component', s.name)
 
 		# guess
-		guess = frappe.db.sql('''select
-			parentfield from `tabSalary Detail`
-			where salary_component=%s limit 1''', s[0])
+		if not s.type:
+			guess = frappe.db.sql('''select
+				parentfield from `tabSalary Detail`
+				where salary_component=%s limit 1''', s.name)
 
-		if guess:
-			compontent.type = 'Earning' if guess[0][0]=='earnings' else 'Deduction'
+			if guess:
+				component.type = 'Earning' if guess[0][0]=='earnings' else 'Deduction'
 
-		else:
-			compontent.type = 'Deduction'
-
-		compontent.save()
\ No newline at end of file
+			else:
+				component.type = 'Deduction'
+				
+		if not s.salary_component_abbr:
+			abbr = ''.join([c[0] for c in component.salary_component.split()]).upper()
+			
+			abbr_count = frappe.db.sql("""
+				select 
+					count(name) 
+				from 
+					`tabSalary Component` 
+				where 
+					salary_component_abbr = %s or salary_component_abbr like %s
+				""", (abbr, abbr + "-%%"))
+				
+			if abbr_count and abbr_count[0][0] > 0:
+				abbr = abbr + "-" + cstr(abbr_count[0][0])
+				
+			component.salary_component_abbr = abbr
+			
+		component.save()
\ No newline at end of file
