Frappe HR

Frappe HR

How to process Payroll in Frappe HR

Use this page to run your first payroll in Frappe HR, from the one-time setup to the bank entry. After the first month, you only repeat the monthly steps.

Before you start

  • You need the HR Manager role. To post the accounting entries, you also need the Accounts User role.
  • The Employees are created, with Date of Joining and Status set to Active.
  • The company has a Default Payroll Payable Account. Frappe HR uses it on every Salary Structure Assignment.

How payroll works

Payroll in Frappe HR is a chain of documents. Each document reads the one before it:

Document What it does How often
Payroll Period The financial year for income tax. Once a year
Income Tax Slab The tax rates for that year. Once a year
Salary Component One line of the slip, for example Basic or Professional Tax. Once
Salary Structure The template: which components and the formula for each. Once
Salary Structure Assignment Links one employee to a structure, with a Base amount and a From Date. When the salary changes
Payroll Entry Finds the employees, makes one Salary Slip for each, and posts the accounting entries. Every month

If a link in this chain is missing, the Payroll Entry does not find the employee or the Salary Slip is not made. Most payroll errors come from this.

For example, Bluepeak Technologies Pvt Ltd pays its employees monthly. Arjun Reddy has a Base of ₹1,40,000. His structure pays Basic (half of the base), House Rent Allowance (40% of Basic) and Special Allowance (the rest). It deducts Provident Fund and Professional Tax. His December slip shows a gross pay of ₹1,40,000 and a net pay of ₹1,36,800.

One-time setup

1. Create a Payroll Period

  1. Go to Payroll → Payroll Period → + Add Payroll Period.
  2. Select the Company.
  3. Set Start Date and End Date of your financial year. For example, 01-04-2026 to 31-03-2027.
  4. Click Save.

Frappe HR calculates the income tax for the full Payroll Period, and then divides it over the months.

2. Create an Income Tax Slab

Skip this step if you do not deduct income tax through payroll.

  1. Go to Payroll → Income Tax Slab → + Add Income Tax Slab.
  2. Set Effective from, Company and Currency.
  3. In the Taxable Salary Slabs table, add one row for each rate. For example, from 4,00,000 to 8,00,000 at 5%.
  4. If a standard deduction applies, enter it in Standard Tax Exemption Amount.
  5. Click Save, then Submit.

Income Tax Slab with the slab rows and the standard deduction

3. Create the Salary Components

  1. Go to Payroll → Salary Component → + Add Salary Component.
  2. Type the Name and an Abbr, for example Basic and B. Formulas use the abbreviation.
  3. Set Type to Earning or Deduction.
  4. In the Accounts table, select the Company and the expense or liability Account.
  5. Click Save.

For the income tax component, select Variable Based On Taxable Salary. Frappe HR then calculates the tax for each slip from the Income Tax Slab.

Note: If one Salary Component of the company has Variable Based On Taxable Salary, Frappe HR adds it to every Salary Slip, also when the Salary Structure does not have it. Then every Salary Structure Assignment needs an Income Tax Slab.

4. Create a Salary Structure

  1. Go to Payroll → Salary Structure → + Add Salary Structure.
  2. On the Details tab, select the Company, the Currency and the Payroll Frequency, for example Monthly.
  3. On the Earnings & Deductions tab, add the components to Earnings and Deductions.
  4. For a calculated amount, open the row, select Amount based on formula and type the formula. For example, base * 0.5 for Basic and B * 0.4 for House Rent Allowance.
  5. Click Save, then Submit.

Salary Structure with earnings and deductions

5. Assign the Salary Structure to each employee

  1. Go to Payroll → Salary Structure Assignment → + Add Salary Structure Assignment.
  2. Select the Employee and the Salary Structure.
  3. Set From Date. It must be on or before the end of the first month that you pay.
  4. Type the Base amount. The formulas use it as base.
  5. If you deduct income tax, select the Income Tax Slab.
  6. Check that Payroll Payable Account shows the right account.
  7. Click Save, then Submit.

Salary Structure Assignment with From Date, Base and Income Tax Slab

To assign one structure to many employees at a time, use the Bulk Salary Structure Assignment tool.

6. (India) Collect the tax exemption declarations

If employees claim tax exemptions (for example under section 80C), create an Employee Tax Exemption Declaration for each of them. Frappe HR then deducts less income tax. See Employee Tax Exemption Declaration.

Monthly steps

7. Create the Payroll Entry

  1. Go to Payroll → Payroll Entry → + Add Payroll Entry.
  2. On the Overview tab, set Posting Date, Company and Currency.
  3. Select the Payroll Frequency. The Start Date and End Date fill in. For example, 01-12-2026 to 31-12-2026.
  4. Check the Payroll Payable Account. It must be the same account as on the Salary Structure Assignments.
    Payroll Entry, Overview tab
  5. On the Accounting & Payment tab, select the Cost Center and the Payment Account, for example your salary bank account.
    Payroll Entry, Accounting & Payment tab
  6. Click Save.
  7. Optional: to pay only part of the company, go to the Employees tab and set Branch, Department or Designation.
  8. Click Get Employees. The Employee Details table shows each employee who has an active Salary Structure Assignment.

Payroll Entry, Employees tab after Get Employees

8. Create the Salary Slips

  1. Click Create Salary Slips. Frappe HR submits the Payroll Entry and makes one draft Salary Slip for each employee.

If there are more than 30 employees, the job runs in the background. The status shows Queued. Reload the form after a few minutes.
2. Open some Salary Slips from the Connections tab of the Payroll Entry. On the Earnings & Deductions tab, check the amounts. The Net Pay Info tab shows the Net Pay.

Salary Slip of Arjun Reddy, Earnings & Deductions tab

If a slip is wrong, correct the master data (for example the Base in the Salary Structure Assignment), delete the draft slip, and create it again.

9. Submit the Salary Slips

  1. On the Payroll Entry, click Submit Salary Slip.
  2. Click Yes to confirm.

Frappe HR submits all the slips and makes one accrual Journal Entry. This entry books the salary expense against the Payroll Payable Account, and the deductions against their own accounts. It does not pay anyone yet.

Accrual Journal Entry made from the Payroll Entry

10. Make the Bank Entry

  1. On the Payroll Entry, click Make Bank Entry. A draft Bank Entry (a Journal Entry) opens. It moves the net pay from the Payroll Payable Account to the Payment Account.
  2. Type the Reference Number and Reference Date of the bank transfer.
  3. Check the amounts, then click Submit.

Draft Bank Entry for the net pay

The Bank Entry records the payment in your books only. It does not send money to the employees. Transfer the salaries from your bank, then submit the Bank Entry. For details, see Make Bank Entry from Payroll Entry.

Common errors

Get Employees shows "No employees found"

No employees found for the mentioned criteria:
Company: Bluepeak Technologies Pvt Ltd
Currency: INR
Payroll Payable Account: Payroll Payable - BPT
Branch: Madhapur Office
Start date: 2026-12-01
End date: 2026-12-31

No employees found dialog

Get Employees only finds an employee when all of these are true:

  • The Salary Structure Assignment is submitted, and its From Date is on or before the Payroll Entry End Date.
  • The Salary Structure is submitted, Is Active is Yes, and its Company, Currency and Payroll Frequency match the Payroll Entry.
  • The Payroll Payable Account is the same on the assignment and on the Payroll Entry.
  • The Employee is not Inactive, the Date of Joining is on or before the End Date, and the Relieving Date (if set) is on or after the Start Date.
  • The Branch, Department and Designation filters match the employee.
  • The employee does not already have a submitted Salary Slip for the same Start Date and End Date.

See Why doesn't Payroll Entry fetch all my employees?

Salary Slip shows "No active or default Salary Structure found"

No active or default Salary Structure found for employee HR-EMP-00002 for the given dates

The employee has no submitted Salary Structure Assignment with a From Date on or before the slip dates. Submit the assignment, or move its From Date earlier.

Salary Slip shows "Income Tax Slab not set"

Income Tax Slab not set in Salary Structure Assignment: HR-SSA-26-11-00004

A Salary Component of the company has Variable Based On Taxable Salary, so Frappe HR calculates income tax for this employee. Cancel the Salary Structure Assignment, amend it, select an Income Tax Slab, and submit it again.

Payroll Entry shows "Attendance is not marked for some employees"

Cannot submit. Attendance is not marked for some employees.

Validate Attendance is on in the Payroll Entry. Mark the attendance for the employees in the list, or clear Validate Attendance on the Employees tab.

Last updated 1 week ago
Was this helpful?
Thanks!