Employee Benefit Application - fix (#14837)

diff --git a/erpnext/hr/doctype/employee_benefit_application/employee_benefit_application.py b/erpnext/hr/doctype/employee_benefit_application/employee_benefit_application.py
index 210cc67..a117997 100644
--- a/erpnext/hr/doctype/employee_benefit_application/employee_benefit_application.py
+++ b/erpnext/hr/doctype/employee_benefit_application/employee_benefit_application.py
@@ -14,12 +14,15 @@
 class EmployeeBenefitApplication(Document):
 	def validate(self):
 		self.validate_duplicate_on_payroll_period()
-		if flt(self.max_benefits) <= 0:
-			frappe.throw(_("Employee {0} has no maximum benefit amount").format(self.employee))
-		self.validate_max_benefit_for_component()
-		self.validate_prev_benefit_claim()
-		if self.remaining_benefit > 0:
-			self.validate_remaining_benefit_amount()
+		if not self.max_benefits:
+			self.max_benefits = get_max_benefits_remaining(self.employee, self.date, self.payroll_period)
+		if self.max_benefits and self.max_benefits > 0:
+			self.validate_max_benefit_for_component()
+			self.validate_prev_benefit_claim()
+			if self.remaining_benefit > 0:
+				self.validate_remaining_benefit_amount()
+		else:
+			frappe.throw(_("As per your assigned Salary Structure you cannot apply for benefits").format(self.employee))
 
 	def validate_prev_benefit_claim(self):
 		if self.employee_benefits: