Import employees from a file
Download the import template, fill it in, upload it, fix any bad cell in the preview, and import new people, changes to existing employees and leavers in one reviewed step.
Importing a file lets you add or update many employees in one go. You start from a template that already lists everyone in the company, make your changes in a spreadsheet, upload it, and check a preview of exactly what will change. Nothing is saved until you review and confirm. This article covers the whole flow: the template, formatting the file, the preview, adding new people, updating existing ones, terminating leavers, and fixing the problems you might hit on the way.
To add just a few people, typing them in is quicker. See adding and editing employees.
Where to find it
In the webapp, open the HR menu, select Add / Manage Employees, then select Import a file. The page shows three steps:
- Download the template: it already lists everyone in the company.
- Add or change rows: add new people at the bottom, and edit anyone above.
- Upload and check: you see every change before anything is saved.
Employees are matched by employee number. A row whose number already exists updates that person; a row with a new number adds a new person. Changing someone's employee number is treated as removing the old person and adding a new one.
Leave the column names in the header row unchanged. A renamed column is read as missing, which stops the upload. Adding rows and editing values is exactly what this flow is for.
Step 1: Download the template
Select Download template. The file contains your current employees as a starting point, so you can add new rows, edit existing ones, or leave people out.
The Excel file has two worksheets:
- Employees: one row per current employee, filled in with their details. If you have no employees yet, this sheet holds one example row you can overwrite or delete.
- Instructions: a reference sheet listing every column, whether it is Required, a short description, and the expected Format (for example
Text,Number,EmailorDD/MM/YYYY). It is the quickest way to check a column you are unsure about without leaving the file.
The columns in the template
Every template has the same base columns, in this order. All are required except gender:
- employeeNumber, firstName, lastName, email, personnummer, dateOfBirth
- gender (optional)
- jobTitle, annualSalary, pensionableSalary, taxTable, employmentRate, benefitAllowance, startDate
- address, postalCode, city, country
A few notes on format:
- Dates (dateOfBirth and startDate) use DD/MM/YYYY, for example
07/03/1990. - gender is Female, Male or Other, or empty. The file may also say
f,kvinna,m,manorannan(in any case); CLVR stores it as Female, Male or Other. - email may be written in any case. CLVR stores every address in lowercase, so
Anna.Svensson@Company.seis saved asanna.svensson@company.se, and the person signs in however they type it. An address with a space or a letter outside a-z (such as å, ä or ö) cannot be used to sign in, so CLVR points it out. - personnummer may be written with 12 or 10 digits, with or without the dash, for example
19900307-1234,199003071234,900307-1234or9003071234. CLVR stores it asYYYYMMDD-NNNN. Write+instead of the dash for someone aged 100 or more. - employmentRate is a percentage, for example
100for full time. - employeeNumber is how CLVR matches a row to an existing employee, so keep it stable.
If your company uses custom employee fields, the ones in use are added as extra columns after the base columns, and listed on the Instructions sheet. You do not need to add them by hand.
Step 2: Add or change rows
Add new people as new rows at the bottom. Edit any value on an existing row to update that person. Leave out a row, or delete it, if that person has left: you choose what happens to them in the preview.
Most problems with an import come from a few spreadsheet formatting mistakes, not from CLVR. A few minutes on the file up front saves a round of fixing.
- Keep the header row exactly as it is. Columns are matched by their header names, so a renamed column reads as missing and stops the upload. Reordering columns is fine; renaming is not. Start from a freshly downloaded template rather than building the header row by hand.
- Fill in every required cell. gender is the only base column that may be left blank. Watch for cells that look filled but contain only spaces: those count as empty.
- Write amounts the way you normally would. annualSalary, pensionableSalary and benefitAllowance are yearly amounts in your company's currency.
540000,540 000,540 000,50and540 000 krall work.540,000and540.000are refused, because they could mean 540 thousand or 540: write thousands with a space and öre after a comma. In Excel, an amount stored as a number is read as that number. For employmentRate, use100for full time; an Excel cell formatted as a percentage (100%) is read as a percentage. - In a comma-separated CSV, put amounts with a decimal comma in quotes.
540 000,50without quotes splits into two cells and shifts every later column, so CLVR refuses a row whose number of cells does not match the header. Saving the CSV with semicolons avoids this. - Use DD/MM/YYYY for dates. Day first, then month, then the four-digit year, or a date may be misread.
- Keep employee numbers and emails unique. Each employeeNumber and each email must appear only once in the file, and an email cannot already belong to a different employee.
- Save as .xlsx or .csv. For CSV, save as CSV UTF-8 so Swedish characters survive. In an Excel file, CLVR reads the first sheet that is not the Instructions sheet, so you can keep that reference sheet in the workbook.
Spreadsheet apps can quietly change data when they save: dropping the leading zero on a postal code, turning a long personnummer into scientific notation, or reformatting a date. Format personnummer, employeeNumber and any column with leading zeros as Text before saving (in Excel: right-click the column, then Format Cells, then Text). The raw file is often correct even when Excel displays it oddly, so when in doubt open the saved file in a plain text editor to check.
Step 3: Upload and check
Drag your file onto the upload area, or click it to browse for the file. CLVR reads it straight away. A bar then shows the file's name and how many rows it has, with Use another file if you picked the wrong one.
If the file itself cannot be used, CLVR says why and shows no preview. That happens when columns are missing, when rows have more cells than the header, or when the file cannot be read at all. Fix the file and upload it again. The Troubleshooting section below explains each case.
The preview
A file CLVR can read opens a preview in three groups, each with a count:
- New: people in the file who are not in CLVR yet. Each one shows their row in the file, their job title and start date, the allowance they will get, and when their welcome email goes out.
- Updated: existing employees whose details differ from the file. Each change is listed as the field, the old value and the new value, for example "Annual salary: 498 000 kr → 612 000 kr".
- Not in the file: current employees the file leaves out. Nothing happens to them unless you tick them.
If the file matches your current data exactly, CLVR says "This file matches the employee list, so there is nothing to import." It is safe to upload a file just to check your data is in sync.
Fix a bad cell in the preview
Any other problem is shown on the row it is in, with a box to correct the cell and a note saying how to write it. For example:
- an empty required cell: "This is required. Fill it in to import the row.";
- an amount, date, gender, email or personnummer CLVR cannot read, such as "Check the date. Write it as DD/MM/YYYY, for example 01/03/2026.";
- an employee number on two rows, or an email someone else already has, in the file or in the company;
- a custom field value the field cannot hold.
Type the right value in the box. CLVR checks it again as you type and shows Fixed once it reads. The correction is used for this import only; your file does not change, so fix the file too if you will upload it again.
You cannot import while a row still needs fixing. The bar at the bottom says how many rows are left to fix.
Updating existing employees
Editing values in your file updates the matching employees in place, so you never create duplicates.
- Only fields that actually differ are listed, so a person with one changed cell shows just that one change. This is your chance to catch a typo before saving.
- Changing an employee's email, first name or last name updates their employee record and their sign-in account together. The new email becomes the address they sign in with.
- A blank cell overwrites the stored value. Clearing a custom field in the file empties it for that person. Required columns cannot be left blank.
When an import changes someone's email, the preview adds "This is their login email." under the change, and the bar at the bottom warns you too. The review names the person again: "The email is how they sign in. They use the new address from now on." Make sure the new address is right before you import.
Terminating employees who are not in the file
When your file leaves out current employees, CLVR does not assume you want to remove them. Each one is listed under Not in the file with their job title and an unticked box, marked Stays as they are.
Tick someone to terminate them. Their line changes to Terminated with today as the last day. When you import, everyone you ticked:
- gets today as their termination date and loses access to CLVR Benefits straight away, the same as a backdated termination set from their own record;
- has their allowance pro-rated or kept at the full amount according to your company's Pro-rate when someone leaves setting on Allowance settings;
- is checked for an overused allowance, the same as a single termination, and flagged to your HR team if they spent more than their reduced allowance.
Employees who are already terminated are never listed, so you can upload a current-employees-only file as often as you like without re-flagging people you offboarded earlier. An import cannot fully delete an employee; to remove someone completely, contact us.
Being missing from the file does nothing on its own. Nobody is terminated until you tick them and import. This is deliberate, so a partial file (for example, a list of one department) never quietly removes everyone else.
New people's allowance and welcome email
New people's allowance follows your company's Pro-rate for new employees setting on Allowance settings: someone starting partway through the period gets the part of the period they are actually here. The preview shows the amount each person will get. Each new person gets a Welcome to CLVR Benefits email, sent straight away or on the morning of their start date if they have not started yet.
Extra columns your file has beyond the template's are saved as custom fields.
Review and import
While a file is loaded, a bar at the bottom of the page sums up the import, for example "2 new · 3 updated · 1 terminated". Discard drops the file. Review and import opens the review.
The review lists everyone who will be added, updated and terminated, and says that welcome emails follow the start dates. If a login email changes, it names that person with a warning. Select Back to make changes, or Import to save everything.
When the import is done, a confirmation says how many changes were saved.
Before saving, CLVR reads the whole file again. If the employee list changed while you were reviewing and some cells no longer pass, nothing is saved, and the message Nothing was imported says so. An import is never half done.
Troubleshooting
Problems that stop the upload. These need a fixed file. Upload it again once it is fixed.
- Columns are missing. One or more template columns are not in the file, almost always because a header was renamed. The message names each missing column. Change the header back to its original name (reordering is fine), or paste your data into a freshly downloaded template.
- Rows have more cells than the header. An amount with a decimal comma, such as
540 000,50, in a comma-separated file splits into two cells and shifts the columns after it. Put amounts in quotes, or save the file with semicolons. - That file type cannot be imported. Save it as .xlsx or .csv.
- CLVR could not read the file. For a CSV, save it again as CSV with UTF-8 encoding. For an Excel file, check that it opens in Excel. If it does not, export it again from a clean copy rather than re-saving the damaged file.
- The workbook has no sheet of employees. Put the employees on the first sheet. CLVR skips the Instructions sheet.
Problems shown on a row in the preview. Fix these in the box on the row, or in the file.
- A required cell is empty. Required fields include employee number, name, email, date of birth, job title, salary, employment rate, benefit allowance, start date and address details; in Sweden also personnummer, pensionable salary and tax table. A cell holding only spaces counts as empty.
- An amount could not be read. The usual cause is
540,000or540.000, which could mean 540 thousand or 540: write540000or540 000instead. An amount in another currency than your company's, or a negative amount, is refused too. - A date could not be read. Write it as DD/MM/YYYY, for example
01/03/2026. - A gender could not be read. Write Female, Male or Other (or one of the short forms above), or leave the cell empty.
- An email or personnummer could not be read. Write an email as
name@company.se, with no spaces and no letters outside a-z, and a personnummer asYYYYMMDD-NNNN. - Another row has this employee number. Give each person their own, correct number.
- Someone else has this email, in the file or in the company. Two people cannot share one email. If the email already belongs to an existing employee with a different employee number, a number was usually mistyped: fix the number so the row updates that person, or fix the email. Upper and lower case count as the same, so
Anna@example.seandanna@example.seare one address. - A custom field cannot hold that value. Write it the way the field takes it, for example a date as a date or one of a list's choices.
Other problems.
- The Review and import button stays off. A row in the preview still needs fixing. Correct the cell on that row.
- "Nothing was imported" after I selected Import. The employee list changed while you were reviewing, for example because a colleague added someone, and some cells no longer pass. Fix them in the file and upload it again.
- A spreadsheet stripped my leading zeros or changed a personnummer. Format those columns as Text before saving, and prefer CSV UTF-8.
- Someone is under "Not in the file" by mistake. They are simply not in this file. Leave them unticked and they stay as they are, or add them back to the file (matched by employee number) and upload it again.
- Someone I meant to edit shows up as new. Their employee number in the file does not match the one stored in CLVR. Restore the original number so the row updates the existing person.
- I need to fully delete an employee. Full deletion is not available in CLVR. Terminating is the offboarding path; contact us if records must be removed entirely.