# Sequences

Auto-numbering sequences — prefix, padding, and the document types they apply to.

Source: https://support.toolingmetrics.com/en/admin/reference/sequences/
Updated: 2026-10-07

**Sequences** control how Tooling Metrics generates document numbers. Each document type that requires a unique number (purchase orders, engineering projects, etc.) draws from a sequence.

## Fields

A sequence's fields are three separate, independent settings — there is no single combined "format" field that mixes literal text and number tokens together.

| Field | Description |
|---|---|
| **Name** | Descriptive label for the sequence (e.g., *Purchase Orders*, *Engineering Projects*). Maximum 64 characters. |
| **Resource** | The document type this sequence applies to. Must be unique per organization — one sequence per document type. |
| **Prefix** | A literal string prepended to every generated number. Must be 1–5 characters and unique per organization. A prefix already taken by another sequence is rejected with "is already used in this organization." |
| **Subsequence** | An optional raw [`strftime`](https://apidock.com/ruby/DateTime/strftime) pattern, inserted between the prefix and the padded number — not a token-based format string. Common values use `%Y` (4-digit year), `%y` (2-digit year), and `%m` (2-digit month) with `/` separators, e.g. `/%y/`. Leave blank to omit it. |
| **Size** | Zero-pad width for the numeric portion. Integer, 3–16. Example: size `4` with next number `42` gives `0042`. |
| **Step** | Increment applied after each number is generated. Integer, must be ≥ 0. A step of `0` never advances the counter — the same number is generated every time, which will collide with itself. |
| **Next Number** | The value used for the next document generated from this sequence. Must be ≥ 0. There is no floor tied to documents already generated — lowering it below the current count is not blocked by validation, but will produce duplicate document numbers on documents already issued. |

## Generated number format

A document number is composed by concatenating the three fields: **Prefix** + (**Subsequence** evaluated against today's date, if set) + **Next Number** padded to **Size**.

Example — prefix `PO`, subsequence `/%y/`, size `4`, next number `42`:
- Generates: `PO/25/0042` (where `25` is the current two-digit year)

Example — prefix `T`, no subsequence, size `5`, next number `1`:
- Generates: `T00001`

## Document types

Sequences are created automatically for each of these document types, with default prefixes, when an organization is created:

| Document Type (Resource) | Default Prefix |
|---|---|
| **Machine** | `M` |
| **Tool** | `T` |
| **Tool Transfer** | `TT` |
| **Item** | `I` |
| **Picklist** | `PL` |
| **Return List** | `RL` |
| **Transfer** | `TF` |
| **Inventory Adjustment** | `ADJ` |
| **Scrap List** | `SL` |
| **Purchase Order** | `PO` |
| **Purchase Receipt** | `PR` |
| **Purchase Restock** | `RS` |
| **Purchase Return** | `RT` |
| **Part** | `PRT` |
| **Tool Assembly** | `TA` |

Edit any of these to match your organization's numbering conventions. There is no destroy-guard on a sequence — unlike a Group with members, a sequence already in use by live documents can still be deleted.
