> ## Documentation Index
> Fetch the complete documentation index at: https://docs.firstresonance.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Serial and lot tracking

> The three part tracking types and how to pick the right one for each part.

A part's tracking type (serial, lot, or untracked) is set through the **Tracking** field on the part. For what each type means and how to choose, see [Parts](/build-hardware/parts). This page covers how each type behaves downstream, how serial and lot numbers are generated, and the rules for switching a part's tracking type.

## What each tracking type changes downstream

| Surface                 | Serial                                                         | Lot                                              | Untracked                                            |
| ----------------------- | -------------------------------------------------------------- | ------------------------------------------------ | ---------------------------------------------------- |
| **Receiving**           | Each unit gets a serial; ION generates labels per unit.        | Receive against a lot number; one label per lot. | Receive a count; no per-unit identifier.             |
| **Inventory**           | One inventory row per unit.                                    | One inventory row per location and lot.          | One inventory row per location, with quantity.       |
| **BOM install**         | Operator scans the specific serial being installed.            | Operator scans the lot; quantity counts down.    | Operator confirms count.                             |
| **Run history**         | Per-unit history: scan the serial to see every run it touched. | Per-lot history, with a lot-level rollup.        | Aggregate counts only.                               |
| **Issues**              | Issues can attach to a specific serialized unit.               | Issues attach to a lot.                          | Issues attach to a part inventory row at a location. |
| **Traceability report** | Full chain of custody per unit.                                | Lot-level genealogy.                             | Quantity-level only.                                 |

## Serial number generation

When a part is serial-tracked, ION generates serial numbers in one of two ways:

* **Automatically** from the part's revision scheme, recommended for in-house manufactured parts.
* **From the supplier** at receive time, for purchased serialized components. Scan or enter the vendor's serial.

Serial numbers are unique within the org. ION rejects a duplicate serial scan during install or receive, which protects against a common operator error.

## Lot number generation

Lot numbers come from one of three sources:

* **Generated** by ION at receive time using a configured pattern.
* **Entered** from the supplier's lot label.
* **Captured** from your manufacturing batch identifier when you produce a lot internally.

Lots are scoped to the part. `LOT-2026-0123` on part A is different from `LOT-2026-0123` on part B.

## Switch tracking type

Switching tracking type after inventory exists is constrained:

* **Serial to Lot or Untracked** is blocked while serialized inventory rows exist. Consume or archive every serial unit first.
* **Lot to Serial or Untracked** is blocked while lot-tracked inventory rows exist.
* **Untracked to Serial or Lot** is allowed, but existing untracked inventory stays untracked. New receipts use the new tracking type.

## Made on Assembly and tracking

When a serialized sub-assembly is installed onto a parent assembly through Made on Assembly (see [Editing build requirements](/build-hardware/bills-of-materials/editing-build-requirements)), ION still tracks the sub-assembly's serial. The Made on Assembly flag changes the workflow, so the sub-assembly is built into the parent rather than as a separate run, but it doesn't change the identity. The serial trail is preserved.

<Tip>
  Every serial scan is an operator action. If your downstream traceability
  doesn't need per-unit identity, lot tracking is faster on the floor and is a
  reasonable middle ground. To catch inventory drift early, schedule cycle
  counts through [inventory adjustments](/manage-supply-chain/inventory).
</Tip>

## Related

* [Creating and managing parts](/build-hardware/parts/creating-managing)
* [Search parts and reach inventory](/build-hardware/parts/inventory-search)
* [Inventory](/manage-supply-chain/inventory)
* [Editing build requirements](/build-hardware/bills-of-materials/editing-build-requirements)
