Skip to main content
A staffing plan is your headcount plan for a period. Rather than reacting to vacancies one at a time, a staffing plan lets you set out, in advance, how many people you want in each role over a date range — and what that will cost. It’s the planning layer that sits alongside job requisitions: the plan tells you where your gaps are, and requisitions and openings fill them. This page covers building a plan, the per-role detail rows, how vacancies and budget are worked out, and submitting a plan. You’ll find this at: /hr/recruitment/staffing-plans (list), /hr/recruitment/staffing-plans/:id (detail)
📷 Screenshot: Staffing Plans list with the “New Plan” button — to be added.

Before you start

  • Which business am I in? Staffing plans belong to the business selected in the switcher and are only visible within it.
  • Each plan gets a reference number automatically (a tenant-wide series). You don’t type it.

The plan lifecycle (statuses)

The rules are enforced on the server:
  • Only a Draft plan can be edited — once Submitted or Cancelled, edits are refused with “Cannot update a submitted or cancelled staffing plan.”
  • Only a Draft plan can be submitted; submitting needs the hr-recruitment:approve permission.

Building a plan

From the list, choose New Plan (needs hr-recruitment:write). A dialog opens.
📷 Screenshot: New Staffing Plan dialog — dates and the designation-details rows — to be added.

Plan dates

Designation details (the rows)

A plan is made of one row per role you want to plan for. Use Add row to add roles (up to 100 rows per plan). Each row has: As you type, the dialog shows a running Total estimated budget — the sum of (vacancies × cost per position) across all rows. This same total is stored on the plan and recalculated whenever the rows change. Create the plan with Create Plan. It is saved as a Draft.
Overlap guard: When you create or submit a plan, Hitaji 360 checks each designation against any Submitted plan covering an overlapping period. If one already covers the same role for an overlapping range you’ll be stopped with “An active submitted staffing plan already covers designation ’…’ for an overlapping period (REF).” Draft plans don’t block — only submitted ones reserve a period.

The plan detail page

Open a plan to see its summary (dates and total estimated budget) and the full designation table. The table is richer than the create dialog because it shows live context next to each planned role: The Current Count and Current Openings figures are a point-in-time read from your live data (employees by position and open openings by job title) — they help you sanity-check whether the vacancies you’re planning are realistic given who you already employ and what’s already advertised. If the plan is a Draft and you have hr-recruitment:approve, a Submit Plan button appears. Submitting locks the plan.
⚠️ Current state: Current Count and Current Openings are a snapshot taken at read time; they are not continuously recalculated as employees join or openings change. Re-open the plan to refresh them. There is also no in-app cancel action for a submitted plan today (the capability exists in the backend but isn’t wired to a button). (Flagged for the team.)

Permissions