1. Home
  2. Settings
  3. Settings (System)
  4. Examples- Leave Balance

Examples- Leave Balance

📘 What this page is

This page is a worked-examples companion to Leaves Settings. The parent screen explains which fields you fill in; this page shows you what those fields actually do to a real employee’s leave ledger over weeks, months, and years — so you can pick policy values with confidence before you generate your first salary.

📍 Where the rules are set: Settings → Leaves → the Leave Details aside (Edit mode). Every example below assumes the policy is configured there and the monthly Salary has been generated — that is the moment the system actually credits accrual to each employee’s ledger.

💡 How to read the timelines:

  • “Credited” means the row was added at Salary Generation for that month — not on the 1st of the month and not at midnight.
  • “Balance” means what the employee can apply for on that date.
  • Daai standardises the daily rate at Basic ÷ 30 for both encashment and Loss-of-Pay, so the same per-day value is used wherever leave converts to money.

📅 Example 1 — Monthly Accrual on a Full Year

This is the simplest case — an employee joins on day one of the financial year and never takes leave.

SettingValue
EmployeePriya Sharma — joined 1 Jan 2025
Leave TypeCasual Leave
Yearly Quota12 days
Accrual MethodMonthly (12 ÷ 12 = 1 day per month)

Ledger Timeline

MonthCredit at Salary GenLeaves TakenClosing Balance
January 2025+101
February 2025+102
March 2025+103
April 2025+104
May 2025+123
June 2025+104

📌 Read-out: Without any leave, Priya would have 6 Casual leaves credited by 30 June 2025. Because she used 2 days in May, her June closing balance is 4. The 6 days never appear at once — they appear one row at a time, only after her May / June salary is generated.

⚠️ Edge case — salary not yet generated: If the May salary is not yet run when Priya tries to apply on 25 May, her balance is still 4 (Jan + Feb + Mar + Apr credits). The May credit lands when HR clicks Generate for May.


🆕 Example 2 — Mid-Year Joiner (Starter Allocation)

What happens when an employee joins in the middle of the year? The starter allocation fires on the first false → true transition of Is Employee = Yes (whether at create or via the Employee toggle later), then the same monthly accrual takes over.

SettingValue
EmployeeAnjali Mehta — joined 15 July 2025
Leave TypeCasual — 12 / year (1 / month)

Ledger Timeline

EventCreditNotes
15 Jul 2025 — User created with Is Employee = YesStarter allocation runsSystem pro-rates from joining month onward; the lump for any earlier opening balance must come from Opening Balance Import, not starter allocation.
July salary generated+1First monthly accrual
August → December salaries+1 each (5 rows)Year-end balance built up purely from monthly accrual

📌 Why the starter allocation matters: Without it, an employee toggled to Is Employee = Yes after the fact (for example, the tenant Admin who later became an employee) would sit with all-zero leave balances forever. Daai now triggers the starter allocation on every false → true transition, both at user create and at user edit.

ℹ️ Migrating from another HR system? Use Opening Balance Import on the Leaves Settings aside once, before generating the first salary. After that the importer button hides forever and starter allocation + monthly accrual are the only paths to credit leaves.


💵 Example 3 — Encashment at Exit (Realistic Basic)

The live example assumes Basic = Monthly Salary for simplicity. In real Indian payroll, Basic is usually 40–50% of CTC, and Daai uses Basic (not Gross, not CTC) as the encashment base. Both versions are shown so you can match your structure.

Variant A — Simplified (Basic = Monthly Salary)

SettingValue
EmployeeRamesh Patel — exit 31 Dec 2025
Leave TypePrivilege Leave — 18 / year
EncashmentAll unused at exit
Monthly Salary₹30,000 (Basic = same)
Per-day rate₹30,000 ÷ 30 = ₹1,000
ItemDaysAmount
Accrued through Dec18
Taken5
Unused (encashable)1313 × ₹1,000 = ₹13,000

Variant B — Real-world (Basic = 50% of Gross)

ItemValue
Gross Monthly Salary₹30,000
Basic (50% of Gross)₹15,000
Per-day rate₹15,000 ÷ 30 = ₹500
Encashable days13
F&F encashment13 × ₹500 = ₹6,500

⚠️ Common pitfall: Encashment uses Basic ÷ 30, not Gross ÷ 30 and not Basic ÷ 26. If you switched payroll systems and your old vendor was using a 26-day divisor, expect a ~13% lower encashment number in Daai for the same Basic.

📌 Encashable Limit caps the days, not the rate: If you had set Privilege Leave’s Encashable Limit = 10, Ramesh would still be paid only on 10 days even though 13 are unused. The other 3 lapse with the year-end / exit settlement.


🔁 Example 4 — Yearly Carry Forward (3-Year Cycle)

Carry-forward decides how many unused days survive the lapse month each year. Yearly carry-forward applies the cap once, on the lapse month.

SettingValue
Leave TypeEmergency Leave
Yearly Quota12 (1 / month)
Carry Forward Limit5
Lapse OnDecember (calendar-year cycle)
BehaviourEmployee never takes leave

Year-by-Year Ledger

YearOpeningCreditedClosing (before lapse)Carry forward1 Jan next year
Year 10+1212capped at 55 + 1 = 6
Year 26+1218capped at 55 + 1 = 6
Year 36+1218capped at 55 + 1 = 6

Key takeaway: Carry Forward Limit prevents balances from compounding indefinitely. With Limit = 5, the steady-state opening balance every January is 6 (5 carried + 1 freshly credited at January salary), regardless of how many years the employee stays.


📆 Example 5 — Monthly Carry Forward (Annual Lapse Still Applies)

Monthly carry-forward lets balance keep growing month-on-month within the year — the cap only kicks in at the lapse month.

SettingValue
Leave TypeEmergency Leave
Yearly Quota12 (1 / month)
Carry Forward Limit5
Lapse OnDecember

Month-by-Month Ledger

MonthCreditClosing BalanceNote
January+11
February+12No monthly cap — balance keeps growing
March → June+1 each3 → 6Already above the 5-day Carry Forward Limit, but the cap doesn’t fire mid-year
July → November+1 each7 → 11
December (before lapse)+112
December (after lapse)57 days lapse
January (next year)+165 carried + 1 fresh

Yearly vs Monthly — one-line difference:

  • Yearly → cap applies once, on the lapse month, on the year-end balance.
  • Monthly → balance accumulates freely all year; the same yearly cap still applies on the lapse month.

Net effect on the ledger is the same in this example, because the employee never used leave. The two settings diverge when an employee actually takes leave during the year — with monthly carry-forward, mid-year balances stay higher and protect against running out before the lapse.


📕 Example 6 — Lapse Month ≠ December (Financial-Year Cycle)

Most Indian companies run leave on the financial year (April → March), not the calendar year. The Lapse On dropdown on the Leave Details aside lets you set this once on the first row — the same month auto-applies to every leave type, so cycles stay aligned.

SettingValue
Leave TypeCasual — 12 / year
Carry Forward Limit3
Lapse OnMarch
Employee balance on 31 Mar 20269 days unused
DateActionBalance
31 Mar 2026 (lapse processed)9 → 3 (cap applied; 6 days lapse)3
1 Apr 2026 (FY 26–27 begins)April salary credits +14

⚠️ Pick the lapse month carefully: Once the first salary has been generated, the Lapse On field for an actively-used leave type becomes read-only. Choose the lapse month that matches your own HR cycle before running payroll for the first time.


👥 Example 7 — Probation & Notice-Period Paid-Leave Toggles

The two policy switches at the top of Leave Settings — Allow Paid Leave in Probation and Allow Paid Leave in Notice Period — do not change the accrual ledger. They change whether a leave inside those windows is paid or treated as Loss of Pay.

Scenario

FieldValue
EmployeeVikram Joshi
Joining1 Sep 2025; probation = 3 months (ends 30 Nov 2025)
Leave Applied5 days in October 2025
Basic Salary₹20,000 → per day ₹20,000 ÷ 30 = ₹666.67
Probation toggleWhat happensSalary impact
ONLeave debited from Casual balanceNo deduction
OFFLeave is logged but treated as LWP5 × ₹666.67 = ₹3,333.33 deducted from October salary

📌 Same logic for Notice Period. If Vikram resigns on 1 Mar 2026 with a 30-day notice and applies leave on 15 Mar:

  • Notice toggle ON → paid leave from his accrued balance.
  • Notice toggle OFF → LWP at Basic ÷ 30, deducted from his final March salary.

ℹ️ The toggles do not retroactively re-credit: Switching the toggle ON after a salary has been generated does not refund a past LWP deduction. Adjust at the Employee level on the Leave Statement tab if a one-off correction is needed.


🍽️ Example 8 — Sandwich Policy & Leave Days

Sandwich Policy doesn’t change accrual either — it changes how many days are debited when leave brackets a weekend / holiday.

ScenarioSandwich OFFSandwich ON
Leave on Friday + Monday (Sat & Sun in between)2 days debited4 days debited (Fri + Sat + Sun + Mon)
Leave on Thursday + Tuesday with a Friday public holiday2 days5 days (Thu + Fri + Sat + Sun + Mon… or whichever non-working days fall in the bracket)

⚠️ Sandwich is paired with “Month Days” salary calculation: If your tenant uses Working Days instead, the Sandwich toggle is auto-disabled by the system and a warning is shown — weekends are already excluded from working-day pay, so sandwiching them again would double-count.


🔑 All Examples in One Picture

📌 Quick reference

  • Accrual hits the ledger at salary generation, not on the 1st.
  • Encashment / LWP / Conveyance daily rate = Basic ÷ 30.
  • Yearly carry-forward caps once at the lapse month; Monthly never caps within the year but lapses at the same month.
  • Lapse month is set on row 1 and applied to every leave type.
  • Probation / Notice toggles change pay, not balance.
  • Encashable Limit caps days; it cannot exceed the Carry Forward Limit for the same type.
  • Starter allocation runs once on every false → true Is Employee transition; opening-balance migration uses the one-time Import.

🔗 Going back? For the screen, fields, and where each setting lives, see Leaves Settings. For the bigger HR picture, see HRM → Leaves and HRM → Salary.

How can we help?