Hopshift
Employees

Importing Employees

Bulk-import employees from an Excel 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 checks every row before anything is written, then creates or updates the profiles in bulk.


Before You Start

The template references companies, departments and positions by name:

  • Companies: each row must match a company name in your group. The template offers them as a dropdown.
  • Departments and Positions: matched by name (case-insensitive) within the employee's company. If a name does not match, the import does not fail: the assistant shows a Match to Existing Data step where you pick an existing value or create the new one on the spot.

Step 1: Download the Template

Import button on the Group Employees page

  1. Go to Workforce > Employees.
  2. Click Import (top-right, next to Export and Add Employee). The Import Assistant opens.
  3. Choose Get a template, then Download template.

The file is employee-import-template.xlsx. It has an Instructions sheet, an example row on the data sheet, dropdowns for Company, Department, Status, Employee Type and Gender, and a tooltip on every column header. Overwrite the example row with your own data.


Template Columns

Column headers are in plain English, in this order: Employee ID, Company, Works At, First Name, Last Name, Nickname, First Name (TH), Last Name (TH), Title (TH), Email, Phone, Status, Employee Type, Department, Position, Hire Date, Base Salary, Bank Name, Bank Account No, National ID Number, SSO Number, Tax ID, Gender, Birthday, Nationality, Contract End Date, Probation Days, Emergency Contact Name, Emergency Contact Number, Emergency Contact Relation, Address.

The ones that matter most:

ColumnRequired for new rowsNotes
CompanyYesPick from the dropdown
First NameYesLegal first name in English
Last NameNoLegal last name in English
EmailYesUnique per company. Used to match the row to an existing employee
Employee IDNoLeave blank for new employees. When updating, keep the value exactly as exported
Works AtNoRead-only. Intercompany assignments are managed on the Employment page, not by import
Hire DateRecommendedYYYY-MM-DD
Employee TypeNofull_time, part_time, contract, or intern
StatusNoACTIVE, INACTIVE, TERMINATED, or ON_LEAVE
Department, PositionNoMust match an existing name in that company, or resolve them during import
Base SalaryRecommendedNumeric, no currency symbol (e.g. 35000)
National ID NumberRecommended (TH)13-digit Thai national ID. Needed before payroll can be finalized
GenderRecommended (TH)M, F, non_binary, or prefer_not_to_say. Needed before payroll can be finalized
BirthdayNoYYYY-MM-DD
PhoneNoInclude the country code (e.g. +66812345678)

There is no invite column. Invites are offered as a button at the end of the import.

For Thai companies, fill in National ID Number and Gender at import time. Employees missing either field block payroll finalization and will need to be updated individually afterwards. Birthday is not required to finalize.


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 are matched case-insensitively. A value of kitchen will match a department named Kitchen.
  • An email that already exists in the same company means an update, not an error. The row's values are written over the existing record.
  • An email that exists at another company in your group is treated as a transfer and needs your confirmation before anything happens.
  • Leave optional columns blank: do not delete the column headers.

An email that already exists at another company in your group is treated as a transfer, not a new hire. Confirm transfers only if the person really moved company.

Keep the Employee ID column exactly as exported when updating. It is how rows are matched to existing employees; a changed ID creates or mismatches a record.


Step 3: Upload and Validate

  1. Go back to Workforce > Employees and click Import.
  2. Choose Upload a file and select your completed template. You can also Paste from spreadsheet or Upload a screenshot.
  3. The assistant runs a dry run over every row before importing anything and replies "I've validated your data. Here's a summary".

The summary lists:

  • New employees that will be created
  • Updates to existing employees, with the changes shown
  • Transfers detected between companies (Confirm transfers or cancel)
  • Blank cells on existing employees where a value already exists: you tick the ones you really want cleared
  • Departments or positions that need resolving
  • Errors and warnings, row by row

Depending on what it found, the buttons are Continue with N valid rows, Fix and retry, Apply fixes & re-validate, or Skip N errors & continue.

Blank cells on an existing employee do not wipe data automatically. The assistant lists every blank-over-value and you tick the ones you want cleared.


Step 4: Confirm Import

Once you are happy with the summary:

  1. Click Continue with N valid rows if you want to leave error rows out, or fix the file and re-upload.
  2. Click Import N records.
  3. Optionally choose Send invite emails too. Each new employee receives a sign-in link; there is no password to set.

After Import

The assistant reports "Import complete" with a short summary and offers View team or Import more.

Go to Workforce > Employees to verify the imported records. For Thai employees, confirm that National ID Number 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. Rows are matched by Company + Email first, then by Employee ID, and existing records are updated rather than duplicated.


On this page