Positions
The Positions page displays all job positions in a tree view ordered by reporting relationships. Each position can report to another, forming a hierarchical org chart of roles. All CRUD operations are performed through dialogs without leaving the page. The tree is always fully expanded.

Accessing the Page
Section titled “Accessing the Page”- Route:
/positions - Menu Path: HR → Organization → Positions
- Primary audience: HR administrators with the
canWritePositionspermission.
What you can do here
Section titled “What you can do here”- Browse the full position hierarchy in a fully expanded tree.
- Create a new top-level position or a direct-report position nested under an existing one.
- Edit any position’s name, code, level, department, reporting line, salary band, and active status.
- Delete positions that are no longer used.
Tree View
Section titled “Tree View”Each node in the tree shows the position name, code (if set), and level/grade (if set). Row actions available on each node:
| Action | Description |
|---|---|
| Edit | Opens the Edit Position dialog |
| Add Direct Report | Opens the Create Position dialog pre-filled with this position as the supervisor |
| Delete | Opens the Delete confirmation dialog |
Creating a Position
Section titled “Creating a Position”Click Add Position in the page header, or use the Add Direct Report action on a node.

Fields
Section titled “Fields”| Field | Required | Type | Description | Default | Validation |
|---|---|---|---|---|---|
| Name | Yes | Text | Display name of the position (e.g., “Software Engineer”) | — | Max 255 chars; uniqueness validated in real time |
| Code | No | Text | Short code (e.g., SWE) | — | Max 50 chars; uniqueness validated in real time |
| Level / Grade | No | Text | Seniority or grade (e.g., “Senior”, “Lead”) | — | Free text |
| Department | No | Entity select | Department this position belongs to | — | — |
| Reports To | No | Entity select | Position this role reports to | — | Circular references are automatically prevented |
| Min Salary | No | Number | Minimum salary for the band | — | Min value 0 |
| Max Salary | No | Number | Maximum salary for the band | — | Must be ≥ Min Salary |
| Currency | No | Text | 3-letter ISO currency code | — | Exactly 3 chars |
| Description | No | Textarea | Role overview and notes | — | Max 1000 chars |
| Requirements | No | Textarea | Qualifications and skills required | — | — |
| Active | — | Toggle | Inactive positions are hidden from selection dropdowns | On | — |
Steps:
- Click Add Position in the page header.
- Enter the position Name and optionally a Code and Level.
- Assign a Department if applicable.
- Select a Reports To position to place it in the hierarchy.
- Optionally enter a salary band and description.
- Click Create.
After creation the tree refreshes to show the new node in its reporting position.
Editing a Position
Section titled “Editing a Position”Click the Edit action on any node to open the Edit Position dialog.

Same fields as Creating. All fields are editable. Changing Reports To moves the position and all its direct reports; a warning is displayed before saving.
Deleting a Position
Section titled “Deleting a Position”- Click the Delete action on a node.
- The confirmation dialog shows the position name.
- If the position has direct reports, a warning states that they will be orphaned.
- Click Delete to confirm.
Note: Deletion cannot be undone. Consider deactivating positions that are temporarily unavailable rather than deleting them.
Common tasks
Section titled “Common tasks”- Open HR → Organization → Positions from the sidebar.
- Expand the tree or use row actions to find the target position.
- Use row actions to create, edit, or delete as needed.
Related Pages
Section titled “Related Pages”- Departments — Organizational departments
- Employees — Employee records linked to positions
- Job Postings — Job postings that reference positions