Overview
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.
When to use it
| Situation | Use Data Import? |
|---|---|
| You're moving from another HR or time-off platform | Yes — this is exactly what it's for |
| You're onboarding a whole department at once from a spreadsheet | Yes — the Employees import handles it |
| You want your historical vacation records to carry over | Yes — use the Leave History import |
| You're adding one or two new starters | No — add them from Managing Users |
| You want an ongoing two-way sync with your payroll system | No — see Integrations |
What you can import
Three data types, each with its own downloadable sample file:
| Data type | What it creates | Required columns |
|---|---|---|
| Employees | User records, with departments and manager relationships resolved | First Name, Last Name, Email |
| Leave History | Past time-off requests against existing employees | Employee Email, Leave Type, Start Date, End Date |
| Departments | Departments with codes, descriptions, and a head of department | Department Name |
Employees is normally the first import you run, because Leave History has to attach to people who already exist in your organization.
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
| Action | Role required |
|---|---|
| Open Settings → Data Import | Administrator / Executive |
| Upload a file and run an import | Administrator / Executive |
| Connect a platform directly | Administrator / Executive |
| Roll an import back | The 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
| Limit | Value |
|---|---|
| Formats | CSV (.csv) and Excel (.xlsx, .xls) |
| Maximum file size | 25 MB |
| Maximum rows per file | 10,000 |
| Imports started per hour | 5 per organization |
| Imports in progress at once | 5 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
- Importing a File — the four-step wizard, start to finish
- Supported Platforms — the 48 platforms recognized automatically
- Direct Connections — import without exporting a file at all
- Troubleshooting — what each import error means
Integrating Your Own MCP Client
Build a custom MCP client that connects to the BookYourPTO MCP server using the Streamable HTTP transport.
Importing a File
The four-step import wizard — choosing your old platform, uploading a CSV or Excel file, mapping columns, reviewing the preview, and running the import.