How leave accrual and balances work

Where a leave balance comes from — monthly earned-leave accrual, prorated sick leave, the carry-forward cap, and why a pending request already costs you days.

Explanation · ~7 min read · Updated 18 Aug 2026

Leave balances are the part of an HRMS people check most often and understand least. This page explains the model so that the number on your screen is never a surprise.

Three kinds of leave, three different rules

The accrual rule is a property of the leave type, and the built-in types behave differently on purpose.

Earned leave accrues monthly. You earn one day for each completed month, credited on the last day of that month. There is one proration rule, and it applies only to the month you join: joining on or before the 15th earns you the full day for that month, joining after the 15th earns you half a day. Every month after that is a full day.

Sick leave is granted annually, prorated by the months left. Someone who has been with you since a previous year gets the full twelve days on 1 January. Someone joining in April gets nine — the months remaining in the year, including the month they joined. There is no monthly drip.

Loss of pay is unlimited and unpaid. It has no allocation and no balance, because it does not need one. The important thing about it is what the product refuses to do: it will never silently reclassify a paid leave request as unpaid to make it fit. If you ask for more days than you hold, the request is rejected and you are told to apply for the shortfall as loss of pay — a decision a human makes, visibly.

Custom leave types you create — bereavement, marriage, sabbatical, whatever your policy needs — take a fourth path: a fixed annual allocation, prorated to the nearest half day for anyone joining mid-year, and granted fresh at the start of each leave year.

The leave year is the calendar year throughout. There is no fiscal-year option.

Where the number actually comes from

A balance is a stored figure per person, per leave type, per year, maintained to one invariant:

balance = allocated + carried forward − used − pending

pending is the part worth understanding. Submitting a request immediately moves days into pending, which is why your available balance drops before anybody has approved anything. That is deliberate: without it, two overlapping requests sitting in the same approver's queue would both look affordable, and approving both would push you negative. Approval moves days from pending to used; rejection or cancellation releases them.

Because the balance is checked at submission against your available figure, there is no negative-balance path and no leave-in-advance facility.

What the schedulers do

Two scheduled jobs maintain balances, and both are written to be safely repeatable — they compute the value the balance should have and write that, rather than adding to whatever is there. Running one twice does not double anyone's leave.

  1. Month end — earned leave accrual

    On the last day of each month, every active employee's earned-leave allocation is brought up to the cumulative total they should have earned since January.

  2. 1 January — the year roll

    Unused earned leave is carried into the new year up to a cap of 30 days; anything above the cap is recorded as lapsed. The new year opens with a zero earned-leave allocation, which then accrues month by month. Sick leave is reset to a fresh annual allocation, and each custom type is allocated again.

Written out, the year-end sum is:

  • unused = allocated + carried in − used
  • carried forward = the lesser of unused and 30
  • lapsed = whatever is left over

New joiners do not wait for a scheduler. Balances are seeded when their onboarding is finalised: a prorated sick-leave allocation, an earned-leave row that starts at zero and accrues from their first completed month, and a prorated allocation of every custom type you have configured.

Counting the days in a request

When you pick a date range, the day count skips Sundays and any day on your holiday calendar — including the holidays your organisation has added on top of the master calendar. Saturdays count as working days.

A half-day request applies a half multiplier to the whole selected range rather than to a single day, so a five-working-day range submitted as a half day books 2.5 days. For a genuine single half day, select one date.

Approval, and what happens when nobody acts

A request is created pending and moves to approved, rejected or cancelled. There is no auto-approval and no draft state. Before it is created at all, an overlap check runs: an existing pending or approved request covering any of the same dates blocks the new one. Rejected and cancelled requests are ignored by that check, so re-applying after a rejection works normally.

Your direct manager can act on your request, as can an org admin. Managers see only their own direct reports.

Requests do not sit unattended forever. Each organisation configures an escalation window in hours — 48 by default — and an hourly job finds pending requests older than that window and escalates them once, to your manager's own manager if there is one, otherwise to an admin. The new approver is notified by email and, where Slack is connected, by direct message. Escalation happens exactly once per request; there is no second hop.

There is also an advance-notice convention, and it is advisory rather than blocking. Requests over five days are expected 30 days ahead, over three days 15 days ahead, and everything else three days ahead; sick leave is exempt. Falling short does not stop the request — it flags it, so the approver sees the context and decides.

What this model does not do

  • No leave encashment. Unused leave is carried forward or lapses; there is no payout calculation, including on exit.
  • No negative balances or advances against future accrual.
  • No configurable accrual schedule per type. Monthly accrual is specific to earned leave; custom types use a fixed annual allocation.
  • No probation or waiting period before accrual begins.
  • No multi-step approval chains, approver groups, or delegation while an approver is away — one approver, plus the single escalation hop.
  • No fiscal leave year.

Frequently asked questions

Why does my earned leave balance go up every month instead of all at once?
Earned leave is accrued, not granted. You earn one day per completed month, credited on the last day of that month, so a balance in March reflects the months you have actually worked rather than the whole year in advance.
Why did my balance drop the moment I applied, before anyone approved?
A pending request reserves its days immediately. That stops two overlapping requests from both looking affordable while they wait for the same approver. If the request is rejected or cancelled, the reservation is released.
What happens to leave I did not use by December?
Up to 30 days of unused earned leave carry into the new year; anything above that lapses. Sick leave does not carry forward — it is reset to a fresh allocation each year.
Can I take leave I have not earned yet?
Not against a paid leave type. A request for more days than you have is rejected rather than pushing you negative — the shortfall is applied as loss of pay instead.