Appearance
Tag Numbering and Conflicts
How equipment tags are numbered in a project, how to change the pattern, and how to find and fix duplicate or clashing tags.
Last verified: 2026-10-24 System: Canvas / Project registry Status: Current
One registry per project
Every equipment tag (P-001, 100-V-004) is reserved in the project's tag registry, so two drawings in the same project cannot hand out the same tag. Placing a symbol takes the next free tag for its type. Typing a tag that is already in use is refused inline ("already in use"), and the server answers 409 if it is bypassed.
Tools → Tag numbering
Tools → Tag numbering… (also reachable from the Tag field in the properties panel) sets the numbering pattern for the project the drawing belongs to; the pattern is stored on the project. A drawing with no project uses the default pattern.
| Field | Meaning |
|---|---|
| Pattern | A preset: Type - sequence (P-001, the default), Area - type - sequence (100-P-001), Area / type - sequence (100/P-001), Type - area + sequence (P-100001), Compact type + sequence (P0001), or custom. The presets are generic shapes, not any operator's standard. |
| Template | Built from {area}, {type}, {seq} and literal letters, digits and - _ / . |
| Prefix, Suffix | Optional fixed text (up to 12 characters each). |
| Area code | The value {area} stands for; upper-case letters and digits, up to 12. |
| Digits | Zero-padding of the sequence number, 1 to 6. |
The Preview shows example tags and the next new pump tag on this drawing, and stays blank until the pattern is valid. Tick Also renumber the N tags on this drawing that differ to bring existing tags into line; Save and preview renumber opens the bulk rename preview first. Renames commit through the registry and are written to the drawing's equipment tag as well (a rename in the registry patches the open drawing, and a tag edited on /draw updates the registry), so the Bill of Materials, datasheets, HAZOP and the I/O list follow the new tags.
When the project registry gives a newly placed symbol a different tag from the provisional one, the properties panel's Tag field updates to the registry tag, so it always matches the tag on the canvas.
Reading the pattern needs project read access; saving it needs the right to edit the project.
Tools → Tag conflicts
Tools → Tag conflicts… opens a non-modal panel listing every problem it can see:
| Badge | What it means |
|---|---|
| Duplicate | Two or more elements on this drawing show the same tag. |
| Clashing | Tags that differ only by case or zero padding (P-1, p-001). |
| Used on another drawing | The project registry holds this tag for an element on a different drawing. |
Each conflict lists its elements with a Show button that selects the element and frames it. The element that keeps its tag is marked keeps the tag (the registry holder, otherwise the top-left element). Fixes:
- Renumber gives every other element the next free tag in the project's pattern.
- Merge (duplicates of the same symbol only) removes the extra copies after you confirm.
- Fix all renumbers every conflict at once.
Renames go through the bulk rename preview, as above. If the registry cannot be reached the panel checks this drawing only and warns you.
Pasted and duplicated symbols are fixed automatically: a pasted tag that another element already shows is replaced with the next free tag, registered, and announced with a toast.
Deleting and restoring drawings
Deleting a drawing releases its tags back to the project, and the project's counters come back down, so the numbers can be reused. Restoring the drawing (Drawings page, Deleted Drawings panel) re-reserves each tag it released. A tag another element took in the meantime is renumbered to the next free one, with the Bill of Materials, datasheets and HAZOP following, and the panel lists what changed.
For administrators
Drawings deleted before this behaviour existed can still hold tags. A SuperAdmin can release them with POST /api/v1/admin/tags/release-deleted-drawings. It is a dry run unless the body sets dryRun to false, can be limited to one company, and releases through the same path, so a later restore re-reserves the tags. See the API reference.