Update salary_structure.py
diff --git a/erpnext/hr/doctype/salary_structure/salary_structure.py b/erpnext/hr/doctype/salary_structure/salary_structure.py
index cfecd63..828962e 100644
--- a/erpnext/hr/doctype/salary_structure/salary_structure.py
+++ b/erpnext/hr/doctype/salary_structure/salary_structure.py
@@ -14,6 +14,7 @@
 	
 	def validate(self):
 		self.validate_amount()
+		self.validate_joining_date()
 		for e in self.get('employees'):
 			set_employee_name(e)
 
@@ -27,7 +28,13 @@
 	def validate_amount(self):
 		if flt(self.net_pay) < 0 and self.salary_slip_based_on_timesheet:
 			frappe.throw(_("Net pay cannot be negative"))
-				
+			
+	def validate_joining_date(self):
+		for e in self.get('employees'):
+			joining_date = getdate(frappe.db.get_value("Employee", e.employee, "date_of_joining"))
+			if e.from_date and getdate(e.from_date) < joining_date:
+				frappe.throw(_("From Date {0} for Employee {1} cannot be before employee's joining Date {2}")
+					    .format(e.from_date, e.employee, joining_date))	
 
 @frappe.whitelist()
 def make_salary_slip(source_name, target_doc = None, employee = None, as_print = False, print_format = None):