Skip to content
NovroNovro hjälpcenter
English
Esc
↑↓navigera↵öppna⌘Jförhandsvisa

Smart import and export (column picker + preview)

Smart import and export (column picker + preview)

Import and export of employees is under Settings → Admin Controls & User Access, with a column picker on export and a preview before import.

Export with a column picker: click Export to open the picker, tick the columns you want. EMAIL is always included (the match key) and can’t be unticked. Custom fields appear as “CF: ” so they are included in the export (previously custom fields were dropped). The export contains the rows you currently see on the Organization page, honouring active filters and sorting, not the whole roster. Your column choice is saved in the browser for next time. You can download either Excel (.xlsx, the main button) or CSV — both use the same rows and column choice. The CSV file is semicolon-separated (;) and UTF-8 with a BOM, so Swedish (and other European) Excel opens it with one column per field and reads accented characters correctly. The import detects by itself whether a CSV file uses semicolons, commas or tabs.

Import with a preview: pick a CSV or Excel file (.xlsx). .xlsx files are read directly in your browser and then run through exactly the same validation as CSV, so the result is identical regardless of file format. Real Excel date cells are translated automatically to YYYY-MM-DD. The server validates the file against your current roster and shows a preview before anything is written — nothing is saved at this step. Column headers are auto-recognized (including Swedish names such as e-post, avdelning, kön, jobbkategori). Each row is classified as New, Updated (showing which fields change: before → after) or Unchanged. Two severities are shown: errors (block the row — e.g. an invalid email, an in-file duplicate, an unknown STATUS value, a manager that doesn’t exist) and warnings (allowed — e.g. “a new department will be created” or a gender that was coerced). The Confirm import button is disabled while any error exists. When there are valid rows next to the errors, an “Import X valid rows, skip Y” button appears instead: it asks first and then imports only the error-free rows. “Download error report” gives you a CSV file with every error and warning and the row number in your file, so you can fix and re-import the skipped rows. Rows cannot be skipped in sync mode (a skipped person would otherwise be deactivated) — there the file must be clean. When you confirm, the regular import runs (add/update on EMAIL).

Values Excel users type: STATUS, EMPLOYMENT TYPE and LÖNEREVISION accept any casing and Swedish words — for example aktiv/inaktiv/introduktion, intern/extern/konsult, ja/nej/ej aktuellt — and store the standard value (Active, External, Nej …). Gender also accepts e.g. kvinna/man and Danish, Norwegian and Polish words. Amounts are read with thousands separators: 32.500, 32,500 and 32 500 become 32,500 and 1.234,50 becomes 1,234.50, while 32500,50 and 32500.50 are decimals. A monthly salary below 1,000 (SEK, DKK, NOK, PLN) or below 100 (EUR, GBP, USD) gets a “Check the salary” warning — usually a lost thousands separator or an hourly rate. A legal entity or job category that matches none configured is ignored with a warning: the employee keeps their current value, nothing is overwritten or cleared. The Excel template has dropdowns for gender, STATUS, EMPLOYMENT TYPE, LÖNEREVISION, currency, INCLUDE IN ANALYSIS and legal entity (your organization’s own entities).

Row numbers and messages: the Row column in the preview shows where the row is in your own file. For Excel it gives the sheet name and the Excel row number, for example “Anstallda!row 14”; for CSV it gives the line number in the file, for example “row 14”. The header row is counted, and blank rows or the template’s example row (which is skipped) do not shift the numbers of the rows after them. All errors and warnings are shown in your chosen language.

Employment rate (FULL-TIME EQ.): stored as a fraction where 1 = full-time and 0.8 = 80 %. You can give it as a fraction (0.8) or as a percentage (80, 80 %, 80,5) — a value above 2 (or with a % sign) up to 100 is read as a percentage and converted to a fraction. The preview shows every conversion on its row (e.g. “Read as a percentage: 80 → 0,8”) plus a summary above the table, so you see exactly what will be stored. Values of 0 or below, above 100, or that aren’t numbers block the import for that row. Employees who already have a percentage stored from an earlier import (e.g. 80) are still counted as 80 % in the pay-equity analysis; re-import the file to correct the stored value too — the preview then shows the change 80 → 0.8.

Salary effective date (SALARY EFFECTIVE FROM, optional): the date the row’s BASE SALARY took effect, YYYY-MM-DD (the other import date formats work too). The column is in the full import template and is recognized under headers such as Salary effective date, Effective date, Lönedatum or Gäller från. With a date, the salary is also saved as a dated entry in the employee’s salary history (the same history as on the Salary tab), so reports that price pay on a given date — such as the Danish pay statistics — can use imported pay. Without a date: an employee with no salary history gets the salary stored as before. An employee who already has a salary history (the current salary is then always read from it) gets the new salary saved as a history entry that applies from today, and the preview says “the new salary applies from today (no date given)”. Before, such a change showed as Updated but never took effect. Give a salary effective date if the salary should apply from another date. The date needs a BASE SALARY above 0 on the same row. An unchanged salary is not added again: if the salary in force on that date is already the same amount, no new entry is created, so you can import the same file several times. The same date with a new amount replaces the entry for that date. A future date is stored and takes effect on that date; until then the current salary stays in use, and the preview shows a warning about it. The column follows the same permission as BASE SALARY (someone who may not edit salaries gets no history entry), and a change in a pay month that has already been exported to payroll needs payroll permission and is logged. If salary history is turned off for the organization, rows with a salary effective date are blocked. The column is not in the pay-equity template, because the Swedish pay-equity analysis works from current pay.

Job categories in the Excel template: when job categories are in use and you may see them, the Excel template and the current-staff export get an extra sheet listing every valid job category (full path and level). The JOB CATEGORY column on the first sheet then has a dropdown with those paths, so you can pick instead of typing. The dropdown warns but does not stop you if you type something else — the import warns about a path that doesn’t exist and never creates new categories. The current-staff export fills in each employee’s job category, so the assignment is kept when you import the file again.

File size and limits: an import file may be at most 20 MB and hold at most 5,000 employees (plus the header row and the template’s example row) and 500 columns. A larger file is stopped at once with a message saying what to do — it is never read into the browser. An Excel file that unpacks to far more than its own size (for example large images on the staff sheet, or hundreds of hidden parts) is stopped too: save only the staff sheet as a new file, or as CSV, and try again. Other sheets and images in the workbook are not read at all. When you confirm, the server checks every row again with the same rules as the preview before anything is saved: an error on any row stops the whole import and nothing is written. Job categories are only saved while the Job categories feature is turned on. When it is off, the JOB CATEGORY column is ignored with a warning and the employee’s current value is kept.

Sync mode (deactivate missing — optional): below the import/export buttons there is a “Sync mode: deactivate employees missing from the file” checkbox. It is off by default — a normal import never removes anyone. Tick it before choosing a file and the preview also computes who is in the roster but absent from the file, and would therefore be deactivated (lose access). You see exactly who, by name and email, plus a red summary with the count. Employees who are already deactivated are not counted (there is nothing to lose). When you confirm, a clear danger dialog lists precisely who will be deactivated and requires an extra approval before anything changes. Deactivation means the person loses access but stays in the roster; it cannot be undone from here.

The Excel export and the Employees list: the export is now also on Organization → Employees (the Export (Excel) and Import buttons, for users who may import). It is the same export as in Settings, and next to the buttons you see how many rows are included, for example “12 of 40 rows – filter active” when a filter is on. In the Excel file amounts are real numbers and dates real dates (YYYY-MM-DD), the header row is bold and frozen, and columns are sized to their content. The export includes JOB CATEGORY, so you can export, edit and import back without unintended changes — an unchanged file gives only Unchanged rows. The template gets Swedish column headers (E-post, Namn, Grundlön …) when the app is in Swedish; English headers keep working. An Excel date that became text (for example 43845) is read as a date (2020-01-15); other plain numbers in a date column are rejected rather than misread. Custom fields are recognized without the “CF:” prefix even if you have not opened the Employees page first. Large imports are saved in batches of 250 rows. If a batch fails, the earlier ones are already saved: the error says how many and which rows were saved, and you can import the file again — saved rows then show as unchanged. Error messages from the server are shown in your chosen language.

Was this page helpful?