User Roles & Permissions
User Roles and Permissions
Help URL: https://smoothhiring.com/help/hrms/getting-started/user-roles-permissions
Smooth HR access is controlled through users and roles on your account. Four roles matter most for day-to-day HR: HR Manager, HR User, Employee, and Onboarding User. This guide explains what each role can do, how to assign them, how onboarding portal isolation works, and how to troubleshoot permission errors.
Table of Contents
- How Frappe permissions work
- HR Manager
- HR User
- Employee
- Onboarding User
- System Manager and other roles
- Assigning roles step by step
- Linking Users to Employee records
- Onboarding portal access model
- Permission matrix (summary)
- Best practices
- Troubleshooting
- Related guides
How access control works
| Concept | Description |
|---|---|
| User | Login account (email) |
| Role | Permission bundle (HR Manager, Employee, …) |
| Record permissions | Per-role read/write/submit/cancel on each record type |
| User Permissions | Optional row-level restrictions (e.g. one Company) |
Roles are maintained at User List → /app/user → open user → Roles table.
Smooth HR also uses role_home_page in hooks: users with only Onboarding User land on /desk/onboarding-portal instead of People.
HR Manager
Who: HR director, HRIS administrator, people operations lead.
Typical responsibilities:
- Configure HR Settings, companies, leave policies, payroll structures
- Create and submit Employee Onboarding, Payroll Entry, Leave Policy Assignment
- Manage Employee Onboarding Template and Signature Template
- Approve or override sensitive transactions
- Access dashboards across all modules
Desk access: Full Smooth HR desktop (all module icons). Can open onboarding portal via Preview Portal on Employee Onboarding.
DocType examples (from permissions):
| Area | HR Manager capability |
|---|---|
| Employee Onboarding | Create, submit, amend, cancel |
| Employee Onboarding Template | Full access |
| Payroll Entry / Salary Slip | Submit payroll |
| Signature Envelope | Create and monitor multi-signer flows |
Assign HR Manager sparingly — it is effectively admin for HR data.
HR User
Who: Recruiters, HR coordinators, HR generalists without full config access.
Typical responsibilities:
- Maintain Job Applicant, Interview, Employee day-to-day fields
- Create Employee Onboarding from templates
- Process Leave Application and Expense Claim on behalf of employees (where permitted)
- Complete HR Tasks created from onboarding activities
Desk access: Smooth HR modules per assigned permissions; may not change all HR Settings sections.
Difference from HR Manager:
| Task | HR User | HR Manager |
|---|---|---|
| Edit HR Settings hiring/onboarding email | Often read-only | Yes |
| Submit payroll | Depends on site | Yes |
| Cancel submitted onboarding | Limited | Yes |
| Create onboarding templates | Yes (per record perm) | Yes |
Use HR User for team members who should not change global payroll or security settings.
Employee
Who: Active workforce members using self-service.
Typical responsibilities:
- Submit Leave Application, Expense Claim, Attendance Request
- View own Salary Slip (if enabled)
- Update limited profile fields on linked Employee record
Desk access: Employee role on User; may see reduced module set (often Leaves, Expenses, and profile-related pages). Permissions vary by site policy.
Setup requirements:
- Create User with employee's work email.
- On Employee, set User ID to that user.
- Assign role Employee (plus module-specific roles if you use custom apps).
Without User ID linkage, the employee cannot see their own leave balance or slips tied to employee identity.
Onboarding User
Who: Candidates and new hires completing pre-boarding before full employee self-service.
Purpose: Restricted access so new hires only see the Onboarding Portal — not payroll, other employees, or company-wide lists.
Behavior (from Smooth HR hooks and portal code):
| Setting | Value |
|---|---|
role_home_page |
/desk/onboarding-portal |
| Desk restriction | Onboarding User without HR Manager / System Manager cannot browse standard HR modules |
| Record match | Portal loads Employee Onboarding tied to login email |
How the role is assigned:
When HR submits Employee Onboarding, Smooth HR:
- Ensures role Onboarding User exists in the system.
- Creates or updates a User for the onboarding email.
- Appends Onboarding User role if missing.
- Sends portal credentials / link (template from HR Settings → Onboarding Portal Email Template).
After day one: HR links full Employee user, assigns Employee role, and may remove Onboarding User when no longer needed.
System Manager and other roles
| Role | Notes |
|---|---|
| System Manager | Full account admin; bypasses most HR restrictions — use for IT only |
| Leave Approver / Expense Approver | Often assigned via Employee master, not global role |
| Payroll User | May exist on sites with separated payroll team |
Do not conflate System Manager with HR Manager — IT admins should not be the only HR configurators unless intentional.
Assigning roles step by step
New HR team member
- Go to
/app/user→ Add User. - Enter email, first name, send welcome email.
- In Roles, add HR User or HR Manager.
- Optionally set User Permissions for a single Company.
- Save.
New hire (onboarding only)
Roles are usually auto-assigned on onboarding submit. To resend access:
- Open
/app/employee-onboarding/{name}. - Click Send Portal Access.
- Confirm email on record matches hire's inbox.
Promote hire to employee self-service
- Create → Employee (or link existing).
- Create User or reuse onboarding user.
- Add Employee role; remove Onboarding User when appropriate.
- Set User ID on Employee.
Linking Users to Employee records
| Step | Location |
|---|---|
| 1 | Open /app/employee/{id} |
| 2 | Set User ID = user's email/login |
| 3 | Ensure Company Email or Personal Email matches portal login |
Portal matching order (from onboarding portal logic):
- Employee user_id
- Job Applicant email
- Onboarding email on Employee Onboarding record
Mismatch causes No Onboarding Found in the portal.
Onboarding portal access model
HR Manager / HR User Onboarding User
│ │
▼ ▼
Employee Onboarding (desk) Onboarding Portal page
│ │
├─ Submit ──► Create User + Role │
├─ Send Portal Access ──► Email │
└─ Preview Portal (read-only QA) ├─ Forms + documents
├─ Sign /sign/{token}
└─ Submit onboarding
HR reviews progress on Employee Onboarding fields: Onboarding Progress, Documents Completed, Section Status, Onboarding Completed.
Permission matrix (summary)
| Capability | HR Manager | HR User | Employee | Onboarding User |
|---|---|---|---|---|
| HR Settings | ✓ | partial | — | — |
| Employee list (all) | ✓ | ✓ | own | — |
| Employee Onboarding | ✓ | ✓ | — | own via portal |
| Onboarding Template | ✓ | ✓ | — | — |
| Payroll Entry submit | ✓ | site-dependent | — | — |
| Leave Application (self) | ✓ | ✓ | ✓ | — |
| Onboarding Portal page | preview | preview | — | ✓ |
| Signature Template edit | ✓ | limited | — | — |
Best practices
- Least privilege — HR User for coordinators; HR Manager for 1–2 admins.
- Separate onboarding logins — Do not add HR Manager to new hire portal test accounts.
- One User per person — Avoid duplicate users for same email.
- Document role changes — When offboarding, disable User rather than deleting history.
- Test portal with Preview Portal before sending to candidates.
- Align emails — Applicant email → onboarding email → User email must match.
Troubleshooting
| Issue | What to do |
|---|---|
| User sees no Smooth HR app | Add HR Manager or HR User role |
| Permission denied on submit | Check record role permissions; escalate to HR Manager |
| Onboarding User sees full desk | Remove HR roles from test user; keep only Onboarding User |
| Portal: No Onboarding Found | Match User email to applicant/employee/onboarding email |
| Cannot preview portal | HR Manager or HR User required on preview page |
| New hire received no email | Check Send Portal Access; verify outgoing email; spam folder |
| Duplicate user on resend | Same user updated — reset password if needed |
| HR User cannot open HR Settings | Expected on some sites — escalate change to HR Manager |
Role assignment scenarios (extended)
Scenario: Contractor vs employee
Contractors may need Employee records for time tracking but not payroll. Assign Employee role only if they use self-service; otherwise HR enters data on their behalf with HR User.
Scenario: Hiring manager as approver
Hiring managers often do not need HR Manager. Grant HR User only if they create onboarding records; otherwise keep them as Leave Approver on Department without desk HR roles.
Scenario: IT provisioning tasks
IT staff completing onboarding Tasks need User accounts with permission to update Task or membership on the onboarding Project — not necessarily HR Manager.
Scenario: Executive hire
Executives may receive a shortened onboarding template. Use User Permissions on Company plus a dedicated template filtered by Employee Grade rather than over-permissioning executive assistants with HR Manager.
Auditing access
Periodically export /app/user list and review:
- Users with HR Manager who left the organization
- Stale Onboarding User accounts after hire conversion
- Shared inboxes used as User emails (avoid — breaks portal matching)
Related guides
Last updated: May 2026