Overview
The Parts importer lets you bulk-create or revise parts in a single CSV. It supports the same revision behavior as the UI: rows with an explicit revision create or update that exact(part_number, revision), while rows that omit revision either initialize a new part at the org’s default revision scheme or auto-revise an existing part using the latest-revision flow (carrying over the source part’s mBOM and extensible 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.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