Skip to main content

Bulk Import Individuals

How to upload multiple employee profiles in one go.

Written by Tom Hext

Our Bulk Import feature allows you to quickly create multiple employee profiles in one go.

🧭 Step 1: Go to Bulk Import

Go to the individuals tab, select Add Individual and choose the option to bulk import.

📥 Step 2: Download the Import Template

Download the official CSV Import Template provided. This file includes all the required fields and correct headers for your upload.

Always download a fresh copy of the template rather than reusing an older file. The required columns have changed, so a file saved from a previous version may be rejected.

The import template will look like this:

✍️ Step 3: Fill in Employee Details

Enter the required information for each employee, following the formatting and rules listed below. Be sure to complete all mandatory fields.

You can import up to 100 rows per file. Nothing is saved until you press import, and your rows are kept if you refresh or close the window by accident.

Column Name

Required?

Format / Rules

Given Names

✅ Yes

Free text (e.g. John Peter)

Family Name

✅ Yes

Free text (e.g. Smith)

Email

✅ Yes

Must be a valid email (e.g. [email protected]). No duplicates allowed in the same file or system

Country of nationality

✅ Yes

The country name, spelled out (e.g. United Kingdom, Ireland, Nigeria, India). Nationalities and country codes are not accepted, so use United Kingdom rather than British, GB or GBR. Required on every row, including rows with no Role ID

DOB

❌ Optional

Format: DD-MM-YYYY or DD/MM/YYYY (e.g. 01-01-1990)

Phone

❌ Optional

At least 10 digits (e.g. 07123456789)

Role ID

❌ Optional

The numeric ID of an existing role in your account (e.g. 482). Find it in the ID column on the Roles table. The job description and SOC code are taken from that role automatically. Must be a positive integer and must belong to your account. Leave it blank to create the person without their employment details, and add the role later

Job Title

✅ Yes

Free text (e.g. Care Assistant)

Site Id

✅ Yes

A valid Site ID in the system (e.g. 646), found in Settings > Sites

Other Sites

❌ Optional

Semicolon-separated list of additional Site IDs (e.g. 261; 647). Leave blank if not applicable

Hours per Week

✅ Yes

Between 30 and 48 inclusive. Must be an integer or .5 increment (e.g. 30, 37.5, 48). Part-time and zero-hours rows are not supported yet

Hourly Rate

✅ Yes

Decimal number with up to 2 decimal places (e.g. 10.00, 35.5)

Current Visa Type

✅ Yes

One of: skilled_worker, skilled_worker_dependent, student, student_dependent, graduate, graduate_dependent, other, indefinite_leave_to_remain

Currently Sponsored

✅ Yes for Skilled Worker

TRUE or FALSE or YES or NO. Only Skilled Worker can be sponsored, so a row on any other visa type is imported as non-sponsored whatever you put here

Current Visa Expiry Date

✅ Yes unless ILR

Format: DD-MM-YYYY or DD/MM/YYYY. Required for all except indefinite_leave_to_remain

Employment Start Date

✅ Yes

Format: DD-MM-YYYY or DD/MM/YYYY

Note: Where you supply a Role ID, the row references that role rather than a SOC code. Set up the role first under Roles, then copy its ID from the ID column of the Roles table. Borderless pulls the job description and SOC code from that role, so you do not enter them in the file.

Country of nationality, and what changed

Country of nationality is now required on every row. It tells Borderless which compliance checks apply to each person, so it is worth getting right.

  • Use the country name in full, for example United Kingdom, Ireland, Poland, Nigeria or India.

  • Nationalities and country codes are rejected. British, GB and GBR will all fail, because British is not a country.

  • Column headings in the template are now in sentence case. Templates you downloaded before this change still import correctly, because heading matching ignores capitalisation and punctuation.

Importing people without a role

Role ID is optional. Leave it blank and Borderless creates the person on their own, without their employment details, so you can get your list of people in first and attach roles afterwards. Country of nationality is still required on those rows.

💾 Step 4: Save Your File as .csv

Once you've added all employee details, save the file in .csv format. This format is necessary for a successful upload.

📤 Step 5: Upload the CSV File

Return to the Bulk Import section and upload your saved .csv file.

🛠️ Step 6: Resolve Any Errors

Your file appears as an editable table. Any validation errors, such as missing required fields or duplicate data, are marked against the row and column they belong to. Correct them directly in the table rather than editing your spreadsheet and re-uploading.

Your rows stay in place while you fix them, and you can use Reset next to the upload button to clear the table and start again.

Role ID errors you may see:

  • "Role ID must be a positive integer (got "x")." when the value is not a whole number.

  • "Role with ID N not found." when no role with that ID exists in your account. A Role ID from another account is rejected as not found.

✅ Step 7: View Your Individuals

Once the file has been successfully uploaded and processed, all imported employees will automatically appear in the Individuals tab.

💬 Need help or an update? - Open the Support tab at the bottom right of your screen to contact our team directly.

Did this answer your question?