There seems to be an error in salary_slip.py in sum_components function:
The or condition should be changed to “and”.
for d in self.get(component_type):
if self.salary_structure and ((cint(d.depends_on_lwp) == 1 and not self.salary_slip_based_on_timesheet) or\
getdate(self.start_date) < joining_date or getdate(self.end_date) > relieving_date):