We are facing problem with the HR payroll module of ERPNext.
Logically when you upload the attendance you assume that the salary will be calculated based on the days person has worked. So when the attendance is uploaded and a person has been absent for 5 days, then it should calculate on the leaves taken. In ERPNext, this is not the care. Rather, it simply ignores the attendance and only calculates based on the leave applied.
If a person is absent, then it should automatically become leave without pay until and unless they have applied for a leave which gets paid. Adding a leave without pay is an unnecessary step which increases the burden of the payroll team to ensure that a leave without pay has been set up and approved. Further what is the incentive for the employee to put the leave without pay in the system when they know, if they wont put it in, they get paid for that day?