Skip to main content

Overview

The Plan Inputs importer adds inputs to existing draft plans — one CSV row per input, with the parent plan identified by plan_id. A single file can target multiple plans. This importer only creates plan inputs. It never modifies the parent plan itself, and because a plan can legitimately hold multiple inputs for the same part, per-row updates are not supported. To rebuild a plan’s inputs from scratch, enable the Replace existing inputs option in the import modal — ION then removes the plan’s current inputs and recreates them from the CSV.
plan_id | part_number | revision | quantity | due_date   | serial_number
42      | WIDGET-A    | A        | 10       | 2026-05-01 |
42      | WIDGET-B    | A        |  5       | 2026-05-01 |
42      | WIDGET-C    | B        |  1       | 2026-05-01 | SN-12345

Import options

OptionDefaultDescription
Replace existing inputsOffWhen enabled, the targeted plans’ existing inputs are removed and recreated from the CSV. When disabled, imported inputs are added to the existing ones.
Validation onlyOffRun validation without committing changes. Useful for checking a file before a real import.

Columns

ColumnRequiredDescription
plan_idYesID of the parent plan. The plan must exist and be in draft status.
part_numberYesPart number of the input. Matched case-insensitively.
revisionNoPart revision. If omitted and the part has exactly one revision, that revision is used; multiple revisions produce an ambiguity error asking you to specify one.
quantityYesInput quantity. Must be a non-negative integer.
due_dateYesDue date for the input (e.g. 2026-05-01).
serial_numberNoSerial number for the input.
nameNoDisplay name for the input.
is_generate_new_demandNoWhether the input generates new demand. Boolean field (see accepted values).
is_independentNoWhether the input is independent. Boolean field (see accepted values).
Plan inputs can only be added to draft plans. Rows referencing a plan in any other status fail with a row-level error, as do rows referencing a plan ID that doesn’t exist.
This importer does not support custom attributes — any column outside the list above causes a validation error.
For general import behavior, empty cell handling, and error reporting, see Importers.