Nexa People
All modules

Leave runs on one idea: every day off should be a movement on a ledger, not a note in a spreadsheet. Each employee holds a balance per leave type — entitled days, carried-over days, compensatory credit, days taken, days pending and any penalty — and the available balance is always computed from those parts. Applying for leave moves days into pending, approval moves them to taken, rejection releases them — every figure derives from real ledger movements.

Policy lives on the leave type, not in people's heads. Each type carries its own entitlement, eligibility by employment status, employee group and gender, paid or unpaid status, recorded carry-over and accrual preferences, sandwich and club day policy fields, an encashment flag, request rules like advance notice and consecutive-day limits, and its own approval chain. Annual, sick and casual leave can behave completely differently without anyone remembering why.

The guardrails are enforced before anything goes wrong. A request that exceeds the available balance for that leave type is blocked at submission with a clear message rather than driving the balance negative, only pending requests can be edited or decided, and no approver may decide leave raised in their own name, barring an owner or administrator override. When leave is approved, the covered dates are written into attendance automatically, so the timesheet and the leave record never disagree.

HR works from a full surface — Leave Request, Compensation Request, Leave Approval and Leave Settings — while employees get a self-service page for their own requests. Every form and action sits behind the permission matrix, so who may add, update or delete a request, act on approvals or touch quotas is your organisation's call, enforced on the interface and again on the server.

How Leave works

Leave types carry the policy

A leave type is defined once in Leave Settings and everything follows from it. The form covers basic details — title, days entitled, gender, employee status and employee group eligibility, paid or unpaid — then the quota preferences recorded on the type — pro-rata assignment, carry-over with a maximum, six accrual options and a monthly usage cap — while assignment itself grants each eligible employee the type's full entitlement.

Request rules are set per type as well: how many days in advance a request must be made, eligibility windows before and after a date, whether consecutive days are required with minimum and maximum runs, when a full-day request needs a supporting attachment, and which durations — Full Day, Half Day or Quarter Day — the type allows. Sandwich and club day policy fields and an encashment flag with a recorded calculation method round out the type's configuration, and a type that is in use cannot be deleted by accident.

Quotas assign themselves, and stay adjustable

When a leave type is created or updated, its quota is allocated to every active employee who matches the type's eligibility — employment status, employee group and gender are read from the employee record. New joiners with auto-assignment enabled receive their matching quotas on creation, and when someone's employment type changes, say Probation to Permanent, any newly matched quotas are granted automatically. Updating a type refreshes entitlements on eligible rows; taken, pending and carried-over figures are preserved.

The Employee Leave Quota grid then gives HR the whole picture: one row per employee and leave type, filtered by station, department, employee, leave type, year and flag. Change Detail adds or subtracts from Allowed, Carried Over or Taken with a note recorded against the change; Update Leave Quota replaces an entitlement outright; and a CSV upload with a downloadable template imports quotas in bulk by employee code and leave type name. Rows can be marked, unmarked or removed in bulk.

Requesting leave takes a minute

The request form asks for the employee, leave type, duration — full day, half day or multiple days — the dates and a reason, with an optional file attachment for medical certificates and the like. The number of leave days is computed as you type: a half day counts 0.5, a range counts every day inclusive.

Beside the form sits the Employee Leave Summary, showing entitled, taken, pending, sandwich and club pending, carried over, compensatory and the remaining balance per leave type for the current quota year — so whoever is applying can see what is actually available before submitting. If the request would exceed that balance, the server refuses it with the exact shortfall. On submission, approvers receive a bell notification naming the employee, the type and the dates.

Approval follows the chain you configured

Each leave type is either auto-routed to any permitted approver or given a multi-level chain of up to five levels. Every level's approver is either a named employee or a role resolved relative to the requester — the reporting-line manager, department head or a manager further up the chain — so the same policy works for every team without re-configuration.

A multi-level request stays pending until the required number of distinct approvers have signed off, and only the approver whose turn it is may act, with owners and administrators able to override. A single rejection at any level finalises the request immediately. An approver cannot decide their own request — only an owner or administrator override may — and on a single-level route the actor must hold the Leave Approval permission. The Leave Approval queue lists everything with employee, type, status and date-range filters, defaulting to pending.

The ledger keeps itself honest

The available balance is always entitled plus carried over plus compensatory, minus taken, pending and penalty — recomputed after every change. Applying adds the days to pending; approval moves them from pending to taken; rejection releases them back. Editing a pending request re-validates the new dates against the balance and reconciles pending automatically, and deleting a request reverses whichever movement it made.

Approval also writes through to attendance: each full-day date of an approved leave is marked On Leave, while a half day only reduces the balance and never touches the day's check-in and check-out. Remove an approved leave and the attendance records it created are restored.

Compensation requests capture extra time worked

Employees who worked overtime or on a holiday can raise a Comp O.T. or Comp Holiday request from self-service, recording the date and the time in and out — or several dates at once with the multiple-lines form. General Leave Settings defines how these route: auto-approved, or through a multi-level forwarding chain of up to five levels, alongside the hours that constitute a full day, the leave quota year start date, a carry-forward preference recorded for that date, station leave and the number of signature lines on leave reports. Compensatory credit is a first-class column on every balance and quota row.

Features

Leave types with real policy depth

Entitlement, eligibility by employment status, employee group and gender, paid or unpaid, recorded carry-over and accrual preferences, sandwich and club day policy fields, advance-notice and consecutive-day rules, attachment requirements and allowed durations — all configured per type, each with its own approval chain.

Automatic quota assignment

Creating or updating a leave type allocates its quota to every eligible active employee, new joiners receive matching quotas on creation, and a change of employment status grants newly matched types. Updating a type refreshes entitlements on eligible rows; usage figures survive.

A quota grid built for HR

One row per employee and leave type with allowed, carried over, taken, pending, compensatory, sandwich and club, penalty and balance, filtered by station, department, employee, type, year and flag, with page sizes up to five hundred records and bulk mark, unmark and delete.

Adjustments with an audit trail

Change Detail adds or subtracts from Allowed, Carried Over or Taken and records a note against the movement. Update Leave Quota replaces an entitlement for a chosen year, and a CSV import with a downloadable sample template loads quotas in bulk by employee code.

Balance-checked requests

A request that exceeds the available balance for its leave type is refused at submission with the exact number of days available — the ledger can never go negative. Only pending requests can be edited, and edits are re-validated the same way.

Approval chains that fit your structure

Auto-approved or up to five levels per leave type, with each approver a named person or a role resolved from the requester's reporting line. Requests stay pending until every required level signs off, one rejection finalises, and approvers can never decide their own requests, barring administrator override.

Employee self-service

Employees apply from their own page, watch each request's status, and edit or withdraw anything still pending. Their live leave summary — entitled, taken, pending and balance per type — sits right beside the form, and the same summary appears on their dashboard.

Compensation leave requests

Comp O.T. and Comp Holiday requests record the date and hours worked, singly or as multiple lines in one submission, and route through their own configurable forwarding chain. Approved credit shows as the compensatory component of the leave balance.

Attendance write-through

Approving a leave marks every covered full day as On Leave in attendance automatically, and removing an approved leave restores those records. Half days reduce the balance without touching the day's check-in and check-out.

Used by: Employees request from self-service; HR and designated approvers act on requests.

Works with the rest of Nexa People

Leave writes straight into Attendance: approval marks each covered full day On Leave, deletion of an approved request restores what it changed, and an optional policy requires an employee to have an assigned shift before their leave can be approved — so rosters and leave decisions stay in step. Requests raised by employees travel through the same approval engine as attendance and HR requests, and approvers are told by bell notification the moment leave is waiting on them.

The Employee record drives eligibility and routing. Employment status, employee group and gender on the profile determine which leave types a person receives; the auto-assign settings on the record hand new joiners their quotas; and role-based approvers — line manager, department head and managers further up the chain — resolve from the reporting line stored in Employee Management. The station and department filters throughout the module come from the structure defined in Organization.

Downstream, balances feed the rest of the suite: the employee dashboard carries a live leave summary card, Reports includes leave request and leave balance reports with the full ledger columns, leave types flagged encashable are the ones separation reads when computing an encashment payout, and — with the corresponding setting enabled — leave requests against compensatory leave types are checked against existing payroll periods before acceptance.

Frequently asked questions

How is an employee's leave balance calculated?

Per leave type, the balance is entitled days plus carried-over days plus compensatory credit, minus days taken, days pending approval and any penalty. Every application, decision, edit, deletion and quota adjustment recomputes it immediately, so the figure shown in the summary is always current.

Can someone request more leave than they have?

No. The server compares the requested days against the available balance for that leave type before accepting the request and refuses it with the exact number of days available. Editing a pending request is validated the same way, so the ledger can never be driven negative.

Who approves leave, and can there be more than one level?

Each leave type routes either to any user holding the Leave Approval permission or through a chain of up to five levels, where each level is a named employee or a role resolved from the requester's reporting line. A multi-level request stays pending until every required approver has signed off, one rejection at any level finalises it, and approvers cannot decide their own requests, with owner or administrator override as the only exception.

Do new employees get their leave quotas automatically?

Yes, when auto-assignment is enabled on their record. On creation they receive the quota of every leave type whose eligibility they match, and if their employment status later changes — Probation to Permanent, for instance — newly matched types are granted at that point. If a type is later updated, entitlements refresh on eligible rows, but usage — days taken, pending and carried over — survives the recalculation.

Can HR adjust balances mid-year?

Yes. The Employee Leave Quota grid's Change Detail adds or subtracts from the Allowed, Carried Over or Taken figures with a note stored against the change, Update Leave Quota replaces an entitlement for a chosen year, and a CSV upload with a sample template imports quota rows in bulk by employee code and leave type name.

What happens to attendance when leave is approved?

Each full day covered by the approved request is marked On Leave in the attendance record, created if necessary. A half day only reduces the leave balance and leaves the day's check-in and check-out untouched. If an approved leave is later removed, the attendance entries it created are reverted.

How do compensation requests work?

An employee who worked overtime or on a holiday submits a Comp O.T. or Comp Holiday request with the date and time in and out — or several dates in one multiple-lines submission. The request routes through the forwarding chain configured in General Leave Settings, either auto-approved or across up to five levels, and compensatory credit appears as its own component of the leave balance.

See Leave in your own setup

We'll walk you through the modules you care about and email you login credentials to try it yourself.