Overview
The Parts importer lets you bulk-create or revise parts in a single CSV. It supports the same revision behavior as the UI. A row with an explicit revision creates or updates that exact(part_number, revision). A row that omits the revision creates a new part at the default revision scheme, or revises an existing part and carries over its mBOM and attributes.
Columns
Part matching is case-insensitive. Enum fields (
status, purchase_type, tracking_type, sourcing_strategy) only accept the values listed above. An invalid value produces a row-level error listing the allowed options.A blank enum cell is not the same as leaving the column out. Omit the column and the field is untouched. Include the column and leave a cell blank, and ION clears the field, which succeeds for tracking_type and sourcing_strategy (making the part untracked, or clearing its strategy) and fails for status and purchase_type, which can’t be empty.Revisions
The Parts importer mirrors the UI’s revision flow:- Row with an explicit revision: looks up
(part_number, revision). If it exists, the row updates that part; otherwise it creates a new part at that exact revision. - Row without a revision, no existing part with that
part_number: ION assigns the initial revision from the configuredrevision_scheme(or the org’s default scheme, typically"A"or"1"). - Row without a revision, existing part with that
part_number: ION computes the next revision from the latest existing revision and creates a revised part. The new part inherits the mBOM and extensible attributes of the source part.
Duration format
Thelead_time column accepts a duration written in days, hours, and minutes. Use the units d, h, and m, in that order, with optional spaces between terms. Each unit is optional. The value is rounded down to the nearest minute. A plain number with no unit is read as a number of seconds.
Valid values include:
The Review step flags a value that uses any other unit (such as weeks or seconds), lists the units out of order, or is otherwise unparseable.
Supplier parts
Thesupplier_parts column attaches one or more SupplierParts to the part. Use semicolons (;) to separate records and pipes (|) to separate fields within a record:
Example:
Acme|ACME-WID-001|4.25|1;Globex|GLX-W1
If a SupplierParts row already exists for the (part, supplier, supplier_part_number) combination, the importer updates its cost and conversion_factor in place. Otherwise it inserts a new row.
Quality clauses
Thequality_clauses column accepts a semicolon-delimited list of quality clause reference_name values. Each must match an existing Requirement with requirement_type = QUALITY_CLAUSE. The importer skips associations that already exist, so re-imports are idempotent.
Example: QC-001;QC-002