Pay salaries - without touching the HR module

I want to start using ERPNext shortly with the Accounting as my main (and till further notice) only functionality.

So one thing still have to be doing (and which touches the HR module) is payments of salaries.

I definitely do not want to open the Pandora’s box of HR Module (Salary Structure, Salary Slip, Holiday List ,… ) in this first phase of usage and I was thinking to simply make a payment entry for a Salary payment.

  1. New Payment Entry
  2. Payment Type: Pay, Party Type: Employee

Now what I would expect is that an Asset Account (our bank account, i.e.) and an Expense account (Salaries) would be needed to satisfy the requirements of a double entry accounting transaction.

But the System (v11) mocks me with an Account Type for "Salaries" must be Payable error message upon saving the PE. Somehow this would make sense to me whether there was some sort of liability (something in the line of a Salary Invoice or such) posted to a Payable account beforehand. But this does not exist in my case and for now I’d prefer to avoid it in order to not having to deal with all the dependencies of the Payroll cycle.

Can anyone point me towards the right direction in this regards?

Hi @vrms,

The error message comes from the fact that the selected account for your employee must have the account type “Payable” (you can change it in the account tree).

The payment entry will make an accounting entry from the bank account to the payable account (in your case).
It means that you needs to have a creditor payable account to pay to, corresponding to the result of an accounting entry of your payable account against an expense for the company.


You can make a journal entry (or even a purchase invoice if you want to simplify the process) to generate an entry like:

Debit: Expense account
Credit: Employee account

(You will certainly have additional creditor lines for social security and other state organizations).

And then a payment entry linked to that journal entry that will generate the following entries :

Debit: Employee account
Credit: Bank account

By doing this, you will be able to account your payroll on your profit and loss statement.
Else your payment will just stay unlinked but you will only be able to track salaries on your balance sheet.


thanks for the feedback

So that Employee Account would be my Payable Account then, right? It does not seem to be created with creating an Employee in the CoA.

In ERPNext, you neer only one payable account for employees salaries, for example “Salaries” (the name depends on you country).
It is then linked automatically by the system to an employee (auxiliary account) by selecting the employee in your payment entry/journal entry/purchase invoice. It works exactly like for Customers and Suppliers with the payable and receivable accounts.
Therefore ERPNext doesn’t create one account per employee. I’m referring to an “Employee account” above as it is a general example, but in ERPNext that would be:

Debit: Expense Account
Credit: Salaries Account (configured as payable)
Party type: Employee
Party: John Doe

1 Like

I am starting to ‘get’ it. thx thus far

btw. which of the HR documents plays the role of the Supplier Invoice creating the liability in a salary payment scenario as intended by the HR module?

In HR it would be the Salary Slip doctype.

1 Like

this sounds so logical but when I try to follow this process I can not select the employee in the line of my Payable account in the Journal entry. Still if I want to save the JE the system complains

Row 2: Party Type and Party is required for Receivable / Payable account 31400 - Salaries Payable - QF

I can however select a party if the recipient is a Supplier and the Payable account used in the JE is the “Default Payable Account” of that Supplier. So, to me this looks like I needed to link a “Default Payable Account” to my Employee as well in order to make this work. Problem is … that option does not exist in the Employee Doctype. Hence I’m stuck with this for the moment

this was just due to me not realizing that you have to open the details in order to select the Party Type which by default is set to Supplier.

If you are only using this iteration of ERPNext to be a payroll machine and nothing else, then why not make all employees vendors? Treat them like private service contractors the same as you would if they were temporary consultants. Maybe I missed something but this would be easier to manage than trying to touch anything that relates to actual employees. If I missed the point, then I apologize.


that’d be besides my usecase. There actually are Employees as well as freelancers (which I’ll treat as Suppliers).

I want to account for salary payments properly but I do not want to deal with Salary Calculations within the Payroll Module with all it’s dependencies in order to lower the entry hurdle of getting practically started.

Can you tell whether the lack of ability to assign a Party Employee on such a JE is by design? To me it smells like a bug/missing function because it seems just logical it would have the same logic in that regards then the other parties (Suppliers/Customers)

Also this sounds logical. Then you’d create a Salary Slip (no matter whether manually or involving a Payroll Entry) post this against a Payable account (Salaries Payable i.e.) and then create an actual bank transfer against it. (Same logic as Purchase Invoice for Suppliers)

Practically it does not seems as the Salary Slip affects anything in accounting. Neither does it have a “Make Payment” option like the Purchase Invoice or Sales Invoice have.

For the moment it seems to me it is practically impossible to make meaningful accounting entries for salary Payments at all. Can it be there is no one using this at all and likewise the lack of functionality has never shown?

here is what I would sum up about this Topic (if anyone was interested)

1 Like

I used to enter Salary (expense) Debit
Bank Account Credit till ver10 with employee name mentioned in the field against Salary .

Now,we can only enter Employee name for Payable/Receivable account .

I could track Salary expense to each employee using single entry which was great.

Now this feature is not available