> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hitaji360.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Leave Reports (Balance & Ledger)

> Two reports let you see leave across your whole workforce: the Leave Balance report answers "how many days does everyone have?", and the Leave Ledger…

Two reports let you see leave across your whole workforce: the **Leave Balance** report answers *"how many days does everyone have?"*, and the **Leave Ledger** report answers *"what movements got them there?"*. Together they give you both the standing position and the full audit trail behind it.

These are management reports — they show every employee's leave figures and notes — so they are gated more tightly than the day-to-day leave pages.

> Both reports show only the **active business**'s employees. The business is taken from the switcher at the top of the app, and a query parameter cannot be used to pivot the report to another business. Switch business to report on a different one.

***

## Leave Balance report

A per-employee, per-leave-type summary of where balances stand.

**You'll find this at:** `/hr/reports/leave-balance`

> 📷 *Screenshot: the Leave Balance report table with the Year filter and Export CSV button — to be added.*

Filter by **Year** (defaults to the current year) and optionally by **Employee ID**. Each row covers one employee and one leave type, with these columns:

| Column         | Meaning                                |
| -------------- | -------------------------------------- |
| **Employee**   | The employee's name.                   |
| **Department** | Their department.                      |
| **Leave Type** | The leave policy/type name.            |
| **Opening**    | Balance carried into the year.         |
| **Allocated**  | Days granted during the year.          |
| **Used**       | Days consumed by approved leave.       |
| **Expired**    | Carry-forward days that timed out.     |
| **Carry Fwd**  | Days carried forward.                  |
| **Closing**    | The resulting balance (shown in bold). |

Use **Export CSV** to download the table (the file is named for the selected year). The footer shows the row count.

> The "Leave Type" column is populated by loading each balance's policy and reading its name, so the report reads with proper type names rather than blank cells. (This was a fix applied to the balance report.)

***

## Leave Ledger report

The chronological journal of every leave movement — this is the audit trail.

**You'll find this at:** `/hr/reports/leave-ledger`

> 📷 *Screenshot: the Leave Ledger report with the date-range and employee filters and the colour-coded transaction badges — to be added.*

Filter by **Employee ID** and a **From / To** date range. Each row is one ledger entry:

| Column          | Meaning                                                          |
| --------------- | ---------------------------------------------------------------- |
| **Date**        | When the entry was recorded.                                     |
| **Employee**    | The employee.                                                    |
| **Leave Type**  | The leave policy/type.                                           |
| **Transaction** | The kind of movement (see below), shown as a coloured badge.     |
| **Days**        | The signed change — green `+` for a credit, red for a deduction. |
| **Notes**       | Any note attached (e.g. on a manual adjustment).                 |

The **Transaction** types you'll see:

| Type                         | What it represents                                                                           |
| ---------------------------- | -------------------------------------------------------------------------------------------- |
| **Allocation**               | Days granted (e.g. by the control panel).                                                    |
| **LeaveApplication**         | A deduction for approved leave (or a positive reversal when an approved leave is cancelled). |
| **Encashment**               | Days cashed out.                                                                             |
| **Expiry**                   | Carry-forward days that lapsed.                                                              |
| **Adjustment**               | A manual correction.                                                                         |
| **CarryForward**             | Balance rolled into a new period.                                                            |
| **EncashmentExpiryReversal** | A correction restoring days when encashment reverses an earlier expiry.                      |

Use **Export CSV** to download the entries; the footer shows the entry count.

> Because the ledger is **append-only**, it is the source of truth for balances — every figure on the Balance report can be traced back to entries here. If a balance ever looks wrong, the ledger explains it.

***

## Permissions

Both reports require the coarse management read permission, deliberately *not* the self-service leave read:

| Action                                    | Permission |
| ----------------------------------------- | ---------- |
| View the leave balance and ledger reports | `hr:read`  |

A self-service user (who may hold `hr-leave:read`) is refused these reports; the service also self-scopes any non-management caller to their own rows as a second line of defence.

***

## Related

* [Leave overview](/hr/user/leave/overview) — what balances and the ledger mean
* [Leave allocations (control panel)](/hr/user/leave/leave-allocations) — where Allocation entries come from
* [Applying for & approving leave](/hr/user/leave/leave-requests) — where LeaveApplication entries come from
* [Leave encashment](/hr/user/leave/leave-encashment) — where Encashment entries come from
* [HR reports hub](/hr/user/reports/overview) — all HR reports in one place
