Hopshift
Employees

Importing Employees

Bulk-import employees from a CSV template to onboard your team quickly

If you have more than a handful of employees to add, use the Import function instead of creating profiles one by one. You download a template, fill it in with your employee data, and upload it. Hopshift validates each row and creates the profiles in bulk.


Before You Start

Make sure the following exist in Hopshift before importing, as the template references them by name:

  • Companies: each employee row must match an exact company name in your group
  • Departments: must exist in Settings → Departments
  • Positions: must exist in Settings → Positions

If a row references a department or position that does not exist, it will fail validation.


Step 1: Download the Template

Import button on the Group Employees page

  1. Go to Group → Employees.
  2. Click Import (top-right, next to Add Employee).
  3. Click Download Template.

The template is a .xlsx file with one header row and column descriptions in row 2. Delete row 2 before uploading: it is for guidance only.


Template Columns

ColumnRequiredNotes
first_nameYesLegal first name in English
last_nameYesLegal last name in English
first_name_thNoFirst name in Thai script
last_name_thNoLast name in Thai script
emailYesMust be unique across the company
employee_idNoYour internal HR code (e.g. EMP001)
hire_dateYesFormat: YYYY-MM-DD (e.g. 2024-03-15)
employment_typeYesOne of: full-time, part-time, contract, intern
companyYesExact company name as it appears in Hopshift
departmentYesMust match an existing department name
positionNoMust match an existing position name
monthly_salaryNoNumeric, no currency symbol (e.g. 35000)
pay_typeNoOne of: salary, hourly, daily. Defaults to salary
national_idNo13-digit Thai national ID. Required for TH payroll
birthdayNoFormat: YYYY-MM-DD. Required for TH payroll
genderNoOne of: male, female, other. Required for TH payroll
phoneNoInternational format recommended (e.g. +66812345678)
send_inviteNotrue or false. Defaults to true

For Thai companies, filling in national_id, birthday, and gender at import time is strongly recommended. Employees missing these fields will be blocked from payroll finalization and will need to be updated individually afterwards.


Step 2: Fill in the Template

Fill one employee per row. A few tips:

  • Dates must be in YYYY-MM-DD format. Excel may reformat dates automatically: check the cell format is set to Text or that dates display as 2024-03-15 not 15/03/2024.
  • Company, department, and position values must match exactly (case-insensitive). A value of kitchen will match a department named Kitchen.
  • Emails must be unique. If an email already exists in the system, that row will fail.
  • Leave optional columns blank: do not delete the column headers.

Step 3: Upload and Validate

  1. Go back to Group → Employees → Import.
  2. Click Upload File and select your completed template.
  3. Hopshift validates every row before importing anything.

The validation screen shows:

  • Valid rows: ready to import (shown in green)
  • Rows with errors: shown in red with a description of each error

Common errors:

ErrorFix
Email already existsThe email is already registered: skip or update the existing profile
Department not foundCreate the department in Settings first, or correct the spelling
Invalid date formatChange the cell to text format and re-enter as YYYY-MM-DD
Invalid employment_typeUse one of the accepted values exactly

Step 4: Confirm Import

Once you are satisfied with the validation results:

  1. If there are errors you want to skip: check Import valid rows only. Invalid rows will be skipped.
  2. If you want to fix all errors first: click Cancel, correct the file, and re-upload.
  3. Click Import to proceed.

Hopshift creates all valid employee profiles immediately. If send_invite is true, each employee receives a welcome email with a link to set their password.


After Import

Once the import completes, you will see a summary:

  • Number of employees created
  • Number of rows skipped (with reasons)

Go to Group → Employees to verify the imported records. For Thai employees, confirm that national_id, birthday, and gender are filled before running payroll.

If you need to update existing employees in bulk (e.g. change salaries or departments), use the Export function to download current data, make changes, and re-upload. The system matches rows by email address and updates existing records rather than creating duplicates.


On this page