LekhaHR
Start trial

Leave management system for India

Leave management that shows the math before anyone submits.

Let employees see which days count, what policy applies and how the balance changes. Route the decision and keep every balance movement as a ledger row you can open.

  • No base fee
  • Per active employee
  • GST extra
Product workflow previewThe trust moment happens before Submit.

Dates, holiday and weekly-off treatment, units used and balance after belong together, before an employee waits for approval.

Real released UI screenshots remain required before public indexing.

Quick answer

What does a leave management system do?

A leave management system turns company policy into a visible workflow: calculate a request, route it to the right reviewer, update the authorized calendar and retain the ledger entry that explains the balance.

Math before submit

Show what counts while the dates are still editable.

A request should reveal holidays, weekly offs, half-days and any configured sandwich-rule treatment, then the resulting balance, before the employee commits.

Illustrative requestMon 13 – Wed 153 calendar days selected
Holiday excludedTue 14Based on the effective calendar
Leave used2 daysBalance 15 → 13
The request screen shows counted days, policy treatment and balance after before submission. A clash, sandwich rule or short-notice flag appears here as a warning, not a block. Values shown are an illustrative workflow, not customer data.

When the request runs past the balance, the same panel flags it before Submit: balance 1.5, requesting 3 — 1.5 days would be unpaid (LOP). It is a plain warning of the shortfall, not a rupee figure; Payroll still owns what LOP costs.

Why exactly this number, not just a balance card

See why a leave balance is exactly what it is.

Pick a leave type. LekhaHR folds the same append-only ledger the employee, the manager and the HR audit all read: each accrual, request, carry-forward, comp-off credit and reasoned adjustment stays a separate row with its source, and the balance is their sum — never a number typed onto a card.

Choose a leave scenario to see how its balance folds
Illustrative ledger · schematic render of the real fold payloadEarned leave (EL)

Why is my balance exactly 7.5 days?

  • +3.0Starting balance imported at go-liveFrom your previous system, as the opening ledger rowopening_balance
  • +2.5Carried forward at the year-end rollover runCredited by the reviewed year-end job, within the plan's capcarry_forward
  • +6.5Monthly accrual credited so far this plan yearRate set by your plan, not a statutory figureaccrual
  • −4.0Approved leave requestOne intervening holiday was excluded and explained on the requestconsumption
  • −0.5HR correction with a mandatory reasonA visible row that opens the adjustment recordadjustment
available = fold(ledger)7.5 days

Every row deep-links to its source: the request, the policy version, the go-live import batch or the HR adjustment reason. The ledger spans go-live to the current plan year, and the two positive rows stay distinct. The opening balance was imported once at go-live; the carry-forward was credited at year-end.

Nobody types 7.5 onto a card. It is the sum of visible movements, and any one of them can be opened.

Structural example of the real balance breakdown, server-computed and never hand-typed.
Illustrative ledger · schematic render of the real fold payloadEarned leave (EL)

Why did a Friday and Monday leave use four days?

  • +6.0Starting balanceImported at go-liveopening_balance
  • −4.0Friday and Monday leave, weekend countedThe Saturday and Sunday in between count under the sandwich rule armed by this company's planconsumption
available = fold(ledger)2.0 days

The counted-or-excluded decision belongs to the policy version, and it shows on the request before Submit as a warning, not a surprise on the ledger. This example uses earned leave. Many companies exempt casual leave from the sandwich rule, which is a plan setting.

Two leave days plus a two-day intervening weekend is four days here, because this plan arms the sandwich rule. With the rule off, the same request would use two.

Structural example of the real balance breakdown, server-computed and never hand-typed.
Illustrative ledger · schematic render of the real fold payloadComp-off

Where did this comp-off credit come from?

  • +1.0Credit for working a weekly offEvidence is a frozen attendance day with its calculation version and input hashcompoff_credit
available = fold(ledger)1.0 day

Attendance emitted the worked-day evidence and froze it. Leave revalidated it against the comp-off plan that applied on the worked date, owns the credit and shows its expiry before it lapses.

A later attendance correction raises an explicit review fact. It never silently rewrites the credit you already earned.

Structural example of the real balance breakdown, server-computed and never hand-typed.
Illustrative ledger · schematic render of the real fold payloadEarned leave (EL) · year-end

What happens to leave above the carry-forward cap?

  • +25.0Full earned balance carried into the new plan yearNothing lapsed; the year-end run carries the whole earned balancecarry_forward
  • 5.0Days above your plan's cap, flagged for encashmentIllustrative plan cap, not a statutory figure; staged for Payroll to valueencashment_pending
available = fold(ledger)25.0 days

Over your plan's cap, mandatory-encashment leave is carried and queued for payout, never silently lapsed. These 5 days stay in your balance until Payroll runs the encashment — then they are paid out and removed (25 → 20). Other above-floor leave lapses only where your plan sets it to, on a dated lapse rule, and the ledger records it. Payroll values the money.

So encashment means paid out, not kept: the 5 flagged days are money later, not a permanent addition to the 25. The year-end run previews this before it executes, no balance moves until a reviewer runs it, and the cap shown here is your plan's figure, not a statutory number.

Structural example of the real balance breakdown, server-computed and never hand-typed.

Every panel is a schematic of the real GET /api/leave/balances/<typeId> payload: a ledger[] of {amount, kind, source} rows folded server-side into available, plus a year-end projection. Not employee or customer data; no rupee amounts and no statutory day-counts (Payroll values money; statutory figures come from dated fixtures).

India leave policy, wired to a running plan

India leave rules, applied instead of just described.

India's leave rules sit across the Shops and Establishments Acts, the Factories Act and, since 21 November 2025, the four Labour Codes, with rules still being notified through 2026. LekhaHR does not hard-code a single national figure. It starts from a jurisdiction template, applies your company plan and versions every change with an effective date.

EL · CL · SL

Earned, casual and sick leave

Conventional Indian categories, each with its own accrual and rules. Your plan sets the exact numbers; LekhaHR applies the version your admin effective-dated and shows the plain definition beside the balance.

Sandwich rule

Off by default, armed per plan

A holiday or weekly off between two leave days counts only when your plan arms the sandwich rule, and many companies exempt casual leave. The request shows the counted days before Submit.

Carry-forward

Capped, mandatory encashment carried

Leave carries forward to your plan's cap. Over the cap, mandatory-encashment leave is carried and queued for payout, never silently lapsed. Encashment means those days are paid out and removed from the balance, not kept on top of it. Other above-floor leave lapses only on a dated lapse rule the ledger records.

Leave year

Jan to Dec or Apr to Mar

The leave year is a plan setting. Accrual, carry-forward and the year-end run follow the basis you choose, and historical requests keep the version that applied on their date.

Leave management software scope

Requests, policies and balances should tell the same story.

01

Effective-dated leave plans

Configure types, accrual, carry-forward and eligibility through reviewed versions rather than editing history.

02

Math before submission

Show counted days, holidays, weekly offs, sandwich-rule treatment and balance after before an employee commits.

03

Requests that stay traceable

Keep pending, queried, replied, approved, rejected and cancelled states visible with their frozen route.

04

Explainable balance ledger

Fold accruals, requests, carry-forward, comp-off credits and reasoned adjustments into a balance you can open row by row.

05

Two accrual engines

Run periodic grants or worked-days accrual, whichever your state template and plan require, on the same ledger.

06

Year-end preview

Show carry-forward, mandatory-encashment and lapse treatment before a reviewed year-end run changes any balance.

07

Privacy-safe team planning

Show authorised coverage while protected absence stays a neutral unavailable day.

08

Reviewed downstream facts

Approved leave updates attendance and later payroll inputs without Leave inventing a payout.

Leave and attendance, one frozen fact

Comp-off ties attendance evidence to a leave balance.

When someone works a weekly off or a holiday, the day's evidence lives in the attendance management system, not in a manager's memory. Attendance freezes that worked day with its calculation version and input hash, and Leave revalidates it against the comp-off plan before crediting the balance and setting an expiry. The two shipped modules pass one frozen fact between them, so a comp-off credit can always be traced back to the day that earned it.

Policy history

Change tomorrow’s rule without rewriting yesterday.

A reviewed leave-plan version records its effective date, assignment and source. Historical requests retain the version that actually applied.

  1. DraftConfigure the rule and preview affected employees.
  2. ActivateApply a reviewed version from its effective date.
  3. ExplainKeep the applied policy version beside every calculation.

Minimum disclosure

Show team coverage without exposing medical facts.

Scheduling projection

Authorized teammates or managers may see that someone is unavailable. Protected leave kind, medical facts, documents and reviewer details remain purpose-bound.

One workflow, three views

Clear for employees, managers and HR.

Employee

See the impact before applying

Review counted units, excluded days, policy treatment and balance after while the request is still editable.

Manager

Decide with coverage and context

Review dates, request history and authorized team impact without receiving unnecessary protected-leave details.

HR / Payroll

Trace every balance movement

Retain accruals, approvals, carry-forward and corrections while Payroll remains responsible for monetary valuation.

Transparent pricing

See what leave management costs without a platform minimum.

Operations starts at ₹79 per active employee/month billed annually. Business starts at ₹119. GST extra.

Leave FAQ

Questions to answer before moving leave out of spreadsheets.

What is a leave management system?

It is software that applies your company leave policy to a request, calculates the units and balance impact, routes the decision to the right reviewer and keeps an explainable balance and history for authorised users. LekhaHR folds every accrual, request, carry-forward and reasoned adjustment into a balance you can trace back to its source.

How are leave balances calculated?

Balance is derived from an append-only ledger. Opening balance, accruals, carry-forward and comp-off credits add; approved requests and reasoned adjustments subtract; the balance is their sum. Every row keeps its source, so you can open the request, policy version, import batch or HR adjustment that produced each movement.

Will employees see the balance impact before applying?

Yes. The request flow shows the selected dates, the holidays and weekly offs it excludes, the counted units and the balance after, before Submit. A clash with a teammate, a sandwich rule or a short-notice condition appears as a warning at that point, not a silent block.

What is SL and CL leave, and what is EL?

SL is Sick leave, CL is Casual leave and EL is Earned or Privilege leave. These are conventional Indian categories, and your company plan sets the exact numbers, accrual and rules for each. LekhaHR does not assert a universal count; it applies the plan your admin configured and effective-dated.

What is the new leave policy in India?

India's four Labour Codes took effect on 21 November 2025, with central rules notified in May 2026 and state rules being notified through 2026. They change how earned-leave eligibility, carry-forward and encashment work. Exact figures and applicability depend on your establishment type and state. For most private establishments, your state's rules continue to apply until that state notifies its own rules. LekhaHR configures your plan to the applicable rules and versions the change with an effective date, so a historical request keeps the rule that applied on its date.

How many paid leaves are allowed in India?

Paid-leave entitlement is set by the applicable Shops and Establishments or Factories Act, now read with the Labour Codes, together with your company policy, which may be more generous. LekhaHR configures the plan against your company policy and the applicable act; dated statutory floors are added as fixtures land. We do not print a single national number, because the figure depends on your state and establishment type.

Can I take casual leave for 5 days?

That depends on your company policy, not a universal rule. Most companies cap consecutive casual leave and expect longer absences to be taken as earned leave. LekhaHR shows your company's exact limit as a warning before you submit, so a request that crosses it is flagged rather than quietly rejected.

Do new hires accrue leave during probation?

Yes. Probation restricts what a new hire can avail, not what they accrue. The default is that leave keeps accruing during probation while availing may be gated by the plan. Denying accrual during probation tends to create full-and-final disputes later, so LekhaHR keeps the ledger accruing and gates only what can be taken.

Is it mandatory to give 10 festival or national holidays?

The National and Festival Holidays Acts are state-specific, so the mandated count varies by state. LekhaHR models holiday calendars per legal entity and location rather than assuming one national list. The exact mandated number is deferred to dated statutory fixtures.

Which leave types are statutory and which are company policy?

Maternity leave is statutory and is handled as a separate protected-leave construct, per event, fully paid and non-deductible. Paternity, bereavement and marriage leave are common company-policy types your plan can add; they are not private-sector statutory entitlements in India. LekhaHR keeps the two apart rather than treating them as equivalent.

Can a company configure different leave policies?

Yes. LekhaHR is built around effective-dated plans and scoped assignments, so different entities, locations or grades can carry different policies. A company plan may be more generous than the applicable floor. Every policy change is effective-dated and logged, and the system flags a change that would reduce a protected entitlement for review before it takes effect.

What happens to unused leave at year-end?

Unused leave carries forward to your plan's cap. Over your plan's cap, mandatory-encashment leave is carried and queued for payout, never silently lapsed. Encashment means those days are paid out and removed from the balance once Payroll runs it, not kept in addition to what carried forward. Other above-floor leave lapses only where your plan sets it to, on a dated lapse rule, and the ledger records it. Payroll owns the payout; no money is computed here.

Does LekhaHR automatically pay leave encashment?

No. Leave produces a reviewed pending-encashment fact and stages it. Payroll owns the money calculation, review and payout after its own release gate. LekhaHR does not value the encashment or run the payment today.

How does comp-off work if I worked on my day off?

Attendance owns the worked-day evidence. When you work a weekly off or holiday, Attendance freezes that day with its calculation version and input hash, and Leave revalidates it against the comp-off plan that applied on the worked date. Leave then credits the balance and shows the expiry before the credit lapses. A later attendance correction raises an explicit review fact rather than silently rewriting the credit.

Can managers see protected or medical leave details?

No. Ordinary reporting hierarchy does not reveal protected-leave kind, medical facts or documents. Scheduling views use the minimum authorised absence projection, so a manager may see that someone is unavailable without seeing why. Evidence is purpose-bound and audited.

Is there a free plan, and how much does it cost?

Pricing is per active employee with no base fee, and the leave module sits in the Operations plan. There is no permanent free tier; you can trial it before committing. The pricing page shows the exact per-employee rate and how it scales with your team.