Skip to content

Import records from a file

Import brings records in from a spreadsheet or data file in bulk, rather than one at a time. The dry run validates the whole file and writes nothing, which is the step that turns a risky bulk operation into a readable report.

Required role: Administrator.

Have the file ready, with a header row whose column names you can read. Files can be CSV, XLSX, or JSON, up to 50 MB.

Import into an empty or well-understood dataset. Importing employees over an existing directory is where the duplicate-handling decision below stops being theoretical.

  1. Go to Integrations → Import.
  2. Under Entity, pick the type of records you are importing.
  3. Under Upload, choose the file. The Format is detected from the file extension; override it only if the file is misnamed.
  4. Under Mapping, add a Field Mapping row for each column that needs mapping.
  5. Under Options, set Skip Duplicates, Update Existing, and Dry Run.
  6. Select Run Dry Import.
  7. Read the counters and the validation errors, and fix the file.
  8. Re-run with Dry Run off, using Start Import.
OptionDescription
EmployeesEmployee records.
DepartmentsDepartments.
PositionsPositions.
SkillsSkills for the library.
CompetenciesCompetencies.
CoursesCourses.
Job ProfilesJob profiles.

Import in dependency order. Departments and positions before employees, because an employee record refers to them.

Example: importing HC Corp’s 88 employee rows before its five departments exist leaves every row without a department, and fixing that afterwards is a second import.

A mapping row connects a column in your file to a Humavera field. The screen states the rule that catches people out: column names must match your file’s header row exactly. Leave the mapping empty to use the default field matching.

Check the exact header text, including capitalisation and stray spaces. A column named Employee Email with a trailing space does not match Employee Email.

This is the decision that determines whether an import is safe to repeat.

OptionDescription
Skip DuplicatesRows whose key matches an existing record are skipped.
Update ExistingChanges are applied to records that already exist.
Dry RunThe file is validated and no data is written.

The two duplicate options answer opposite questions. Skip Duplicates protects existing records and means a re-run adds only what is new. Update Existing makes the file authoritative and overwrites what is already there.

Example: re-running HC Corp’s employee file with Update Existing on overwrites every record from the spreadsheet, including any correction somebody made in Humavera since. With Skip Duplicates on, the same re-run adds only genuinely new people and leaves the corrections alone.

Decide which of those you mean before the run, not after.

Dry Run validates the file and writes nothing. The result reports Total, Processed, Successful, and Failed, plus a list of validation errors giving the Row, Field, Value, and Error for each one.

That list is the point of the dry run. Fixing twelve rows in the file before anything is written is a different exercise from finding twelve broken records afterwards.

When a dry run completes, the screen states plainly that no data was modified and offers to re-run the same file for real.

Example: a dry run of HC Corp’s employee file reporting 84 successful and 4 failed, with the failures naming a malformed start date, is four cells to fix. Running it directly would have created 84 employees and left four people missing, discovered later by whoever noticed.

A real import queues and processes, and the same counters report what was written. Failed rows are listed with their reasons and are not written — fix them and import only those rows rather than re-running the whole file, unless you set Update Existing and mean it.

Check the imported records in the relevant section afterwards. An import that reports success has written what the file said, which is not the same as what you meant.