HRMS · Leave Configuration
Hub /admin/leave/global-policy-center Org flag leaveManagementEnabled Role globalLeavePoliciesEnabled

Leave Configuration

Administrator guide: enable leave, publish policies, map holidays and working weeks, assign employee balances and jurisdictions, then prove apply → approve end to end.

Scroll to Flowcharts for animated step-by-step diagrams. Runtime leave UI: Leave Management.

Policy center

Enable, publish, assign, then prove leave

Leave configuration is the administrator path: enable leave, publish policies, map holidays and working weeks, assign employee balances and jurisdictions, then prove a sample request. Runtime apply stays on Leave management.

Admin → Leave admin (Global Policy Center) Route /admin/leave/global-policy-center Org flag leaveManagementEnabled HR Admin · Org Admin

The job of this console

Stand up the engine so employees can apply. Publish policies, attach calendars, assign balances, run a proof request. Test lab and legal calendars are siblings, not replacements.

Seat at the table

HR administrators. Employees never publish policy. Managers do not edit global rules from My Approvals.

The working rhythm

Open Global Policy Center, create or edit a policy, map holidays and working week, assign people, prove with a test application, then tell the org it is live.

Moments that bring you here

First leave go-live. A new jurisdiction. Balance import. After a failed proof request. When classic Types & policies is hidden because Global is on.

ⓘ
Protected leave engine
This how-to does not replace Global Policy Center, balances, or approval. Employee leave config still assigns what people hold.

Interactive data flow

Trace GLP publish, balance ledger, accrual schedulers, and working-day resolver chain used before employees apply leave.

Flowcharts

Each diagram auto-plays steps when it scrolls into view. Use Play / Pause, or click a step. Matching nodes highlight as the narration advances.

1 — Configure then use (big picture)

Admin setup first, then everyday apply/approve. Share this view with HR before go-live.

flowchart TD
  A[Enable flags] --> B[Publish policy]
  B --> C[Holidays and working days]
  C --> D[Balances / jurisdiction]
  D --> E[Employee applies]
  E --> F[Manager approves]
  F --> G[Attendance and timesheet]
          
  1. 1
    Enable flagsTurn on leaveManagementEnabled (and Global Leave role modules) in Application Config.
  2. 2
    Publish policyJurisdiction → template → draft → simulate → publish in Global Policy Center.
  3. 3
    Holidays and working daysAssign holiday calendar keys and weekly-off rules (team / country / employee).
  4. 4
    Balances / jurisdictionEmployee leave config: OB template → dry-run import or Adjust balance; assign jurisdictions when needed.
  5. 5
    Employee appliesLeave Management apply drawer with resolved day count.
  6. 6
    Manager approvesPending panel or Approvals inbox.
  7. 7
    Attendance and timesheetPromotion + optional leave→attendance sync.

2 — How to configure leave (admin path)

Ordered go-live checklist as a flowchart — complete each step before the next.

flowchart TD
  F1[1. App Config flags] --> F2[2. Create jurisdiction]
  F2 --> F3[3. Template to draft policy]
  F3 --> F4[4. Simulate / Policy Test Lab]
  F4 --> F5[5. Publish version]
  F5 --> F6[6. People holidays + calendar key]
  F6 --> F7[7. Working-day rules]
  F7 --> F8[8. Opening balances or accrual]
  F8 --> F9[9. Prove apply and approve]
          
  1. 1
    App Config flagsOrg leaveAdditional + role leave/admin modules.
  2. 2
    Create jurisdictione.g. IN, IN-KA, AE — used for resolve and calendars.
  3. 3
    Template → draftApply country baseline; edit entitlements/accrual.
  4. 4
    Simulate / Test LabDry-run for a sample employee; pass publish gates.
  5. 5
    Publish versionActivates accrual and eligibility.
  6. 6
    Holidays + keyPeople holidays with location keys assigned to jurisdictions.
  7. 7
    Working-day rulesTeam default and/or country patterns; employee assigns.
  8. 8
    BalancesAdmin → Employee leave config: Download OB template → fill → dry-run → live, or Adjust balance per employee.
  9. 9
    ProveApply leave spanning holiday/weekly off → approve → check timesheet.

3 — Global Policy Center publish

How a policy version becomes live for accrual and eligibility.

flowchart TD
  J[Jurisdiction] --> T[Template]
  T --> D[Draft version]
  D --> S[Simulate]
  S --> P[Publish]
  P --> R[Accrual and eligibility]
          
  1. 1
    JurisdictionCountry/region dimension for the policy.
  2. 2
    TemplateSeed draft from a national/regional baseline.
  3. 3
    Draft versionEdit types, accrual, carry-forward while unpublished.
  4. 4
    SimulatePreview resolve for an employee before publish.
  5. 5
    PublishLocks the version for runtime use.
  6. 6
    Accrual and eligibilityJobs and leave apply use the published rules.

4 — Working-day resolution priority

Highest match wins: employee override, then jurisdiction/country, then team, then schedule/shift/Mon–Fri.

flowchart TD
  L[Leave create or submit] --> R[LeaveWorkingDayResolver]
  R --> O{Employee WDR override?}
  O -->|Yes| P[Resolved workdays]
  O -->|No| J{Employee jurisdiction?}
  J -->|Yes| JW[Jurisdiction / country WDR]
  JW --> P
  J -->|No| TW[Team-default WDR]
  TW -->|Hit| P
  TW -->|Miss| FB[Work schedule / shift / Mon-Fri]
  FB --> P
          
  1. 1
    Leave create/submitDay count always re-resolved with employeeId.
  2. 2
    ResolverShared service for leave UI, validate, promote.
  3. 3
    Employee override?Personal WDR assignment — highest priority.
  4. 4
    Resolved workdaysFinal ISO weekday set used for counting.
  5. 5
    Employee jurisdiction?Assigned leave jurisdiction (country/region).
  6. 6
    Jurisdiction WDRe.g. AE Sun–Thu or IN Mon–Fri.
  7. 7
    Team-default WDRRule with no jurisdiction_id.
  8. 8
    HitUse team rule workdays.
  9. 9
    FallbackWork schedule → shift → Mon–Fri default.

5 — How balances get onto employees

Two paths: scheduled accrual from a published policy, or HR manual adjust/import.

flowchart TD
  AP[Published policy] --> AJ[Accrual job]
  AJ --> BL1[Balance ledger credit]
  HR[HR adjust / import] --> BL2[Balance ledger]
  BL1 --> UI[Visible on Leave Management]
  BL2 --> UI
          
  1. 1
    Published policyEntitlements/accrual rules must be live.
  2. 2
    Accrual jobScheduler credits by period (idempotent).
  3. 3
    Ledger creditAvailable balance increases.
  4. 4
    HR adjust / importEmployee leave config: single Adjust balance, or CSV template + dry-run import API.
  5. 5
    Balance ledgerSame ledger used by apply/approve.
  6. 6
    Visible on Leave ManagementBalance cards refresh for the employee.

6 — Runtime after config

What happens once configuration is done — apply through approve.

flowchart TD
  A[Apply] --> V[Overlap + working days]
  V --> S[Submit / reserve]
  S --> D{Approve or Reject?}
  D -->|Approve| B[Debit balance]
  B --> P[Promote TaskActivity]
  P --> T[Attendance sync if flagged]
  D -->|Reject| Rel[Release pending + comment]
          
  1. 1
    ApplyEmployee creates the leave request.
  2. 2
    ValidateOverlap + working-day rules + day count.
  3. 3
    Submit / reservePending balance held.
  4. 4
    DecisionApprove or reject.
  5. 5
    DebitUsed balance increases on approve.
  6. 6
    PromoteTimesheet leave activities.
  7. 7
    Attendance syncOptional LEAVE / HALF_DAY marks.
  8. 8
    Reject pathComment required; pending released.

Overview

Leave has two halves: configure once (this page) and use every day (Leave Management). Complete the configuration layers below before asking employees to apply.

  1. Org & role flags — turn the module on in Application Config.
  2. Global Policy Center (preferred) — jurisdictions, templates, versioned policies, publish, simulate.
  3. Classic leave policies (fallback) — type catalog and simple entitlements when Global Leave is off.
  4. Holidays & legal calendars — People holidays + calendar key assignments.
  5. Working days — team / country / employee weekly-off patterns (not hard-coded Sat/Sun).
  6. Employee leave config — opening balances / adjustments, OB template download, dry-run bulk import; optional employee jurisdiction assign.

Admin screen map

ScreenRouteWhen to use
Leave Policies User Guideleave-policies-guide.htmlStart here for policy detail — supported types, India packs, configure steps, scenarios (tabs).
Global Policy Center/admin/leave/global-policy-centerJurisdictions, templates, publish versions, resolve/simulate, holiday calendar assignment, OT/comp-off, compliance.
Leave policies (classic)/admin/leave-policiesLeave type catalog and fallback entitlements when Global Leave is off.
Employee leave config/admin/employee-leave-configBalance cards, Download OB template, Adjust balance, dry-run bulk import cutover.
Legal calendars/admin/leave/legal-calendarsDraft/publish official holiday versions that sync into People → Holidays.
Working days/admin/leave/working-day-rulesTeam-default or jurisdiction working weeks; employee jurisdiction assign; employee working-day override; resolve preview.
Policy test lab/admin/leave/policy-test-labScenario runs and publish gates before promoting a policy version. Guide: Policy Test Lab.
Absence cases/admin/leave/absence-casesExtended absence + return-to-work. Guide: Absence Cases.
Agreements/admin/leave/agreementsContract overrides. Guide: Leave Agreements.
Integrations/admin/leave/integrationsConnectors, runs, errors. Guide: Leave Integrations.
Documents/admin/leave/document-rulesEvidence rules, review, retention. Guide: Leave Documents.
Anomaly & fairness/admin/leave/anomaly-rulesDetection and fairness analytics. Guide: Leave Anomaly.
Workforce planning/admin/leave/biddingBidding, roster, coverage. Guide: Workforce Planning.
Localization/admin/leave/localizationLocale packs for leave UI. Guide: Leave Localization.
Shift policies/admin/shift-policiesOrg work-week calendars. Guide: Shift Policies.
People → Holidays/people/holidaysCanonical holiday ledger with location keys. Guide: Holidays.
Delegation/admin/delegationLeave approval coverage when the primary approver is away.
Application Config/admin/application-configOrg leave flags and role leave modules.

Required org & role flags

Org (org.json → HRMS)

  • leaveAdditional.leaveManagementEnabled — master switch for native leave.
  • leaveAdditional.globalLeavePoliciesEnabled — Global Policy Center runtime.
  • leaveAdditional.leaveEnhancementsEnabled — enhancements (overlap, coverage, analytics).
  • leaveAdditional.leaveBlockNonWorkingDayLeave — reject leave ranges with no working days.
  • leaveAdditional.leaveAutoSyncToAttendance — approved leave → attendance LEAVE / HALF_DAY.
  • approvalDelegation.approvalDelegationEnabled — leave in delegation scopes.

Role (role.json)

  • hrmsModules.leavesEnabled, attendanceEnabled, timesheetEnabled, holidaysEnabled
  • adminModules.leavePoliciesEnabled, globalLeavePoliciesEnabled, delegationEnabled
  • CRUD: leaves.*, leavePolicies.*, holidays.*

Global Policy Center

Primary console: Admin → Leave admin → Global Policy Center. See flowchart 3 above.

  1. Jurisdictions — country/region dimensions used in resolve and holiday/working-day scope.
  2. Templates — apply a country baseline into a draft team policy.
  3. Policies / versions — type entitlements, accrual, carry-forward.
  4. Simulate / employee preview — dry-run before publish.
  5. Publish — activates for accrual and eligibility.
  6. Holiday calendars — assign location keys (e.g. IN, IN-KA) per jurisdiction.

Holidays & legal calendars

Source of truth: People → Holidays, filtered by active holiday calendar assignments.

  1. Create holidays with a Location key (e.g. ["IN-KA"]).
  2. Assign that key to a jurisdiction in Global Policy Center → Holiday calendars.
  3. Optionally publish Legal Calendars to sync blocking holidays into People holidays.

Working days (team / country / employee)

Weekly offs are not hard-coded to Saturday/Sunday. Configure under /admin/leave/working-day-rules. See flowchart 4 above.

  • Team default — rule with no jurisdiction.
  • Country / region — rule linked to a jurisdiction; assign the employee to that jurisdiction.
  • Employee override — assign an existing rule to one employee (highest priority).
ℹ️
Country means leave jurisdiction
“Works from this country” is the employee’s assigned leave jurisdiction — not free-text location on the employee profile.

Employee leave config & accrual

Canonical admin page: Admin → Employee leave config (/admin/employee-leave-config). This is the only UI surface for opening-balance cutover and per-employee adjustments. Accrual / carry-forward / comp-off expire jobs credit from the published Global Leave policy after go-live. See flowchart 5 above.

Page user flow (matches the live UI)

  1. Confirm leaveManagementEnabled and leave admin role access; select the team in the header filter so employees load.
  2. Read the KPI / insight strip (low balance, pending days) for the selected employee.
  3. Bulk cutover — open the Opening balance template panel (or header Download OB template). Template rows are one per employee × PL/CL/SL (by location). entitlementAmount and amount are blank — fill from ZingHR / HR export only (do not invent balances).
  4. Validate with POST /api/v2/admin/data-import/leave-balance?userTeamId={team}&actorId={you}&dryRun=true (body may also include "dryRun": true). Fix reportCsv failures, then re-POST with dryRun=false.
  5. Single employee — select the person, review balance cards, use Adjust balance (opening entitlement and/or +/− available days) with a reason. Adjustments of 5+ days require a second confirmer employee id.
  6. Prove end-to-end on Leave Management / People → Leaves: apply → Approvals approve.
ℹ️
Cutover rule
Tracopus ships tooling only for opening balances. Empty ledgers after policy publish are expected until HR imports a real export. Dry-run never writes balances.

Scenario guides

How leave days are calculated

  • Working week — employee override → jurisdiction → team → schedule/shift → Mon–Fri.
  • Holidays — People holidays matching assigned calendar keys.
  • Half-day — 0.5 when the single day is a working day.
  • Server trust — create/submit recalculate numberOfDays.

Configuration use cases

Use caseWhat admin doesOutcome
First go-liveFlags → jurisdiction → publish → holidays → Mon–Fri rule → OB template dry-run → live importEmployees can apply
ZingHR cutoverDownload OB template → fill → dry-run → live import on Employee leave configBalances match HR source of truth
One-off correctionSelect employee → Adjust balance (+ reason; confirmer if ≥5 days)Ledger updated; audit when enabled
Add UAEAE jurisdiction → Sun–Thu rule → assign employeesFri–Sat off for those employees
Six-day weekMon–Sat working-day ruleSaturday counts as leave
One employee exceptionEmployee working-day overrideOverrides country/team

Go-live checklist

  • 1
    FlagsOrg leave + role modules enabled.
  • 2
    Jurisdiction + publishTemplate → simulate → publish.
  • 3
    Holidays + working daysCalendar keys and weekly-off rules.
  • 4
    BalancesOB template dry-run → live import, or Adjust balance / wait for accrual.
  • 5
    ProveApply spanning holiday/weekly off → approve → check timesheet.