Payroll Run Issues


Running payroll is generally a breeze on ERPNext. But I am having trouble when there are multiple Salary Structures and Loss of Pay. It’s difficult to understand what I have done wrong when I have about 45 employees with one client and about 150 emplyees at another client for whom payroll needs to be run.

In both cases I make the Payroll Entry record with Validate Attendance unchecked and appropriate Loss of Pay/Leave Without Pay submitted. I hit Get Employees and all Employees with an assigned Salary Structure get pulled. But when I hit Create Salary Slips, the Progress Bar moves for a bit and then freezes and stays in the same position. When that happens, I know I have not covered something, but it’s very difficult for me to figure out what I’ve missed or cone wrong.

The console doesn’t have any information to indicate where the problem could be. Is there any error logs or logs that I could peer into to get a hint as to where the problem could be.

My understanding of Payroll Run is the following:

Employees need to be active
And assigned a Salary Structure
If Validate Attendance is not checked in the payroll entry, there is no need to mark attendance for all employees
Leave without pay/loss of pay needs to be marked for employees that have exited the organization during the Payroll Period
Salary Structure assignment start date is Date of Joining for those employees that joined during the payroll period

Anything I missed?



Hi Jay, Good Day. when the progress bar stuck and close it do you still get all the pull employees? in my scenario even the progress bar stuck it keeps on fetching the datas.

also… erpnext payroll can be run on a complex multiple structure it all depends on your formulas, conditions and assignment hope this helps.

God Bless

Hi have you checked web.log or frappe.log under logs directory?

One might throw an error.

Probably late, but just wanted to update in this forum if incase anyone else come across same issue.

I experienced the same issue, in my case the method create_salary_slips was queued using frappe.enqueue and noticed that the queued job halts if there are any errors in creation of any single salary slip, and then the progress bar hangs. I noticed the error being logged in worker.error.log. So i put the piece of code which actually saves salary slip in try…catch block and handled the error accordingly.