Departments
Open Settings → Departments in Thermal →
What it's for
Departments are a reporting dimension for job costs — a way to group work for cost reporting without changing which branch it belongs to or which trade it's classified as. A branch is where a job physically happens; a department is who it rolls up to on a P&L. Most shops only need a handful, and every org starts with one system department, Unassigned, that can't be renamed, deactivated, or archived.
Reach it from Settings → Organization → Departments in the sidebar, at
/settings/departments. The Settings breadcrumb at the top takes you
back.
Tabs
This screen has no tabs. Everything is on one page: a short explanation of the deactivate-versus-archive distinction, the department table, and the dialog you add or edit them in.
Panels and controls
The department table
One row per department: Department (name, with its description underneath if set), Code, Manager (or Former staff member if the assigned manager has since left, or a dash if none is set), Order (display order), Status (Active/Inactive, plus a System badge on Unassigned), and Actions.
Edit is always available. Deactivate appears on an active, non-system department — it's reversible. Once inactive, Restore and Archive both appear — restore reverses the deactivation, archive is terminal. The system Unassigned department never shows any lifecycle action, only Edit. Neither deactivating nor archiving rewrites historical reporting — cost records that already point at a department keep pointing at it.
Add department
Add department opens a dialog with name, reporting code, description, display order, and an optional manager picked from current staff.
What it accepts
| Field | Format | Required | Rule |
|---|---|---|---|
| Name | Free text, up to 120 characters | Yes | "Department name is required."; "Department name must be 120 characters or fewer." |
| Reporting code | 1–40 letters, numbers, underscores, or hyphens | Yes | "Department code is required."; "Department code must be 1–40 letters, numbers, underscores, or hyphens." — stored uppercased |
| Description | Free text | No | |
| Display order | Whole number, 0 or more | No | "Department display order must be a non-negative integer." |
| Manager | Pick from current staff | No |
A duplicate name is rejected by the underlying uniqueness rule on the organization. Managing departments at all requires an owner or office role — "Only an owner or office administrator can manage departments." The system Unassigned department specifically refuses renaming ("The system Unassigned department cannot be renamed."), deactivation ("...cannot be deactivated."), and archiving ("...cannot be archived."), and any lifecycle change on an already-archived department is refused with "Archived departments cannot be changed."
How to configure it
- Departments are organization-wide — there's no per-branch department list, and creating one here makes it available at every branch.
- The manager picker draws from current staff records; a manager who leaves the org doesn't get silently swapped out, the department just shows Former staff member until you pick a replacement.
- Nothing here changes billing or scheduling — departments are purely a job cost reporting dimension, used wherever job costing groups work by department instead of by branch or trade.
Who can see it
- Owners and office managers see Departments in the Settings sidebar and can create, edit, deactivate, restore, and archive departments — this is one of the settings screens explicitly open to office managers by role, not just because they can reach Settings generally.
- Dispatchers and technicians cannot reach Settings at all. Every action here is checked on the server, so the gate holds regardless of what the sidebar shows.
The full role matrix is on Roles & permissions.