Employee Management
Add and manage employees, edit profiles, handle status changes, and manage company assignments
Employees are the core of everything in Hopshift. Before you can run payroll, schedule shifts, or track leave, each person needs a profile with their basic details, employment information, and, for Thai payroll, their national ID, date of birth, and gender. This guide covers everything from creating a profile to handling terminations, managing departments and positions, and assigning employees to multiple outlets.
The Employee Directory
Go to Employees in the sidebar to see a list of all employees in the current company. By default the list shows active employees. Use the status filter to view inactive or terminated staff.
The directory shows:
- Employee name and photo
- Employee ID
- Position and department
- Employment type
- Status badge (Active, Inactive, On Leave, Terminated)
Use the search bar to find employees by name or employee ID. Click any row to open the full employee profile.
Adding an Employee
Step 1: Open the Add Employee form
Click Add Employee (top-right of the employee list). The creation form opens as a multi-section page.
Step 2: Personal Information
Fill in the employee's personal details:
| Field | Required | Notes |
|---|---|---|
| First name (English) | Yes | Used throughout the app |
| Last name (English) | Yes | |
| First name (Thai) | No | Displayed on Thai payroll documents |
| Last name (Thai) | No | Displayed on Thai payroll documents |
| Preferred name / nickname | No | Shown informally in schedules |
| Email address | Yes | Used for login and notifications |
| Phone number | No | |
| Date of birth | Required for TH payroll | Must be set before running payroll |
| Gender | Required for TH payroll | Male / Female / Prefer not to say |
| Nationality | No | |
| National ID number | Required for TH payroll | 13-digit Thai national ID |
For Thailand payroll, national ID number, date of birth, and gender are mandatory. Employees missing these fields will be flagged as non-compliant and will block payroll finalization. Fill them in as soon as possible after creating the profile.
Step 3: Employment Details
| Field | Required | Notes |
|---|---|---|
| Employee ID | Yes | Your internal HR number: must be unique |
| Hire date | Yes | The official start date of employment |
| Employment type | Yes | Full-time, Part-time, Contract, or Intern |
| Department | Yes | Must already exist in Settings → Departments |
| Position | Yes | Must already exist in Settings → Positions |
| Manager | No | Sets the reporting line; managers can approve this employee's leave |
Step 4: Save and Continue
Click Save. The employee profile is created. You can continue editing by navigating to any profile tab.
Employee Profile Tabs
Once an employee record exists, the profile is organized into tabs:
Personal
All personal information fields listed above. Edit any field and click Save changes.
Employment
Contains employment history details. You can update:
- Position (with effective date: history is preserved)
- Department
- Employment type
- Manager
- Probation end date
Changing a position creates a history entry. Previous positions remain in the record and are visible to payroll and reporting features.
Documents
Upload and manage employee documents:
- Employment contract
- National ID copy
- Work permit (for foreign nationals)
- Medical certificates
- Any other file relevant to the employee
Supported file types: PDF, JPG, PNG. Maximum file size: 10 MB per document.
To upload: click Upload Document, select the file type from the dropdown, choose your file, and click Save.
Assignments
An employee can be assigned to work at one or more companies within the group. This tab shows which companies the employee is currently assigned to.
See Multi-Company Assignments below for details.
Performance
Stores performance review records and notes. Managers and admins can add entries with a date, rating, and free-text notes.
Leave
Shows the employee's current leave balances for the current leave year and their leave request history. Balances are read-only here: to adjust a balance, use Settings → Leave Types → Adjustments.
Employment Types
Hopshift supports four employment types which affect payroll and entitlement calculations:
| Type | Description |
|---|---|
| Full-time | Standard contracted employee; eligible for full entitlements |
| Part-time | Works reduced hours; entitlements may be prorated |
| Contract | Fixed-term or project-based engagement |
| Intern | Temporary internship placement |
The employment type is set when creating the profile and can be changed later from the Employment tab. Payroll will use the type in effect for the current pay period.
Employee Status
Each employee has a status that controls their visibility and what actions can be taken on their account.
| Status | Meaning |
|---|---|
| Active | Currently employed and working |
| Inactive | Temporarily inactive (e.g. extended unpaid leave) |
| On Leave | On a scheduled leave period (set automatically when a long leave is approved) |
| Terminated | Employment has ended |
Changing Status
To change an employee's status:
- Open the employee profile.
- Click the status badge near their name (top of profile).
- Select the new status from the dropdown.
- For Terminated, you will be prompted to enter a termination date and reason.
- Click Confirm.
Terminating an employee removes them from future payroll runs and schedule assignments. Their historical data (past payslips, leave records, timesheets) is permanently retained for audit purposes.
Terminated employees are hidden from the default directory view. To find a terminated employee, set the status filter to Terminated in the employee list.
Departments
Departments group employees by business function (e.g. "Kitchen", "Service", "Finance"). They are configured in Settings → Departments and then assigned to employees.
Creating a Department
- Go to Settings → Departments.
- Click Add Department.
- Enter the department name.
- Click Save.
Editing or Deactivating
Click a department to edit its name. To deactivate a department, toggle the active switch. Inactive departments cannot be assigned to new employees but remain attached to existing employees for history purposes.
Positions
Positions represent job titles (e.g. "Barista", "Head Chef", "HR Manager"). They are managed in Settings → Positions.
Positions can be named in three languages for multilingual display across the app:
| Language | Field |
|---|---|
| English | Required |
| Thai (ภาษาไทย) | Optional |
| Chinese (中文) | Optional |
Creating a Position
- Go to Settings → Positions.
- Click Add Position.
- Enter the name in English (and optionally in Thai and Chinese).
- Optionally assign the position to a level tier.
- Click Save.
Activating / Deactivating
Use the toggle next to each position to activate or deactivate it. Inactive positions cannot be assigned to new employees. Positions that have never been assigned can be deleted outright.
Multi-Company Assignments
In a multi-company group, a single employee can be assigned to work at more than one company. This is common for:
- Employees who float between outlets
- Employees temporarily covering at another location
- Part-time staff with split schedules
How Assignments Work
- An employee has a home company: the entity on their employment contract and the one responsible for their primary payroll.
- They can be assigned to additional companies, which allows those companies to include them in schedules and clock-in records.
- Payroll is run per company. The home company handles the employee's core salary; assignments to other companies may trigger intercompany cost recharges (configured separately).
Adding an Assignment
- Open the employee profile.
- Go to the Assignments tab.
- Click Add Assignment.
- Select the target company from the dropdown.
- Set the assignment start date (and optionally an end date).
- Click Save.
The employee will now appear in the selected company's employee list and can be added to that company's shifts.
Only Group Admins and Admins of both the home company and the target company can manage cross-company assignments.
Removing an Assignment
To end an assignment, open it from the Assignments tab and set an end date. The employee will no longer appear in that company's active employee list from that date onward, but historical records (timesheets, payslips) are preserved.
Employee History and Audit Trail
Hopshift maintains a full history for each employee. Changes to position, department, salary, and status are recorded with the date the change took effect. This history is:
- Visible in the Employment tab timeline
- Included in payroll calculations (e.g. correct salary for a partial period after a mid-cycle change)
- Available to export for HR audit purposes
Nothing is deleted when an employee transfers between companies or changes roles. The complete timeline travels with the employee record.
Compliance Requirements for Thai Employees
Thai employees must have three fields set before they can be included in a payroll run:
- National ID number: 13-digit Thai national ID (บัตรประชาชน)
- Date of birth: Required for PND1 withholding tax filings
- Gender: Required for SSO 1-10 social security contributions
If any of these are missing, the employee will show a missing_compliance warning in red on the payroll wizard preview. You must update the profile before finalizing the payroll run.
For foreign employees working in Thailand, the work permit number is used in place of a national ID. Ensure this is uploaded under the Documents tab.