# Import your roster from a CSV

> Bring an existing employee list into WorkSkedge in one pass: the columns that matter, what happens to unknown departments, and how duplicates are handled.

- Product: WorkSkedge
- Section: Employees & Skills
- Canonical: https://workskedge.com/help/people/import-your-roster-from-csv
- Updated: 2026-08-31T19:22:16.512084+00:00
- Source: EMPLOYEE-MANAGEMENT.md
- Keywords: import employees csv, workskedge bulk import, employee csv template, roster import, emp_number, duplicate employee email

## Steps

1. Export your current employee list to CSV.
2. Map your columns so emp_number, name and email are present for every row.
3. Add any optional columns you already have, such as phone, role, department and start date.
4. Open Employees under Resources and choose the import option.
5. Upload the file and review the validation report.
6. Fix any rejected rows - usually duplicate emails or employee numbers - and re-upload just those.
7. Set roles and designation flags on the imported records, then send invitations to whoever needs a login.

## Before you start

CSV import is an Administrator or Manager task, and it is the fastest way to stand up a roster during onboarding. Export your current list from payroll or a spreadsheet first, then map it to the columns below.

## Required columns

- **emp_number** - your employee number. It has to be unique inside your company.
- **name** - the person full name.
- **email** - required, and unique inside your company.

## Optional columns

phone, role, department, start date, birthday, address, city, province or state, postal code, country, travel availability and the designation flags. Anything you leave out can be filled in later on the employee record.

## How rows are handled

- A department name that does not exist yet is created automatically, so you do not have to pre-build the department list.
- Rows with a duplicate email or a duplicate employee number are rejected rather than merged - the uniqueness rules are enforced per company.
- A row that fails validation is reported with its reason; the rest of the file still imports, so you can fix and re-upload just the failures.

## After the import

- Review the roster and set roles where the file did not carry them, because access comes from roles.
- Set the designation flags for anybody who needs to be assignable as a project manager, site lead or site worker.
- Send invitations to the people who need a login - importing an employee record does not create a user account.

## Common errors

- **Duplicate email** - that address is already on another employee in your company. Search the roster; the person may already exist.
- **Duplicate employee number** - emp_number collides with an existing record. Renumber the row.
- **Missing required column** - the file needs emp_number, name and email present for every row.
- **Phone rejected** - phone numbers are stored as 10 digits, so strip extensions and dial-code prefixes before importing.

## Related articles

- [Add an employee and complete their profile](/help/people/add-an-employee-and-complete-their-profile)
- [Roles, departments and who can do what](/help/people/roles-departments-and-permissions)
- [Set up your company foundation](/help/getting-started/set-up-your-company-foundation)

## FAQ

### Which columns are mandatory?

emp_number, name and email. Everything else is optional and can be completed later on the employee record.

### Do I have to create departments before importing?

No. A department name that does not exist yet is created automatically during the import.

### What happens to a duplicate email in my file?

The row is rejected. Emails are unique per company, and the import does not merge into an existing employee.

### Does one bad row stop the whole import?

No. Valid rows import and failures are reported with a reason so you can fix and re-upload them.

### Does importing send logins to everybody?

No. The import creates employee records only. Invitations are sent separately, per person.
