Skip to main content
itzseo
HRMS · Phase 31.4

Leave requests that don't get lost in Slack.

Apply modal. Per-type balance. Multi-stage approval workflow. Holiday integration. HR queue. Cancel approved leaves with reason. Everything that turns Slack-DM HR into a system.

For employees

Apply leave in 30 seconds.

At /me/leave. Modal. Submit. Track.

1

Pick type

Sick Leave, Casual, Earned, Comp-off, Maternity — whatever your workspace configured. Each type shows its own balance.

2

Pick dates

Date range. Half-day toggle. Holidays auto-deducted from the day count (won't burn balance on a holiday).

3

Reason + submit

Optional reason text. Submit → request hits HR queue. Live balance check confirms before debit.

4

Track status

History list shows Pending / Approved / Rejected / Cancelled. Cancel pending leaves yourself. Approved leaves require HR approval to cancel.

For HR + managers

The queue, the filters, the decisions.

The queue

/hr/leave shows pending requests. Filter chips: Pending / Today's decisions / This week / All. Department-scoped — managers only see their team.

3 actions per row

Approve → leave activates, balance debits. Reject → reason required. HR Override → approve over manager rejection (logs audit trail).

Approved leaves

Cancel an approved leave with reason. Refunds balance. Sends email to employee + manager. The cancel surface has a stuck-state guard to prevent double-click race conditions.

Approval workflows

Single or multi-stage.

Configure per leave type at /settings/hr/setup. Some workspaces want manager-only approval. Others want manager → HR → finance. Both work.

Single-stage

Employee submits → manager decides. One approval. Most common for Casual Leave, half-days. Stages: PENDING → APPROVED/REJECTED.

Multi-stage

Employee → manager → HR → (optional) finance. Each stage approves before the next sees it. Reject at any stage ends the chain. Configurable per leave type.

Phase 31.5 integration

Holiday-aware balance math.

Apply for Mon-Fri leave when Wednesday is a public holiday? The validator counts 4 leave days, not 5. The Wednesday holiday is deducted automatically before the balance debits.

Edge case: ALL_HOLIDAYS rejection — if every day in the range is a holiday, the leave is rejected (you don't need leave on days you don't work)
FAQ

Leave management questions.

How many leave types can I configure?
Unlimited. Standard set ships in the starter pack (SL, CL, EL, Comp-off, Maternity, Paternity, Bereavement, LOP). Add custom types — wellness day, sabbatical, public-service leave, anything. Each type has its own balance + carryforward + approval workflow.
How does carryforward work?
Configure per leave type: zero carry, full carry, capped carry (e.g., max 10 days roll over), or expire-on-fiscal-year-end. Set at /settings/hr/setup → leave types.
What if balance is negative?
By default, leave application blocks if it would push balance below zero. HR Override lets a manager approve anyway (creating a negative balance). Audit trail records that the override happened, who approved, and the new (negative) balance.
Can I add comments on a request?
Yes. Each leave request has a comments thread. Employee, manager, HR can all comment. Useful for ‘please let me know if you can't cover Tuesday morning’ back-and-forth.
What happens to leave when an employee leaves the company?
Their balance freezes. Outgoing-employee final settlement uses the frozen balance × per-day-salary (configurable per workspace) — exported via the HR reports CSV. Removal of the user from the workspace soft-archives their leave history (recoverable for audits).
Can the leave validator be bypassed?
Only via HR Override. Submitting through the API or directly via Prisma still hits the validator. The validator is the gate, not a UI nicety.

Stop tracking leave in Slack.

14-day trial.