Data Import & Migration

Overview

Bring your people, departments, and time-off history across from your previous HR system — what can be imported, who can run an import, and the safety model behind it.

Data Import & Migration Overview

Data Import is the migration tool you use when BookYourPTO is not your first HR system. Instead of retyping your team member by member, you upload the export from your old platform — or connect to it directly — and BookYourPTO works out which column is which, shows you exactly what it is about to create, and only then writes anything.

Find it at Settings → Data Import.

Nothing is written until you approve the preview. Uploading a file, mapping columns, and generating a preview all happen without touching your live data. The database is only changed when you press the import button on the preview screen — and even then, a completed import can be rolled back.

When to use it

SituationUse Data Import?
You're moving from another HR or time-off platformYes — this is exactly what it's for
You're onboarding a whole department at once from a spreadsheetYes — the Employees import handles it
You want your historical vacation records to carry overYes — use the Leave History import
You're adding one or two new startersNo — add them from Managing Users
You want an ongoing two-way sync with your payroll systemNo — see Integrations

What you can import

Three data types, each with its own downloadable sample file:

Data typeWhat it createsRequired columns
EmployeesUser records, with departments and manager relationships resolvedFirst Name, Last Name, Email
Leave HistoryPast time-off requests against existing employeesEmployee Email, Leave Type, Start Date, End Date
DepartmentsDepartments with codes, descriptions, and a head of departmentDepartment Name

Employees is normally the first import you run, because Leave History has to attach to people who already exist in your organization.

Recommended order. Departments (optional) → Employees → Leave History. If you skip the Departments import, any department named in your employee file is created automatically during the Employees import.

What it will not import

Some columns are deliberately ignored, even if they're present in your file. When a header looks like it contains any of the following, it is auto-skipped and cannot be mapped to a field:

  • Social security / social insurance numbers, tax IDs
  • Salary, pay rate, hourly rate, compensation
  • Bank account, routing number, direct deposit, IBAN, SWIFT
  • Passwords, secrets, tokens

The mapping screen lists every skipped column so you can see what was left out. If you need compensation on file, add it through each employee's HR record — see HR Records.

Who can run an import

ActionRole required
Open Settings → Data ImportAdministrator / Executive
Upload a file and run an importAdministrator / Executive
Connect a platform directlyAdministrator / Executive
Roll an import backThe person who ran it, or an Executive

The whole area is restricted, not just the buttons that write: the import list, an import's progress and its row-level error report are all administrator and executive only, because the error report quotes the uploaded file and therefore colleagues' details. Anyone else who follows a link to it sees a not-found page.

Every import — and every rollback — is written to the audit log with the file name, row counts, and result. See Audit & Monitoring.

File formats and limits

LimitValue
FormatsCSV (.csv) and Excel (.xlsx, .xls)
Maximum file size25 MB
Maximum rows per file10,000
Imports started per hour5 per organization
Imports in progress at once5 per organization

If your file is larger than 10,000 rows, split it and run several imports — each one keeps its own history and its own rollback.

The safety model

Every import runs through the same four stages, and the first three are all read-only:

Upload  →  Map columns  →  Preview  →  Import
(read)     (read)          (read)      (writes)
  • Existing people and departments are skipped, not overwritten. If an employee email — or a department name — already exists in your organization, that row is recorded as Skipped and the existing record is left untouched. Nothing you import can silently overwrite an employee you already have.
  • Bad rows don't stop the import. A row that fails validation is recorded as an error with the reason and the row number; the rest of the file still imports.
  • Completed imports can be undone for 72 hours — see Rollback & Import History.

What happens to imported employees

Imported people are created as active employees with the Employee role and no usable password.

Whether they are emailed is your choice at import time. On the preview step you can tick Invite these employees to set up their accounts, which sends each person a link to choose a password and follows up if they don't use it. It is off by default, because an import is just as often a historical roster as a live workforce — and anyone whose employment end date has already passed is never emailed either way.

Leaving it off creates the records silently; you can still invite people individually later from Managing Users.

If you need someone to be an administrator, department head, or executive, change their role after the import.

Next steps