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: