HR (HRM)
Payroll runs and payslips
Calculate pay for a month, check it, get it approved and locked, make payslips and a bank file, and pay people.
Contents: Who can use it · Payroll runs · Steps of a run · Checks · Variance · Payslips · Bank file · Example · FAQ
Who can use it
Staff with the payroll run permissions. The output steps have their own permissions: payslips (list, generate, send, download), payout batches, which are bank files (list, create, download), and validation (run checks). If Require approval is on in Payroll settings, the person who prepared a run cannot approve it.
Where: HR → Payroll → Payroll runs.
A payroll run with its totals.
Payroll runs
The list shows each run with legal entity, period, type, status and Total payable.
| Button / control | What it does |
|---|---|
| New payroll run | Creates a run |
| Filters | Branch, pay group |
| Row click | Opens the run |
| Delete | Removes a run that is not locked |
In New payroll run choose:
| Field | Meaning |
|---|---|
| Name | For example "Salary — October 2026" |
| Month | The pay month |
| Branch | Pay one branch (and its sub-branches) or all |
| What does this run pay? | Salary only, Salary + festival bonus, or Bonus only |
| Festival date | Optional for bonus runs. Tenure and basic are taken at this date |
| Pay period from / to | Optional custom period; give both dates or neither |
| Pay group | Pay one group or All pay groups |
| Remark | Optional note |
Step-by-step: run a month
- Make sure attendance for the month is generated and leave, late and overtime approvals are done.
- Click New payroll run and Create run. It starts empty ("Nothing computed yet").
- Open the run and click Generate. Pay is computed for everyone from attendance, leave, overtime, PF, tax and loans.
- Review the columns: Gross, Overtime, Absent & late, PF, Tax, Loan, Payable. If you use the formula engine, click an employee's name to see how every component was worked out.
- Untick the Pay box of anyone you do not want to pay now and click Save selection. Use Simulate to test changes without saving, or Regenerate after fixing data.
- Open the Validate and Variance tabs below the table and deal with what they show (see below).
- If approval is on, click Submit for approval. The approver chooses Approve or Send back (with "What needs changing?").
- Click Lock. A run with errors in Validate cannot be locked. A locked run's figures never change again.
- In the Payslips tab, make and send payslips. In the Bank file tab, make the file for your bank.
- Send the money from your bank or wallet, then click Mark paid and record how it was sent: method, the company account it left, the reference or transaction ID, the date, a note and a proof file if you have one. Loans are deducted and employees are notified. You can also mark one person paid with Mark paid on their line; the run becomes Disbursed when the last person is paid. See Marking payments paid.
Validate: checks before locking
The Validate tab lists what the checks found, with Level, Employee, Check and What we found.
| Check | Level | Meaning |
|---|---|---|
| Basic pay is zero | Error | Usually a missing salary structure. Not checked on bonus runs |
| Negative net pay | Error | Deductions are larger than the pay |
| Shared bank account | Error | The same account number is on two employees |
| No verified bank account | Warning | The person will be left out of the bank file; pay them another way |
| Unapproved overtime | Warning | Overtime still waits for a decision and is not in this run |
| Pay moved a lot | Warning | Net pay moved more than the variance threshold |
Errors block locking ("Fix the errors below, generate the run again, then lock it."). Warnings only ask you to look. "All clear" means nothing was found.
Variance against the previous run
The Variance tab compares each person's net pay with the previous run of the same kind: Previous, This run and Change. Pay that moved by more than the threshold (10 percent unless your organization changed it) is marked. People shown as New were not in the previous run; Left were in it but not in this one. On the first run you see "No earlier run to compare with".
Payslips
Payslips are PDF files made from the final figures, so the tab says "Lock the run first" until the run is locked or disbursed.
- Click Make payslips (N). They are made in the background ("They appear here as they finish").
- Each row shows Ready or Sent with a version number, "Not made yet", or the reason a payslip could not be made.
- Click Send payslips (N) to tell employees their payslip is ready, in the app and by email if their notification settings allow it.
- Click Download on a row to open one payslip.
Each payslip is also filed in the employee's documents. If a run is corrected and the figures change, the next version is issued and the earlier one is kept. Your organization can lock payslip PDFs with a password (none by default): the last characters of the employee ID or of an ID document, or the employee's own payslip PIN. When the rule is on and the employee has nothing to make the password from, no payslip is made for them. Only people allowed to see compensation can open someone else's payslip, and every download is logged.
Bank file and reconciliation
The Bank file tab also needs a locked or disbursed run.
- Choose a file format (for example Generic CSV or Generic Excel, plus any bank formats your country pack offers) and click Make bank file.
- The file appears with Format, Status, People, Left out and Total. Click Download and upload it to your bank's portal.
- After sending it, click Mark as sent (status Sent to bank). A file not yet sent can be cancelled.
People without a verified bank account, with nothing to pay, or paid in another currency are left out of the file. The cards above the list show Run total, Bank file, Left out of the file and either Matched to the cent or Difference. Pay the people left out another way.
Example scenario
Padma Net Support runs October 2026 payroll. Ayesha (HR) creates "Salary — October 2026" and generates it. Validate shows an error "Basic pay is zero" for Tanvir, who has no salary structure. She adds one, regenerates, and the error clears. Variance marks Rafiq, whose overtime doubled; Ayesha confirms it is right. She submits; Karim (Finance) approves and locks it. Ayesha makes and sends payslips, makes a Generic Excel bank file for 97 people (one person has no verified account and is paid in cash), marks it sent, and after the bank confirms the transfer clicks Mark paid with the method Bank transfer, the company account Main bank and the bank's batch reference. The cash payment for the 98th person is marked on his line with the method Cash.
Tips
- Run Simulate first, especially after changing payroll settings. Validate lists anyone with a salary structure the run left out, with the reason.
- Nobody approves a run that pays themselves: another approver must approve it.
- Check Validate before you submit, not just before you lock.
- Use a Bonus only run when the festival falls mid-month.
- Keep employees' bank accounts verified so nobody is left out of the bank file.
Troubleshooting and FAQ
Generate says nobody to pay. No one in the run has an active salary structure for the period.
Lock fails with "error(s) must be fixed". Open Validate, fix each error, click Regenerate, then lock.
I cannot approve. You prepared the run. Another person must approve it.
I need to change a locked run. You cannot. Fix it with an adjustment in the next run.
A payslip shows a problem instead of Ready. Usually the password rule needs something the employee does not have (an ID or a payslip PIN), or the person has no employee record.
"This run already has a bank file in this format." Cancel the earlier file first, unless it was already sent to the bank.
An employee cannot see their payslip. It is made only after the run is locked or disbursed, and someone must click Make payslips.
Related pages
Payroll setup · Reports · Attendance · Leave · Employee self-service