HR — Headcount Plan & Position Registry
Positions are the approved headcount plan. Recruiters and controlling share one register instead of shadow FTE lists.
Why this is needed
- Shadow headcount appears when hiring ignores the plan.
- Controlling needs FTE truth by cost center.
- Webhooks can open ATS requisitions only for approved opens.
Proposed entities in EntiHub
Governance settings
| Setting | Recommended value | Why |
|---|---|---|
approvalRequired |
true |
Opening headcount is a controlled decision. |
historyEnabled |
true |
History of position status for audits. |
allowSameAuthorApproval |
false |
Maker/checker separation for sensitive changes. |
deletedRetentionDays |
90 (or higher) |
Soft-delete retention for auditability. |
Entity definition (YAML sketch)
name: position
displayName: Position
domain: HR
description: Position
version: "1.0.0"
approvalRequired: true
historyEnabled: true
deletedRetentionDays: 90
displayRefColumn: position_code
uniqueConstraints:
- name: uq_position_position_code
columns: [position_code]
columns:
- name: position_code
dataType: string
nullable: false
maxLength: 32
- name: role_code
dataType: string
nullable: false
maxLength: 32
- name: cost_center_id
dataType: string
nullable: false
maxLength: 32
- name: fte
dataType: decimal
nullable: false
- name: status
dataType: string
nullable: false
maxLength: 16
YAML sketches
Sketches highlight the important fields and governance flags. Trim or extend columns to match your domain. See Setup Entity for the full YAML reference.
Sample data
| position_code | role_code | cost_center_id | fte | status |
|---|---|---|---|---|
| POS-2026-014 | FIN-ANALYST-II | FIN_AP | 1.0 | open |
| POS-2026-015 | ENG-SE-III | IT_DEV | 1.0 | frozen |
Benefits for the company
- Recruiters see only approved open positions.
- Controlling reconciles plan to actuals.
- RLS can scope HRBP by region/cost center.