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
- Go to Payroll → Payroll Period → + Add Payroll Period.
- Select the Company.
- Set Start Date and End Date of your financial year. For example, 01-04-2026 to 31-03-2027.
- 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.
- Go to Payroll → Income Tax Slab → + Add Income Tax Slab.
- Set Effective from, Company and Currency.
- In the Taxable Salary Slabs table, add one row for each rate. For example, from 4,00,000 to 8,00,000 at 5%.
- If a standard deduction applies, enter it in Standard Tax Exemption Amount.
- Click Save, then Submit.

3. Create the Salary Components
- Go to Payroll → Salary Component → + Add Salary Component.
- Type the Name and an Abbr, for example
BasicandB. Formulas use the abbreviation. - Set Type to Earning or Deduction.
- In the Accounts table, select the Company and the expense or liability Account.
- 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
- Go to Payroll → Salary Structure → + Add Salary Structure.
- On the Details tab, select the Company, the Currency and the Payroll Frequency, for example Monthly.
- On the Earnings & Deductions tab, add the components to Earnings and Deductions.
- For a calculated amount, open the row, select Amount based on formula and type the formula. For example,
base * 0.5for Basic andB * 0.4for House Rent Allowance. - Click Save, then Submit.

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

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
- Go to Payroll → Payroll Entry → + Add Payroll Entry.
- On the Overview tab, set Posting Date, Company and Currency.
- Select the Payroll Frequency. The Start Date and End Date fill in. For example, 01-12-2026 to 31-12-2026.
- Check the Payroll Payable Account. It must be the same account as on the Salary Structure Assignments.

- On the Accounting & Payment tab, select the Cost Center and the Payment Account, for example your salary bank account.

- Click Save.
- Optional: to pay only part of the company, go to the Employees tab and set Branch, Department or Designation.
- Click Get Employees. The Employee Details table shows each employee who has an active Salary Structure Assignment.

8. Create the Salary Slips
- 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.

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
- On the Payroll Entry, click Submit Salary Slip.
- 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.

10. Make the Bank Entry
- 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.
- Type the Reference Number and Reference Date of the bank transfer.
- Check the amounts, then click Submit.

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

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.