Inventory

Last updated on May 21, 2026

TofuPilot Inventory is how the platform tracks the physical world. A Part is a product family, a Revision is a design version, a Unit is one physical instance, and a Batch is a production cohort. Every run links to one unit, and every unit links to one part revision.

Identity graph

The four inventory records form a small graph that links every run back to a physical object.

Part  ──▶  Revision  ──▶  Unit  ──▶  Run

                  optional│

                        Batch

A unit always has a part and a revision, and it may have a batch and a parent unit when it belongs to an assembly.

Auto-creation

You rarely need to create inventory by hand. The first run against a new serial creates the unit, part, revision, and batch (when batch_number is sent) in one transaction, and names default to placeholders you can edit later.

You can also create records up front from the API or the dashboard, which is useful for legacy imports, reference samples staged before production, or pre-allocated serial ranges.

Constraints

A handful of constraints apply to every inventory record.

  • Identifier format: ^[a-zA-Z0-9_.:+-]+$, 1-60 characters. The same rule applies to serials, part numbers, revisions, and batches.
  • Uniqueness: per-organization and case-insensitive.
  • Unit metadata: up to 50 typed keys per unit (string, number, boolean), with 40-character keys.
  • Cascades: deleting a part deletes its revisions, units, and runs. Deleting a batch unsets batch_number on its units but keeps the units themselves.

How is this guide?

On this page