Payroll
Payroll in PMSuite turns your employee salary records, attendance, timelogs and expense claims into generated salary runs and downloadable salary slips. This overview explains what the module covers and where each part lives; the linked articles cover each step in detail.
Who can use it
Access is controlled by Roles & Permissions. Payroll permissions follow the standard levels — None, Added, Owns, All — so an administrator or HR role with All sees every employee's payroll, while a user granted only the Own salary-slip permission sees the Payroll module containing just their own salary slips.
If someone cannot see Payroll after a permission change, have them log out and back in — permission changes do not always apply to an already-active session.
Prerequisites
Before generating a payroll run:
- Salary components defined — Settings → Payroll Settings, where each component has a Name, Type (Earnings or Deductions) and Value Type (Fixed or Percentage). Values can be defined separately for Monthly, Weekly, Bi-Weekly and Semi-Monthly cycles.
- Salary Groups (optional) — group employees under a shared set of components on the Salary Groups tab.
- Per-employee salary set up at
/account/employee-salary: salary cycle (Monthly or Bi-Weekly), salary group, Net Salary (Monthly), and the Allow Payroll Generate toggle that decides whether the employee is picked up by a run. - Overtime pay codes (only if you pay overtime) — Settings → Overtime Settings, default rates Regular 1.0x, Holiday 2.0x, Day Off 1.75x.
How to access
| What | Path |
|---|---|
| Payroll hub | /account/payroll |
| Employee Salary | /account/employee-salary |
| Payroll Expenses | /account/payroll-expenses |
| Overtime Requests | /account/overtime-requests |
| Payroll Settings | Settings → Payroll Settings |
| HR dashboard | /account/hr-dashboard |

Generating a payroll run
- Go to
/account/payroll. - Narrow the run with the generation filters: Department and Employee.
- Choose the Salary Cycle — Monthly or Bi-Weekly.
- Set the inclusion toggles for what the run should absorb:
- Include Expense Claims — adds expense claims to the payout.
- Add Timelogs to Salary — pays logged time as part of salary.
- Use Attendance — bases the calculation on recorded attendance.
- Generate. The payroll list then shows the columns Name, Net Salary, CTC, Duration, Paid On and Status.
- Generated salary slips appear in the Salary Slips section for download.
Effect on other features
- Employee Salary — each employee's cycle and Allow Payroll Generate toggle determine whether and how they appear in a run; employees can sit on different cycles from the company-wide default.
- Attendance and Timelogs — when the matching toggles are on, attendance records and timelogs feed the salary calculation, so corrections there change payroll output.
- Expenses — with Include Expense Claims enabled, expense claims are paid through payroll rather than separately.
- Overtime — overtime is valued using the pay codes configured in Overtime Settings.
Limitations
- A payroll run only covers Monthly or Bi-Weekly cycles. Salary components can be valued for Weekly and Semi-Monthly cycles in Payroll Settings, but the run itself is Monthly or Bi-Weekly. Workaround: pick the cycle closest to your schedule and use component values (or Payroll Expenses) to reconcile the difference.
- There is no per-run "skip this person" control on the generation screen. Workaround: turn off Allow Payroll Generate on that employee's salary record before generating, then turn it back on.
- Generation filters are limited to Department and Employee. Workaround: use Salary Groups to batch employees who should be processed together, and run per department.
Troubleshooting
- An employee is missing from the run — check Allow Payroll Generate on their Employee Salary record, that their salary cycle matches the cycle you selected, and that your Department/Employee filters include them.
- Net Salary looks wrong — review the inclusion toggles (attendance, timelogs, expense claims) and the components attached to the employee's salary group in Payroll Settings.
- A user cannot see Payroll or their own slip — check Roles & Permissions; the Own salary-slip permission is what exposes the module with only that user's slips. Have them re-log after the change.
- Overtime not paid as expected — confirm the pay code and overtime policy in Settings → Overtime Settings, and the request status in
/account/overtime-requests.