Numbering sequences: identifiers people can read
Turn an AutoNumber field into a formatted identifier — WO-2026-0042 rather than 42 — with per-category prefixes, resets, and control over the moment a number is handed out.
Where to set it
A format is a setting of an AutoNumber field, so you set it on that field: Edit fields → the AutoNumber row → the Format box. Type WO-{YYYY}-{####}, and the line underneath shows what the next record will get. Leave it empty and the field keeps handing out plain numbers.
The restart policy and the moment a number is allocated sit on the same row. You only need the separate Numbering page for one thing: running several schemes off a single column — PO- and SO- numbering independently, each with its own condition and priority. The field's row links straight to it.
It extends AutoNumber, it doesn't replace it
A sequence writes into an existing AutoNumber field. A field with no sequence attached keeps handing out plain integers exactly as before, so switching this on is additive.
AutoNumber was chosen deliberately over a Text field: it is already server-owned, so no write path anywhere — grid, import, automation or public API — will accept a value for it. Nothing new had to be protected to make an identifier trustworthy.
The format
A format is literal text plus tokens: {YYYY}, {YY}, {MM}, {DD}, and one run of {#…} whose length sets the zero-padding. WO-{YYYY}-{####} produces WO-2026-0042.
Formats are validated when you SAVE the configuration, not when a record is created — an unknown token is a mistake you can fix while looking at it, rather than an error thrown from inside somebody's save six weeks later.
Several sequences on one field
More than one sequence can target the same field. Each carries a condition and a priority, and the first match by priority wins.
That is what "different prefixes per category" means in practice: PO- and SO- can live on one Orders table, each with its own counter, numbering independently off the same column.
When the number is handed out
Two choices. On create stamps the number the moment the record exists. On transition waits until the record reaches a particular lifecycle state.
Where a lifecycle exists, on transition is the recommended setting. Allocating on creation means every abandoned draft burns a number, and a sequence full of holes reads as broken to everyone who sees it — even though it is working exactly as designed.
Counters can reset yearly, monthly or never, and are advanced atomically, so two records created at the same instant cannot collide.
Tips
• Put the year in the format and reset yearly — <code>INV-{YYYY}-{####}</code> keeps numbers short and sorts sensibly forever.
• Set allocation to <em>on transition</em> and point it at the state that means "this is real now" — usually the first Active state.
• Give each sequence a name that says which records it catches; the name is what the configuration list shows when several share a field.
Good to know
• Changing a format does not renumber existing records. Past values keep the format they were issued under, which is usually what you want and always what happens.
• If several sequences could match a record, priority decides — two sequences at the same priority make the outcome depend on ordering, so give them distinct priorities.
• Allocating on transition means a record has no identifier until it gets there. Don't build a print template that assumes the number exists in the draft state.
Who can do what
• Creating and editing sequences is Admin-only, matching the Posting and Lifecycle tabs.
• Nobody can set an AutoNumber value by hand, sequence or no sequence — including Admins, imports and the public API.