What is the Leaves Module?
The Leaves Module in Daai Business Suite is where every employee leave request is tracked, approved, and managed. It is directly linked with the Salary Module, so whatever leaves you take or approve will affect your salary calculation and leave balance automatically.
The module also pairs with the Attendance Module (when imported biometric / face-recognition punch data is in use) through a built-in Attendance × Leave Reconciliation screen for HR to clean up day-by-day mismatches.
📍 Screen: HRM > Leaves (main listing). The same module also exposes a Reconciliation toggle in the header for users with Leave Override permission.
✨ Main Features
- Apply for Leave: Employees can request different types of leave (Casual, Sick, Earned / Privilege, Compensatory, Maternity, Paternity, Unpaid, etc.) — exact list comes from Settings > Dropdown Settings > Leave Type.
- Approve or Reject Leave: Reporting Managers, HODs, or users with override permission can approve or reject pending leave requests.
- Two-step approval: Each leave row carries an independent HOD and Manager approval status. Both can be issued from the leaves list grid.
- Leave Override: Special users can edit, cancel, or change leave details after they’ve been submitted or approved.
- View Leave Balances: See the remaining paid-leave balance per type, plus year-to-date applied, on the user’s Leave Statement.
- Automatic Salary Adjustments: The system automatically adjusts salary for unpaid leaves and leaves taken beyond the available paid balance.
- Attendance Reconciliation: A separate view inside the same module surfaces day-by-day mismatches between the imported attendance ledger and the leave records, and lets HR resolve them.
- Bulk Leave Import: One-time bulk upload of starting / opening leave balances when the company is being onboarded into Daai.
- Special Scenarios Handling:
- Cancel leave if the employee was actually present.
- Mark leave as Unnotified if the employee was absent without applying.
- Edit approved leaves if fewer or more days were taken.
- Convert a full-day leave to a half-day from the Reconciliation grid.
📋 Fields on the Leave Form
📍 Screen: HRM > Leaves > Add Leave (or click any row > Edit in the aside). The same aside opens for view / edit / approval flows.
| Field | Purpose |
|---|---|
| Employee | Employee the leave is being applied for. Auto-locked to the logged-in user when the role only has Read Own permission. |
| Reporting Manager | Auto-filled from the selected employee’s record; this person can issue Manager approval. |
| Department Head (HOD) | Auto-filled from the employee’s department; this person can issue HOD approval. |
| Handover Person | Optional. The colleague to whom work is being handed over while on leave. |
| Leave Type | Comes from Settings > Dropdown Settings > Leave Type. The selected type determines whether the leave is paid or unpaid by default. |
| From Date / End Date | Range of leave. The system computes total leave days, sandwich days, and how many fall in the notice / probation window. |
| Half Leave | Tick when only a half day is being applied; pick the Half Period (First Half / Second Half). |
| Paid / Unpaid | Driven by the available paid balance for that leave type and the Leave Settings rule. Splits as Paid, Unpaid, or Both (when the application crosses the paid balance mid-range). |
| Total Paid Leaves / Total Unpaid Leaves | Auto-computed split of the leave dates into paid vs unpaid days based on the user’s current balance. |
| Reason | Mandatory free-text reason for the leave. |
| Notes | Optional free-text notes (visible in the aside and change log). |
| Documents | Optional supporting attachments (e.g., medical certificate). Uploads use the standard doc-chip control with preview / download. |
👥 Who Can Do What
| Action | Employee | Reporting Manager | HOD | Override User |
|---|---|---|---|---|
| Apply Leave | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| View Own Leaves | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Approve / Reject Leave | ❌ No | ✅ Yes (team) | ✅ Yes (department) | ✅ Yes (all) |
| Mark Unnotified | ❌ No | ❌ No | ❌ No | ✅ Yes |
| Cancel Leave | ❌ No | ❌ No | ❌ No | ✅ Yes |
| Edit Leave (after submit) | ❌ No | ❌ No | ❌ No | ✅ Yes |
| Resolve Attendance × Leave Mismatches | ❌ No | ❌ No | ❌ No | ✅ Yes |
📌 Approve / Reject behind the scenes: the approver role is sent to the server in lowercase (
hodormanager). The UI does this for you — manual API calls with mixed-case values are rejected.
🔄 Auto-Allocation of Leave Balance
- When a new user is created with Is Employee = Yes, the system auto-allocates the standard leave balance defined under Settings > Leaves.
- If an existing user is later switched from Is Employee = No → Yes, leaves are allocated at that transition (this also covers the tenant-admin who is later promoted to employee). The reverse change does not revoke balances.
- Subsequent monthly accrual happens automatically during salary generation.
- Carry-forward / encashment computation uses a 30-day month divisor.
💡 Tip — Leave Settings: The Leave Settings page (Settings > Leaves) remains fully editable until any leave value is filled against employees. Once balances start being consumed, the policy is locked to preserve audit consistency — plan your leave types, opening balances and accrual rules carefully before going live.
📥 Bulk Leave Import (One-Time, Onboarding)
📍 Screen: Settings > Leave Settings > Import button (uses the standard “Download Sample > fill > upload” flow).
- Use this only when migrating starting / opening leave balances from a previous system.
- The sample file accepts First Name + Last Name for the employee identifier (no employee code lookup needed).
- Bulk leave import is locked to the current financial month / year and can be run only once per employee — the upload is allowed only when no salary has been generated yet for that employee and the leave-start variable is unset.
- Subsequent monthly accrual continues to be handled automatically by the salary engine — there is no need to keep importing balances every month.
📅 Special Day-Counting Rules
| Rule | What it does |
|---|---|
| Sandwich Leave | When the leave range straddles a weekend / holiday with leave on either side, the in-between non-working days are counted into the leave days as well. Active only when the company’s leave-calculation policy is set to Working Days; a warning popup appears so HR is aware of the calculation. |
| Notice Period | Leaves applied during an employee’s notice period are flagged. HR is warned because such leaves typically do not count against the standard balance and may directly impact the final settlement. |
| Probation Period | Leaves applied during an employee’s probation are flagged similarly so HR can review against the probation policy before approving. |
| Carry-Forward / Encashment | The system uses a 30-day month divisor for encashment calculations (instead of 26). |
⚠️ Warning: If your company computes salary on a Working Days basis and Sandwich rule is on, a warning popup appears at salary generation. Please review the calculation before confirming — sandwich and working-days rules together can change the deduction count.
🔁 Attendance × Leave Reconciliation
📍 Screen: HRM > Leaves > switch the toggle in the header from List to Reconciliation. Visible only to roles with Leave Override permission.
This view shows a day-by-day grid for the selected month / year:
| Column | Meaning |
|---|---|
| Date | The calendar day under review. |
| Employee | Employee for that row. |
| Attendance | Status derived from imported attendance: Present / Half-day / Absent / Holiday / Week-Off / Data Gap / Future. |
| Leave | The leave record (if any) covering that date. |
| Conclusion | OK, Holiday, Week Off, Leave Taken, Needs Action, Mismatch, Half Mismatch, Data Gap, or Future. |
| Action ▾ | Quick-action menu — see below. |
The default filter is Mismatches Only. Untick it to review the full day-by-day picture.
Available actions per row:
- Add Unpaid Leave (LWP) — when employee was absent without applying.
- Add Paid Leave — when employee was absent and HR decides to consume their paid balance.
- Add Unnotified Leave — flag the absence as Unnotified for the change log / salary path.
- Cancel Leave — when the employee was actually present even though a leave existed.
- Convert to Half Day — when the punches show only half the working hours.
- Edit Attendance — open the underlying attendance row for correction.
- Dismiss — accept the mismatch (the leave gets a cosmetic Attendance Contradicted badge; salary deduction stays unchanged).
📌 Auto-approval inside Reconciliation: Leaves created from the Reconciliation grid are auto-approved (HOD + Manager approval skipped). Use this view only after you have verified the day’s attendance evidence.
⚠️ Important rule: Attendance never auto-creates or auto-cancels Leave. Attendance is the evidence, Leave is the policy decision, Salary is the payment. Even after Reconciliation actions, salary continues to read leave directly — the leave record remains the source of truth.
📊 Audit & Salary Reconciliation
- Every leave change (cancel, edit, mark unnotified, reconciliation action) is captured in the Change Log tab inside the leave aside, including who made the change and when.
- Change-log entries are recorded at the moment of save (not on every keystroke), so the timeline mirrors actual user actions.
- The Salary engine reads the latest leave state at salary-generation time, so unpaid / unnotified days are deducted in that month’s payroll.
- In the Dashboard Absent count, only Rejected leaves are counted (Pending leaves are no longer mixed in).
📈 Leave Statement (Per Employee)
📍 Screen: User Management > Users > pick a user > Statements tab > Leave Statement sub-tab. (Or HRM > Employee > pick an employee > same Statement view.)
The Leave Statement gives a per-employee, per-leave-type running summary:
- Opening / Allocated — starting balance for the financial year (or from import).
- Accrued — automatically added during each month’s salary generation.
- Used — leaves consumed against this type.
- Carry-Forward / Encash — computed using the 30-day-month rule.
- Closing Balance — what’s available to apply against future leaves.
📤 Sharing a Leave Summary
- From the leave aside in View mode, a WhatsApp Share button is available — sends the leave summary as a WhatsApp message.
- Email notifications fire on submit / approve / reject through the redesigned templates.
💡 Tip: If you want to make changes to someone’s leave request after approval, you must have Leave Override Permission in your role.
⚠️ Warning: All leave changes (cancel, edit, mark unnotified, reconciliation actions) are logged in the system for compliance and transparency — the change log is permanent and cannot be edited.

