Workforce Budgeting
Plan headcount and manpower budgets against structure.
Workforce Budgeting is the register where headcount planning stops being a spreadsheet on someone's desktop and becomes a shared record. Each budget line names a position and department and carries two numbers side by side — the headcount you budgeted for and the headcount you currently have — so the gap between plan and reality is visible the moment you open the list, not after an afternoon of reconciliation.
The module is deliberately simple in shape: a Budget Lines register, a Requisitions register and a Settings screen, arranged on a left rail so each is one click away. Budget lines are tagged with a period and marked open or closed; requisitions record the hiring asks raised against that budget, each carrying a status from pending through approved to fulfilled — or rejected. Together they give an HR team one place to answer the two questions workforce planning always comes back to: what did we plan, and what have we asked for since?
Everything is kept per organisation. Every read and write on the module's records is scoped to your organisation on the server, records are listed newest first, and each row can be edited in a dialog or deleted with a confirmation — no record leaves your tenancy and no other tenant's planning ever appears in your lists.
Access is controlled the same way as the rest of Nexa People: the module sits behind the EmployeeBudgeting entry in the Role Templates permission catalogue, so it appears in the navigation only for organisation roles whose template grants it, and the route guard applies the same rule to direct links.
How Workforce Budgeting works
Build the budget, line by line
The Budget Lines screen is the module's home. New budget line opens a dialog where you name the position, place it in a department, enter the budgeted headcount and the current headcount, tag the line with a period — a year such as 2026, or whatever period label your planning cycle uses — and set its status to open or closed. The position is the only field the form insists on, so a quick sketch of next year's plan can be captured first and filled in later.
Saved lines appear in a table with columns for position, department, budgeted, current, period and status, listed newest first. Status renders as a coloured badge, and any field left blank shows a quiet dash rather than a hole, so a half-complete plan still reads cleanly.
See the gap without a calculator
Because budgeted and current headcount sit in adjacent columns on every row, the register doubles as a gap report. Scanning the table tells you which positions are fully staffed, which are under plan and which lines have quietly gone over — no export, pivot table or formula required.
The current figure is a recorded number, which keeps the register honest about what it is: a statement of your plan and your position against it, maintained by the people who own it. When a hire lands or someone leaves, open the line's Edit dialog, adjust the number and save — the edit form opens pre-filled from the current row, so an update is a one-field change, not a re-entry.
Raise requisitions against the plan
When a gap needs filling, the Requisitions screen records the ask. A requisition names the position and department, states the headcount requested, and carries a status of pending, approved, fulfilled or rejected — so the register tells you not just what was requested but where each request stands.
Requisitions live on their own rail item beside Budget Lines, in the same table-and-dialog pattern: add through New requisition, edit in place, delete with confirmation. Approved and fulfilled render as green badges and pending as a highlighted one, so the state of the hiring queue is readable at a glance.
Set the rules in Settings
The Settings screen holds the module's configuration in two tabs. General Setting captures your budgeting policy as three choices: the Budget Period — Annual, Half-Yearly or Quarterly — whether requisitions require approval, and whether over-budget requisitions should be blocked. Each is a dropdown saved with one click, with the stored values reloaded whenever the screen opens.
The Cost Centers tab maintains a named list of cost centres: type a name, add it to the table, remove entries you no longer need. Settings are persisted to your organisation's shared configuration store, the same mechanism the other workspace modules use, so they survive across sessions and apply organisation-wide.
Gate the module by role
Workforce Budgeting is a tenant-scope module: it is offered to organisation roles — owner, admin, HR — and never to platform administrators browsing across tenants. On top of that coarse tier sits the Role Templates matrix, where the EmployeeBudgeting module carries nine individual form keys, including Budgeting, Planning, Budget Approvals, Budget Duration, Open Position, Position Title and Employee Budget Settings.
Untick every key in the module for a role template and that role loses the module entirely — the navigation entry disappears and the route guard bounces direct links, because both read the same rule from the same source. Conversely, an employee granted one of the module's HR-side forms gains its route, so a planning responsibility can be delegated without handing over an admin role.
Features
Budget lines per position and department
Each line names a position, places it in a department, and records budgeted and current headcount with a period tag. The register is a table you can scan, not a document you have to read — and a new line takes six fields, of which only the position is required.
Budgeted versus current, side by side
Plan and reality sit in adjacent columns on every row, so the gap is visible without any arithmetic. Update the current figure from the pre-filled Edit dialog as hires land and leavers go, and the register stays truthful.
A requisition register with a lifecycle
Hiring asks are records, not emails. Each requisition carries position, department and headcount requested, and moves through pending, approved and fulfilled — or is marked rejected — with colour-coded status badges telling you the state of the queue at a glance.
Period-tagged planning
Every budget line carries a period label, and Settings records whether your organisation budgets annually, half-yearly or quarterly. Close a period's lines when the cycle ends and open the next set — the old plan stays on the record.
Open and closed budget lines
A line's status separates the plan you are actively hiring against from the history you are keeping. Open lines are live planning; closed lines stay in the register as the record of what was budgeted, rather than being deleted.
Cost centres as a maintained list
Settings includes a dedicated Cost Centers tab: add named cost centres to a simple numbered table and remove them when they retire. The list is stored in your organisation's configuration, so it is shared, not personal.
Requisition policy settings
Record how requisitions should be treated: whether they require approval, and whether asks that exceed the budget should be blocked. Both are one-click dropdown choices on the General Setting tab, saved alongside your budget period.
Edit in place, delete with a guard
Every row offers Edit and Delete actions. Editing opens a dialog seeded from the current record so you change only what changed, and deletion always asks for confirmation first — no accidental loss from a stray click.
Organisation-scoped by the server
Every list, create, update and delete on the module's records requires your organisation's context and is filtered to it on the server. Your workforce plan is yours alone, and lists come back newest first so recent planning is on top.
Used by: HR managers and administrators who own workforce planning.
Works with the rest of Nexa People
Workforce Budgeting states the plan; Recruitment acts on it. When a budget line shows a gap, the Recruitment module's Job Request screen is where a manpower requisition is raised for sign-off — naming the hiring manager, position, department, number of positions and a written justification — and its Hiring Approvals queue is where it is approved or rejected. Recruitment can even be configured so a job post must reference an approved requisition, enforced on the server, which means the hiring your budget called for begins only once the ask has cleared approval.
Access to the module rides on the same permission machinery as everything else in Nexa People. The Role Templates catalogue maintained in the Employee module carries the EmployeeBudgeting form keys, one navigation and route guard read the same matrix, and the server ships the identical catalogue — so what a role can see here is decided in one place, alongside its access to attendance, payroll and the rest.
The module's configuration lives in the organisation's shared settings store — the same store the other workspace modules write to — so budget period, requisition policy and cost centres are saved with your organisation's other configuration rather than in a silo of their own.
Frequently asked questions
What does a budget line record?
A position title, the department it belongs to, the budgeted headcount, the current headcount, a period tag such as the planning year, and a status of open or closed. Only the position is mandatory, so lines can be sketched quickly and completed as the plan firms up. Lines appear in a table with all six fields as columns, newest first.
Is current headcount calculated automatically?
No — it is a figure your team records and maintains on the line, which keeps the register an explicit statement of your position rather than a number nobody owns. Updating it is a one-field change: the Edit dialog opens pre-filled from the existing record, so you adjust the count and save.
How do requisitions work in this module?
The Requisitions screen is a register of hiring asks raised against the budget. Each records the position, department and headcount requested, and carries a status — pending, approved, fulfilled or rejected — shown as a colour-coded badge. Requisitions are added, edited and removed in the same dialog-and-table pattern as budget lines.
What can we configure in Settings?
Three general choices and one list. General Setting records your Budget Period — Annual, Half-Yearly or Quarterly — whether requisitions require approval, and whether over-budget requisitions should be blocked. The Cost Centers tab maintains a named list of cost centres. All of it is saved to your organisation's shared configuration store.
Who can see and use Workforce Budgeting?
Organisation roles — owners, admins and HR — whose role template grants at least one form key in the EmployeeBudgeting module; a template with the module fully unticked loses both the navigation entry and the route. Employees do not see the module by default, but granting one of its HR-side forms opens its route to a specific person, so planning can be delegated without a broader role change.
How does it connect to Recruitment?
The budget register tells you where the gaps are; Recruitment carries the resulting ask through its own pipeline. There, a Job Request names the hiring manager, position, department and number of positions with a justification, Hiring Approvals signs it off, and Recruitment can require every new job post to reference an approved requisition — a rule the server enforces at create time.
Is our planning data kept separate from other organisations?
Yes. Every request to list, create, update or delete a record in this module carries your organisation's context, and the server filters and writes strictly within it. Budget lines, requisitions and settings belong to your organisation alone, and nothing from another tenant can surface in your registers.
Related modules
See Workforce Budgeting in your own setup
We'll walk you through the modules you care about and email you login credentials to try it yourself.