Skip to main content

Overview

The Tool Inventory importer creates or updates inventory records for tools (parts with the tool part type). It works like the Part Inventory importer — rows without an id create new inventory, rows with an id update the matching record — with two tool-specific additions: last_maintained_date and uri. Because tools are always serial-tracked, every create row must provide a serial_number matching the physical asset’s tag or manufacturer serial. There is no serial autogeneration and no lot tracking for tool inventory.

Columns

ColumnRequiredDescription
idNoInventory ID. Provide to update an existing record; omit to create new inventory. Lookup column — an empty cell is treated as “not provided,” not 0.
part_numberYes (for create)Part number of the tool. Ignored on update.
revisionNoTool revision. Combined with part_number to look up the tool; if omitted, the latest revision is used.
serial_numberYes (for create)Serial number identifying the physical tool. Update rows inherit the existing serial.
locationNoLocation name. Must match an existing location in ION.
last_maintained_dateNoDate the tool was last maintained, in ISO 8601 format (e.g. 2026-05-01 or 2026-05-01T12:30:00). An empty cell leaves the field unset.
uriNoLink to the physical asset (e.g. an asset-management URL). Must be unique across tool inventory; an empty cell stores no value.
last_maintained_date only accepts ISO 8601 — ambiguous formats like 1/2/3 are rejected rather than guessed.

Custom attributes

Any column not in the standard list above is treated as a custom attribute on the inventory record. Custom attribute columns must match a configured attribute key for your organization; unknown columns cause a validation error.