As-built Bill of Materials (aBOM)

Trace the genealogy of your build in REAL-TIME.


IONs aBOM is a powerful tool that allows you to keep track of which parts, down the serial or lot number, were used in higher-level assemblies, across multiple levels of assemblies. The aBOM is a living and real-time document, meaning that changes are reflected instantaneously as parts are installed or uninstalled.

An aBOM is a tree-like scaffolding that connects parent and children inventory. Each node is an inventory item (see: Inventory), whether serial-tracked, lot-tracked, or untracked.

Why is it valuable

The aBOM is a massively valuable dataset within the factory. The traceability allows for:

  • Finding all places that a component is installed if something goes wrong (i.e. containment for recalls)

  • Understanding all data that was part of a build: runs, inventory, purchases, etc. This enables aggregations such as understanding the cost of the build or how long it took.

Getting into the details

The aBOM follows the requirement and fulfillment model like other parts of ION (for instance, kits). Parent inventories have build requirements that define:

  • which part is required (including potential substitutes)

  • the minimum quantity required

  • reference designators (optional)

Inventories get installed into build requirements via aBOM installations. The aBOM installation tracks:

  • the inventory installed

  • the quantity installed. The exception to this is when the build requirement quantity is set to 0. This allows the operator to install without setting the quantity and just select the trace information such as lot number.

  • if it was installed into a specific reference designator

When an inventory is uninstalled, all of its children travel with it. This means that the data for the entire assembly moves with the inventory to match the physical reality.

aBOM construction

From here, you can start adding parts to your aBOM, and even use the "Install from Kit" button to install all the same lot numbers and serial numbers from the kit associated with the run. You can also add parts to the aBOM at the time of execution if needed.

After installing your parts, the build aBOM changes to Build aBOM (100%) to show that you have installed all of the parts for the run.


On the aBOM, substitutes will appear with the "double arrow" icon shown below.

Here is how they will display within the aBOM interface:

  1. The icon indicates that a substitute can be used to fulfill the requirement

  2. Expanding the requirement will display the part numbers for the acceptable substitutes

  3. When a substitute is installed, the icon will appear next to the installed part

Visualizing aBOMs

Even while an aBOM is being constructed, you can visualize the parts that make up the part you are interested in by going to Parts > Trace. From here, you can search for a, which will then load the in-progress or complete aBOM for that specific part.

Modifying an aBOM

Simply create a new run for the top-level assembly that you are affecting. For example, if you are changing the engine controller on the following BOM:

  • Vehicle

    • Engine

      • Engine controller

Create a run with the part number and serial number for the engine. Include a procedure with the instructions for changing the engine controller. This will allow the operator to remove the old engine controller and install a new one, by serial (or lot) number. The resulting aBOM will be updated for all levels up the vehicle's aBOM.


Modifying the requirements of an aBOM has different permissions than installing/uninstalling.

Here is the mapping of permissions to those actions:

  • Install a part -> CreateABomInstallation permission

  • Uninstall/remove a part -> DeleteABomInstallation permission

  • Update the aBOM requirements (build requirements) -> Create/Update/DeleteBuildRequirement permission

Last updated