Skip to main content
ION’s import feature lets you upload a CSV file to create or update records in bulk. Instead of entering data one row at a time through the UI, you can prepare a spreadsheet offline and import it all at once.

How imports work

To start an import, navigate to Imports in the sidebar, then pick an import type from the New Import tab. The importer cards are grouped by category — Production, Supply Chain, Quality, and OS — to match where each record type lives in ION. Imports are processed asynchronously — you can navigate away and continue working while the import runs. You will receive a notification when the import completes or fails.
New Import tab showing importer type cards for MBOMs, Parts, Inventory, Purchase Orders, Locations, and more
Clicking Start Import on any card opens an upload modal where you can download the CSV template, toggle the importer’s options, and choose Validation only for a dry run. The option set varies by importer — the MBOM modal is shown below as an example.
Import MBOMs modal with CSV upload area, template download link, and per-importer options including Validation only
Imports are all-or-nothing. If any row fails validation, no rows are written and you receive an error report. You never end up with a partially imported file. You can track the status of all imports from the Import History tab. Expand any failed job to see its per-row error messages, or click Download to pull the full error CSV.
Import History tab listing completed and failed jobs with expandable error details

Video walkthrough

The end-to-end import flow is the same for every importer — pick a type, download the template, upload your CSV, run validation, then commit. The walkthrough below uses the MBOM importer as an example.

Required and optional columns

Each import type has its own set of columns. Some columns are required and must be present in every row, while others are optional. Optional columns that you omit from your CSV are skipped entirely — ION does not touch those fields on the imported records. Only when an optional column is included in the CSV but left blank for a given row does ION apply a default value based on the field type (see below). If a required column is missing or empty, the import will fail with a validation error.

How empty CSV cells are handled

When an optional column is present in your CSV but a row leaves it blank, the cell defaults to a falsy or zero-equivalent value (not null). This only applies to columns that are actually in the file — omitting the column entirely leaves the field untouched.

Lookup and control columns are exempt

A handful of columns are exempt from the falsy-default rule — either because they’re used to look up an existing record or control importer behavior, or because 0 isn’t a falsy value for that field’s type. For these, an empty cell means “not provided”:
ColumnImporterEmpty cell means
idPart Inventory, Tool Inventory, IssuesCreate a new record (no update lookup)
original_nameLocationsNo rename
original_po_numberPurchase OrdersNo rename
latitude, longitudeLocationsUnset — 0 is not a falsy value for a coordinate
last_maintained_date, uriTool InventoryUnset — no date is written and no URI is stored
due_date, quantity, assigned_toRunsUnset — no due date, quantity, or assignee is written
Each importer’s column table calls out which fields behave this way.
Field TypeEmpty Cell ValueExamples
Text""description, address
Numeric0quantity
Booleanfalsemade_on_assembly, available, archived
If you leave a boolean column blank, ION treats it as false (unchecked). To set a field to true, you must explicitly write a truthy value.

Accepted boolean values

Boolean fields accept any of the following (case-insensitive):
TruthyFalsy
truefalse
yesno
10

Errors

When validation fails, ION reports up to 100 errors with the specific row number and a description of the problem. Row numbers correspond to the CSV file where row 1 is the header and row 2 is the first data row.
If your file contains more than 100 errors, fix the first batch and re-upload. ION caps error reporting at 100 to keep the output manageable.

Tips for successful imports

  • Check your columns — Review column headers and values before uploading. Pay special attention to boolean columns — blank cells default to false, so any field you intend to be true must be set explicitly.
  • Start with Validation only — Use the validation-only option on your first attempt to catch errors without modifying any data.
  • Fix all errors before re-uploading — Since imports are all-or-nothing, partial fixes will still fail if other rows have issues.
  • Import in staging first — Run your import in a staging environment and verify the results before importing into production.