---
title: "Attendance and Leave Plugin for Orangescrum"
description: "Clock in and out, leave requests with balances, five-level approvals, holidays, team grid, and reports. For Orangescrum self-hosted."
canonical: https://www.orangescrum.com/self-hosted/plugins/attendance-leave
---

# Attendance and Leave Plugin for Orangescrum

> For the complete documentation index, see [llms.txt](https://www.orangescrum.com/llms.txt).

1.  [Home](/)
2.  ›
3.  [Self-Hosted](/self-hosted)
4.  ›
5.  [Plugins](/self-hosted/plugins)
6.  ›
7.  Attendance and Leave

# Attendance and Leave

by [Orangescrum](/) · Productivity

Self-HostedVerifiedHR-ready

Timekeeping and leave for the people already in your Orangescrum install, with no separate user directory to maintain. People clock in and out with a live timer and tag the work and the location. Leave requests draw on per-year balances with carry-forward, encashment, and probation rules, then route through an approval chain you define. Managers get a monthly grid, and administrators get attendance, leave, and lateness reports.

Installs

Available

Active deployments

Support

Vendor Supported

Priority response

Trust

Self-Hosted

Your infra, your data

$499/year

Per company • Add-on to any Self-Hosted plan

[Buy & See All Plans](/self-hosted/pricing#addons)[Talk to Sales](/contact-sales)

-   Clock in and out with a live session timer
-   Project and work-location tagging on every entry
-   Leave types with quotas, carry-forward, encashment, and probation caps
-   Per-year balances: opening, accrued, pending, used, and remaining
-   Approval chains up to five sequential levels
-   Auto-approval after a deadline you set per level
-   Monthly team grid with holidays and alternate Saturdays
-   Attendance, leave, lateness, and balance reports

Pairs with [Self-Hosted Core ($1,500/yr) or Business ($2,250/yr)](/self-hosted/pricing)

[Overview](#overview)[Features](#features)[About](#about)[Install](#install)[FAQ](#faq)

## Screenshots

Clock in and out with the live session timer

Leave request with balances and the approval chain

Monthly team grid with holidays and alternate Saturdays

## Key Features

### Clock In and Out

A live session timer that handles time zones properly, today's entries, and a paginated history, so people can see their own week without asking anyone for it.

### Project and Location Tagging

Tag an entry with the project it went to and the work location it happened from, which is what turns raw hours into something you can report on.

### Corrections With a Scope

Manual entries can be edited or removed, but only within the scope the person's permissions allow, so a correction is possible without everyone being able to rewrite the record.

### Leave Types and Policies

Define your own leave types with quotas, carry-forward rules, encashment, and probation caps, so the module matches your policy instead of the other way round.

### Real Balances

Every person's year shows opening, accrued, pending, used, and remaining per leave type, so the answer to how many days are left is on screen rather than in someone's spreadsheet.

### Approval Chains

Up to five sequential levels per workflow. Each level names its approver as the reporting manager, anyone holding a chosen role, or a specific person.

### Auto-Approval Deadlines

Set an hours deadline on a level and a request that has been sitting there too long approves itself, so one person on holiday does not stall everyone else's leave.

### Monthly Team Grid

One row per person across the month, with weekends, second and fourth Saturdays, and the company holiday calendar shaded in. Managers and administrators can mark cells directly.

### Holiday Calendars

Maintain the company holiday list and it flows into the grid, the reports, and the approval logic, so a request over a public holiday is not counted as a working day.

### Employee Records

Reporting line, department, designation, employee code, and the approval workflow assigned to each person, with a reporting tree available for org charts.

### Reports

Attendance summary, leave summary, late arrivals against a threshold you set, and leave balance overview, exportable to CSV and built to stay usable past a couple of hundred people.

### Monthly Approval

Attendance for a month can be signed off by nominated approvers, so the period closes deliberately rather than drifting until somebody asks for last quarter's numbers.

### Email Notifications

Approval and auto-approval events go out by email through a background worker, so the request that triggered them returns immediately instead of waiting on your mail server.

### Thirty Permission Keys

Seven groups covering attendance, leave, balances, reports, configuration, employees, and administration, with anyone who has direct reports getting the manager set automatically.

## About this plugin

### Why Attendance and Leave for Orangescrum?

Most teams already keep hours and leave somewhere, and that somewhere is usually a spreadsheet plus a mail thread. Neither can answer how many days someone has left, neither shows a manager the month at a glance, and both fall over at scale. This module puts timekeeping and leave next to the work, using the people, roles, and companies already in your install. There is a marketing overview at /attendance-leave-management; this page is the operational detail for the self-hosted add-on.

### No second user directory

Everyone in your Orangescrum install is already here. There is no separate provisioning step, no matching of employee records to accounts, and no drift between the two. Employee details such as reporting line, department, designation, and code sit on top of the account rather than beside it.

### Approvals that finish without being chased

A workflow has up to five sequential levels, and each level names its approver as the reporting manager, anyone holding a chosen role, or a specific person. Give a level an hours deadline and a request left sitting there approves itself. That is the difference between a policy that works and one that quietly depends on nobody taking leave at the same time as their manager.

### Balances people can check themselves

Each leave type carries its own quota, carry-forward rule, encashment setting, and probation cap, and each person's year shows opening, accrued, pending, used, and remaining. The question of how many days are left stops being a message to HR and becomes a screen someone opens.

### The month at a glance

The team grid puts one row per person across the month, with weekends, the second and fourth Saturdays, and the company holiday calendar shaded in. Managers and administrators can mark cells directly, which is how a month with a few gaps gets closed without a round of emails.

### Reports that survive a real headcount

Attendance summary, leave summary, late arrivals against your own threshold, and leave balance overview, each exportable to CSV. They are built to remain usable past a couple of hundred people, with collapsing and search rather than one very long table.

### What's included

-   Clock in and out with a live session timer and correct time zone handling
-   Today's entries plus a paginated history
-   Manual entry creation, editing, and deletion within a permitted scope
-   Project tagging and work-location tagging on entries
-   Configurable work locations
-   Leave types with quotas, carry-forward, encashment, and probation caps
-   Leave requests with apply, approve, reject, and cancel
-   Own, team, and whole-company leave scopes, gated by permission
-   Per-year balances showing opening, accrued, pending, used, and remaining
-   Approval workflows with up to five sequential levels
-   Approver types: reporting manager, holder of a chosen role, or a named person
-   Role cascading from a role group down to a role for role-based approvers
-   Per-level auto-approval after a deadline in hours, applied idempotently
-   Monthly attendance approval with nominated approvers
-   Monthly team grid with weekend, alternate Saturday, and holiday shading
-   Cell-level marking in the grid for managers and administrators
-   Company holiday calendar
-   Employee records with reporting line, department, designation, and employee code
-   A reporting tree endpoint for org charts
-   Custom groups for organising people outside the reporting line
-   Reports: attendance summary, leave summary, late arrivals, and leave balance
-   CSV export on every report
-   Email notifications for auto-approved steps and fully approved requests, sent by a background worker
-   Per-company on and off switches per notification event
-   Thirty permission keys in seven groups, with automatic grants for anyone who has direct reports
-   An audit log of module activity
-   Multi-tenant company-scoped data isolation

### Compatibility

Requires the Orangescrum Self-Hosted edition running PHP 8.2+, CakePHP 4.6+, and PostgreSQL 16. The plugin folder is AttendanceLeave and it is gated by the ATTENDANCE\_LEAVE\_ENABLED flag in config/constants.php. The interface is a Vue 3 single page application. Email notifications are queued and delivered by a background worker process, so that worker must be running for approval mail to go out; the queue backend is the filesystem by default and can be pointed at Redis instead. Mail uses the application's existing outbound email configuration, so no separate mail settings are introduced. Multi-tenant aware, so every entry, request, balance, workflow, and holiday is company-scoped.

## Installation

A self-hosted install takes a few minutes. Buy the add-on, drop the plugin into your `plugins/` directory, run the migrations, and you're live.

1.  1
    
    ### Buy the add-on
    
    Purchase the Attendance and Leave add-on from /self-hosted/pricing. Pricing for this add-on is being finalised, so confirm the current figure with sales before you budget.
    
2.  2
    
    ### Drop the plugin into your install
    
    Copy the AttendanceLeave/ folder into plugins/ on your self-hosted Orangescrum server and register \`AttendanceLeave\` in src/Application.php with routes and bootstrap enabled.
    
3.  3
    
    ### Enable the feature flag
    
    Confirm \`define('ATTENDANCE\_LEAVE\_ENABLED', true);\` in config/constants.php.
    
4.  4
    
    ### Run the database migrations
    
    Run \`bin/cake migrations migrate --plugin AttendanceLeave\` to create the entry, leave, balance, workflow, approval, holiday, employee, permission, and notification tables.
    
5.  5
    
    ### Seed permissions and defaults
    
    Run the permission seeder and the default data seeder for the module so roles pick up their defaults and the standard leave types and work locations exist before anyone starts.
    
6.  6
    
    ### Start the queue worker
    
    Bring up \`bin/cake worker\` under supervisor or systemd. Approval and auto-approval emails are queued, so without a running worker nothing is delivered.
    
7.  7
    
    ### Configure policy
    
    Set your leave types with quotas, carry-forward, encashment, and probation caps, load the company holiday calendar, define the work locations, and build the approval workflows with their levels and deadlines.
    
8.  8
    
    ### Assign workflows and roll out
    
    Set reporting lines and assign an approval workflow per employee, check the permission matrix per role, then have a pilot team clock in and submit a leave request end to end before opening it up.
    

## Frequently Asked Questions

### Do I have to set employees up separately?

▾

No. Everyone already in your Orangescrum install is available here. Employee details such as reporting line, department, designation, and employee code are added on top of the existing account, so there is no second directory to provision and nothing to keep in step.

### How do approval chains work?

▾

A workflow has up to five sequential levels. Each level names its approver as the person's reporting manager, anyone holding a role you choose, or a specific person. Requests move up a level at a time, and each level can carry an hours deadline after which it approves itself so a single absent approver does not stall the queue.

### What happens when an approver is on leave?

▾

Give that level an auto-approval deadline in hours. A request that sits past the deadline approves itself and the notification records that it was auto-approved rather than decided. The sweep is safe to run repeatedly, so a request cannot be approved twice.

### Can leave policy be configured to match ours?

▾

Within limits, yes. You define your own leave types with quotas, carry-forward, encashment, and probation caps, and you define the approval workflows and which employees use them. What it does not do is accrual scripting: balances follow the configured quota and carry-forward rules rather than an arbitrary formula per person.

### Does it notify people in the app?

▾

Not yet. Notifications for auto-approved steps and fully approved requests are sent by email through a background worker. In-app and desktop notifications are not delivered by this add-on, so the queue worker needs to be running or people will not be told anything.

### Does it chase people who forget to clock in?

▾

No. There is no missing-attendance reminder in the module today. Gaps show up in the team grid and in the attendance report, and the monthly approval step is where they get resolved, but nothing emails a manager the same day.

### Will the reports cope with a few hundred people?

▾

Yes. Attendance summary, leave summary, late arrivals, and leave balance are built for real headcounts, with collapsing and search rather than one enormous table, and every report exports to CSV for whatever you need to do with it afterwards.
