Getting Started
Enable the module, let its migrations create the ID Studio tables, grant the right people access, set your ID numbering format, and allocate the first employee IDs — you'll be ready to design a card and generate a batch.
Prerequisites
- PHP ≥ 8.2 and a running ERPat instance with the Company Tag module available.
- Admin access to Settings → Manage Modules and the Roles editor.
- Active staff employees — ID Studio numbers and cards staff users (their Job ID lives on the employee's job info).
- For rendered cards: the server's GD image extension (used to draw cards) — standard in ERPat.
1 · Enable the module & run migrations
-
Turn on Company Tag
Open Settings → Manage Modules and enable Company Tag (or set
module_company_tag = 1). -
Run the module migrations
This creates the ID Studio tables (
idstudio_sequences,idstudio_templates,idstudio_template_versions,idstudio_jobs,idstudio_tags). They are idempotent and reversible.php erpat migrate:modules
2 · Grant permissions
ID Studio ships granular permissions. Assign them to the right roles (admins bypass all checks):
| Permission | Lets a user… |
|---|---|
staff_view_company_tag | Open Company Tag / the ID Studio dashboard (this is the module Enable toggle). |
idstudio_settings | Configure the ID format & other ID Studio settings. |
idstudio_allocate | Allocate employee IDs to staff who lack one. |
company_tag_template | Manage ID-card templates (the visual builder). |
idstudio_tags_generate | Generate ID cards in bulk. |
idstudio_tags_view | Open the generated-tag registry. |
idstudio_tags_manage | Issue / revoke / replace a tag. |
can_export_card | Use the classic per-employee card export (legacy Company Tags tab). |
3 · Configure employee-ID numbering
-
Open ID Studio → Settings
Set the ID format. It must contain exactly one sequence token. Tokens:
{COMPANY} {YEAR} {YY} {MONTH} {DEPT} {LOC} {SEQ} {SEQ:4}…{SEQ:10} {JOBID}
Example:
{COMPANY}-{YEAR}-{SEQ:5}→ ACME-2026-00421. The screen shows a live example and a collision check as you type. -
Set the company code, sequence start & reset
Company code fills
{COMPANY}. Sequence start is the first counter value. Sequence reset (never / yearly / monthly) decides whether the counter restarts each year/month. -
Set generation defaults
Default validity (days; blank = never expires), active-tag policy, default template, and whether to auto-allocate missing IDs during generation.
4 · Allocate the first IDs
-
Open ID Studio → Allocate IDs
The table lists staff who have no Job ID yet. Tick the ones to number (selection persists across pages), or use Allocate all missing.
-
Allocate
Each selected employee gets the next unique ID from your format. Allocation is atomic (safe if two people run it at once) and every assignment is written to the audit log.