Skip to main content
A job requisition is the formal request to hire. Before you advertise a role, someone in the business raises a requisition that says what the role is, how many people are needed, what it should pay, and why. It then goes through approval, and once approved it can be turned directly into a job opening that candidates can apply to. Think of it as the paper trail that gets a vacancy authorised before any advertising or interviewing begins. This page covers raising a requisition, the approval workflow, the statuses it moves through, and how to convert an approved requisition into an opening. You’ll find this at: /hr/recruitment/requisitions (list), /hr/recruitment/requisitions/new (create), /hr/recruitment/requisitions/:id (detail)
📷 Screenshot: Job Requisitions list with status filter and the “New Requisition” button — to be added.

Before you start

  • Which business am I in? Requisitions belong to the business selected in the switcher at the top of the app. A requisition is only visible within the business it was created in.
  • Each requisition gets a reference number automatically (a tenant-wide series, e.g. HR-JREQ-2026-0001). You don’t type it.

The requisition lifecycle (statuses)

The state machine is enforced on the server, so the buttons you see depend on the current status:
  • Pending → can be approved (→ Open & Approved), rejected (→ Rejected), or held (→ On Hold).
  • Open & Approved → can be turned into an opening, or held.
  • On Hold → can be resumed by approving it again (→ Open & Approved).
Trying an action that isn’t allowed for the current status is blocked with a clear message, e.g. “Cannot approve a requisition in ‘Rejected’ status. Only ‘Pending’ requisitions can be approved.”

Raising a requisition

From the list, choose New Requisition (you need hr-recruitment:write). The form is grouped into cards.
📷 Screenshot: New requisition form — Position Details, Staffing & Compensation, Timeline & Requester — to be added.
New requisitions are created as Pending.
Duplicate guard: Hitaji 360 stops you raising a second active requisition for the same designation, department, and requester while one is still open. You’ll see “An active requisition already exists for designation ’…’ (REF). Cancel or fill the existing one first.” Cancel or fill the existing one before raising another.

Approving, rejecting, and holding

Open a Pending requisition. If you have hr-recruitment:approve:
  • Approve moves it to Open & Approved — it’s now cleared to recruit.
  • Reject moves it to Rejected. A small dialog lets you enter an optional reason.
If you have hr-recruitment:write, you can also Put on Hold to pause it. A held requisition can be resumed later by approving it again.
⚠️ Current state: The reject dialog asks for an optional reason, but the reason is not stored — the server discards it. Treat the field as a courtesy note only; if the reason matters, record it elsewhere. (Flagged for the team.)

Turning a requisition into a job opening

Once a requisition is Open & Approved, open it and choose Create Job Opening (needs hr-recruitment:write). This creates a new job opening and copies across:
  • Job title ← the requisition’s designation
  • Number of positions
  • Position and Department (if set)
  • Salary range (minimum) ← the expected compensation
  • Description
  • A back-reference so the opening “remembers” which requisition it came from
The new opening starts in Open status. The requisition itself stays Open & Approved — it is not changed by the conversion.

How a requisition gets to “Filled”

You don’t normally mark a requisition Filled by hand. When you close the job opening that was created from a requisition, Hitaji 360 automatically marks the linked requisition Filled, stamps its completion date, and records the time to fill (the gap between posting date and completion). This is what feeds the average time to fill figures on the dashboard. Requisitions already in a final state (Filled, Rejected, Cancelled) are left alone.
⚠️ Current state: On the requisition detail page, the “Time to fill” value is shown as a raw seconds count but labelled “days”, so a role filled in 10 days reads as a very large number. The requisitions list shows it correctly in days. (Display bug, flagged for the team — the underlying data is correct.)

Editing and cancelling

  • A requisition can be edited at any time except once it is Cancelled (then editing is blocked).
  • A requisition can be cancelled from any state except when it is already Cancelled.
  • Deletion is a soft-delete — the record is hidden, not destroyed — and is gated by hr-recruitment:write.

Permissions