Overview
The As-built BOM (aBOM) importer records installations onto an assembly you received already built, such as a PCBA from a contract manufacturer. Each row is one installation: the assembly’s inventory record, the inventory record installed into it, and how much. For how the import wizard works, see Importers. The importer never creates inventory. Both the assembly and every installed part must already exist as inventory records, and you reference them by inventory ID. The assembly’s part must have a released mBOM, because that is what tells ION which positions the parts install into. When the assembly has no as-built structure yet, ION builds one from its mBOM before installing.Columns
How a row is matched to a position
ION matches each row against the positions in the assembly’s as-built structure:- A row matches a position that accepts the installed part. Substitutes and interchangeable revisions count, so an installed part does not have to be the exact part the mBOM names.
- When several positions accept the part,
reference_designatordecides which one. Leave it out and the row fails, asking you to add one. ION never guesses. - A designator that no matching position has is a row error.
- A made-on-assembly position can’t receive an installation from this importer. ION installs those parts itself when it builds the assembly’s structure.
Rows are also checked against each other. Several rows drawing on the same lot can’t together take more than the lot holds, and several rows can’t overfill one reference designator.
Errors
The import is all-or-nothing: nothing is written unless every row resolves. Most errors are reported against the CSV row that caused them and name the value to fix, such as aroot_inventory_id that isn’t found, a quantity that isn’t a number, or an assembly whose part has no released mBOM to build a structure from. An assembly that already has installed parts is reported for the whole file.
If another import is writing to an assembly in the same file, the import fails. Wait for the other import to finish, then import again.