Leave management

Set up leave types, let staff request time off, approve or reject requests, track entitlements and usage, and keep a public-holiday calendar.

Leave management is the full time-off cycle: define the kinds of leave you offer, let staff apply, approve or reject each request, and track what everyone has left. Everything lives under Human Resources → Leave.

Before you start

  • Create your leave types first, and set a default entitled days on each — requests need a type, and that figure is what balances are generated from.
  • Generate balances for the year before staff apply. A request with no matching balance for its year is refused with "no leave balance found".
  • Approving needs permission. The Approve / Reject buttons only show for users whose role grants leave approval; requesters can always file, submit and cancel their own.

Leave types

Leave → Types (/staff/leave_types) defines the categories of leave you offer. Each type has a name, a short code and a color, plus a set of rules: whether it's paid, whether it requires approval or an attachment, a max days per request, a minimum days' notice, the default entitled days granted each year, and whether unused days carry forward (up to a cap). The default entitled days is what Generate Balances grants, so set it on each type before generating. A typical setup includes Annual, Sick, Maternity, Paternity, Bereavement, Unpaid, Compensatory and Study leave — add or deactivate types with New Leave Type. Only active types appear when staff file a request or when balances are generated.

Leave types — name, code, paid and active

Leave requests

Leave → Requests (/staff/leave_requests) is the queue of applications. Each row shows the employee, leave type, the from / to dates, the number of days and a status. Filter by employee, type or status.

Staff file for themselves with New Request; a manager uses For Employee to file on someone's behalf. A request moves through a short lifecycle:

  • Draft — a self-filed request starts here. The requester can still edit or cancel it, then clicks Submit to send it for approval. (A request filed For Employee is submitted straight away.)
  • Submitted / Pending approval — waiting on a decision. Whoever holds approval permission opens the request and clicks Approve or Reject (with a reason); either can carry notes.
  • Approved / Rejected / Cancelled — the final outcome. The requester can Cancel a request any time before it's decided.

The day count comes from the employee's work schedule — only working days are charged (weekends and other non-working days are skipped, defaulting to Monday–Friday if no schedule is set). Tick half day on the start or end date to charge half a day at that end.

Leave requests — applications and approvals with status

Leave balances

Leave → Balances (/staff/leave_balances) tracks each employee's entitlement per type per year: entitled, used, pending (awaiting approval) and available. Available is the entitled and carried-forward days, plus any manual adjustment, minus what's used and pending. Balances update automatically: when a request is submitted its days move into pending; on approval they shift from pending to used; a rejection or cancellation frees them again.

Set the year at the top and use Generate Balances to seed a whole year's entitlements in one go — it creates one balance per active employee × active leave type from each type's default entitled days, rolling forward last year's unused balance where the type allows carry-forward (capped at its limit). It skips anyone who already has a balance, so it's safe to re-run. Use New Balance for a one-off, or edit a balance to record a manual adjustment.

Leave balances — entitled, used, pending and available per employee

Holidays

Leave → Holidays (/staff/holidays) is your company and public-holiday calendar — name, date, year, and whether it's mandatory. It's a shared reference of the days your business is closed. Cameroon public holidays come pre-seeded; add company-specific days with New Holiday.

Holidays — company and public holidays with mandatory flag

Tips

  • Set up types and balances before go-live — requests need a type, and balances make approvals meaningful.
  • Regenerate balances each year — one Generate Balances run rolls entitlements forward for everyone.
  • Submitting reserves the days — available balance drops the moment a request is submitted (into pending), not only when it's approved.
  • One request per period — a submission that overlaps another submitted, pending or approved request for the same employee is blocked.
  • Watch the pending column — a high pending balance means requests are waiting on a manager.

What's next