QEHSQEHS

migration

Importing data from CSV

The generic CSV importer for bringing legacy records into any QEHS module. Field mapping, data types, validation, and dry-run preview.

10 min read · 3 sections

Prepare your CSV

  • UTF-8 encoding, comma-separated, one header row.
  • Dates in ISO 8601 (YYYY-MM-DD) or your locale format (auto-detected).
  • Booleans as true/false, yes/no, or 1/0.
  • Lookup references by display-name; the importer resolves to internal IDs.
  • Location as path, e.g. "Global › North America › Plant 1 › Line A".

Import flow

  1. Open the module → ⋯ menu → Import.
  2. Upload the CSV. The importer parses the header and suggests field mappings.
  3. Review mappings. Unmapped columns show a warning; you can drop or create a new field on the fly.
  4. Run a dry run. The preview shows N rows, X errors, Y warnings — every error is row+column specific.
  5. Commit. Imported rows are tagged with the import batch ID so you can roll back if needed.

Common issues

SymptomCauseFix
"Lookup not found"Typo or missing lookup rowAdd the lookup row first or allow auto-create
"Date invalid"Excel stored as numberReformat the column as Text before export
"User not found"Person field expected an emailMap to userEmail column or invite missing users
"Duplicate external ID"Re-running the same importUse the "Skip duplicates" option
BOM charactersSome Excel exports add BOMSave as "CSV UTF-8 (Comma delimited)"
Tags: csv · import · migration · bulk