Skip to content

Use CSV import and export

Every flat list page in SteadyOn has matching CSV import and export. The export gives you exactly what’s on screen (filters, columns, sort) as a spreadsheet; the import accepts the same shape back.

  1. Open the list page (e.g. Hazards).
  2. Set up the view you want:
    • Apply filters (BRAG, Status, Site).
    • Pick columns and order them with the column chooser.
    • Search if you only want a subset.
    • Sort the list.
  3. Click the kebab menu (⋯) at the top right → Export CSV.
  4. The download starts.

The CSV has one row per entity, columns matching what was on screen.

  1. Open the same list page.
  2. Click the kebab menu (⋯) → Import CSV.
  3. Step 1 — Upload. Drop in your CSV file.
  4. Step 2 — Map. SteadyOn auto-matches your columns to the destination fields by name. Review and adjust the dropdown for any column that didn’t match. Mappings are remembered for next time.
  5. Step 3 — Validate. SteadyOn checks every cell against the destination’s rules. Errors are listed inline; you can fix them in the spreadsheet and re-upload, or commit only the valid rows.
  6. Step 4 — Done. Imported rows appear in the list.

Imported rows carry your name as creator and the import time as created-at. Each row gets an audit log entry: “Imported via CSV — .

EntityExportImport
Hazards
Incidents
Actions
Roles
People
Training courses
Sites(deferred)
Inspections(deferred)
Documents(deferred)
  • Round-trip your data first. Export a list, change one row, re-import. This is the fastest way to confirm the shape your CSV needs.
  • Validate before committing. The validate step catches almost every bad cell. Don’t be afraid to fix and re-upload — nothing is written until you click Commit.
  • Import people with email matches. If a person’s email matches an existing member’s, the import links them automatically.
  • It doesn’t update existing rows (no upsert by ID). Each import creates new rows. To update, edit them in the app or via API.
  • It doesn’t import attachments. Photos and files have to be uploaded interactively.
  • It doesn’t import cross-links. Add those separately on each entity’s Related tab.