My next steps were:
Payroll Entry → Make Bank Entry → Submit Journal Entry with Bank Account as credit and Payroll Payable (under liabilities) as debit.
Since each salary component has a Default Account defined, I was expecting the salaries to be booked under those expense heads upon submitting the journal entry (i.e. credit Payroll Payable and debit “Staff Salary” under Expense Account for the salary components whose Default Account is “Staff Salary” etc).
However, this is not happening. Instead, the salary payments from all previous months’ payrolls accumulate as liabilities in Payroll Payable (and since we already paid them this seems incorrect).
Is the above described workflow correct? If not, what are the Default Accounts in Salary Components used for?
How can I get the ERP to book salaries under their salary component Default Account? By my understanding it should be: Cr - Bank and Dr - Payroll Payable, then Cr - Payroll Payable and Dr - Default Account for Salary Component
Submitting Salary Slips via the Payroll Entry books the accrual of salary payable to Employees. While paying out the Salaries to Employees you should use the Make > Bank Entry which will book the appropriate Expense Accounts. More details in this documentation.
I guess the Payroll Entry will only create draft Journal Entries and route you to the list view. At least that’s how the documentation says -
Payroll Entry will route you to Journal Entry with relevant filters to view the draft Journal Vouchers created. You shall set reference number and date for the transactions and Submit the Journal Entries.
Could you please check if there are draft Journal Entries created?
I have worked with ERPnext for a while now and understand the processes and workflow, so I am fairly certain that this is not the issue. I just noticed that the Basic salary component has three Default Accounts assigned to it (see screenshot below). Might this be the issue? The ERP doesn’t know which expense head to book it under and so just leaves the salary in Payroll Payable instead?
I guess you nailed it, a single expense account per company! These expense accounts will be booked while submitting the Salary Slip against Payroll Payable. When you actually make the payment (Make > Bank Entry) Payroll Payable will be booked against your bank.
BTW, could you please also post which accounts were booked against Payroll Payable when submitting the salary slips?
I ensured that each salary component has only one Default Account defined for my company.
Refresh ERPnext
Make new Payroll including submitted Salary Slips and submitted Bank entry from Payroll (as described in earlier post and according to documentation)
The bank entry correctly books the salaries from my bank account into Payroll Payable. What is missing is the expense booking which should have taken place when submitting the salary slips (as highlighted in the documentation )
The Default Accounts chosen for the salary components are:
Problem solved. Expense bookings are only made if one uses the “Submit Salary Slips” that can be found on the Payroll.
Previously, I checked the salary slips via the “View Salary Slips” and then submitted them manually after confirming the data. I was assuming that it would be enough to have generated the salary slip draft through the Payroll feature in order for the expense bookings to be created.