TimeLeafTimeLeaf
Back to site

Core Features

Overtime Management

Configure overtime policies, automatic detection, alerts, and time banks with accrual and expiry rules.

Overview

Overtime management helps you define working hour limits, detect when employees exceed them, and track overtime in a time bank. Policies cascade from system-wide defaults down to individual users. This feature is available on the Professional plan and above.

Overtime policies

An overtime policy defines the rules for when regular hours become overtime. Go to Settings > Overtime > Policies to create or edit policies.

Policy settings

SettingDescription
Daily limitMaximum regular hours per day (e.g., 8 hours)
Weekly limitMaximum regular hours per week (e.g., 40 hours)
Overtime multiplierPay rate multiplier for overtime hours (e.g., 1.5x)
Double-time thresholdHours after which double-time applies (e.g., 12 hours/day)
Double-time multiplierPay rate multiplier for double-time (e.g., 2.0x)

You can create multiple policies for different regions or employee groups. For example, a US policy with a 40-hour weekly limit and an EU policy with a 48-hour weekly limit.

Automatic detection and alerts

TimeLeaf monitors timesheets in real time against the assigned overtime policy:

  • When an employee approaches the daily or weekly limit (configurable threshold, default 90%), a warning alert is sent to the employee and their manager.
  • When the limit is exceeded, an overtime alert is triggered.
  • Alerts appear in the notification center and can be sent via email or Slack.

Configuring alert thresholds

  1. Go to Settings > Overtime > Alerts.
  2. Set the warning threshold as a percentage of the limit (e.g., 90%).
  3. Choose notification channels: in-app, email, Slack, or Google Chat.
  4. Save the configuration.

Time bank

The time bank tracks accumulated overtime as a balance that employees can use as compensatory time off (TOIL) or receive as pay.

Accrual

When a timesheet is approved, TimeLeaf recalculates the employee's overtime for every affected day and week and banks it. Accrual respects the bank multiplier — for example, 2 hours of overtime at 1.5x adds 3 hours to the bank. Re-approving a timesheet never double-banks, and if a timesheet is reverted the banked hours are reduced to match.

Whether daily overtime, weekly overtime, or both feed the bank is set per policy (Accrual eligibility).

Balance cap

Each policy can set a maximum balance. When an accrual would exceed the cap, the policy decides what happens:

  • Bank up to the cap — the excess is discarded.
  • Reject — the accrual is not banked at all.
  • Pay out the excess — the surplus becomes a pending payout (see below).

Expiry

Time bank balances can be configured to expire:

  • No expiry — the balance carries forward indefinitely.
  • Rolling window — hours expire a set number of days after they were accrued.
  • Fixed annual cutoff — hours expire at an annual date (e.g., 12-31).

At expiry, hours are either forfeited or paid out, depending on the policy. A daily background sweep applies expiry and, when configured, sends "coming due" alerts ahead of time to the employee, manager, or admins.

Payouts (payable dues)

Banked hours can be cashed out. A payout moves through a compliance-controlled lifecycle: requested → acknowledged → paid. The person who requests a payout cannot acknowledge it. Once paid, the payroll details (system, amount, reference) are recorded against the payout. Export the Payable Dues report to hand pending payouts to your payroll provider — QuickBooks- and Xero-shaped CSV variants are available.

Transactions

Every change to the time bank is logged as a transaction: accrual, usage, manual adjustment, expiry, or payout. Employees see their balance and history under Time Bank; managers see their team under Team Time Bank; admins see the whole organization under Settings > Time Bank, where they can also manage payouts and post manual adjustments.

Policy cascading

Overtime policies follow a cascading priority:

  1. User-level. a policy assigned directly to an employee takes highest priority.
  2. Team-level. applies to all members of a team unless overridden at user level.
  3. Location-level. applies to all employees at a location unless overridden at team or user level.
  4. System-level. the default policy that applies when no other assignment exists.

To assign a policy at any level, go to the relevant settings page (user, team, location, or system) and select the overtime policy from the dropdown.

When an employee belongs to multiple teams with different policies, the policy from their primary team is used. Set the primary team under People > [Employee] > Profile.

Reporting

View overtime reports under Reports > Overtime. Filter by date range, team, location, or individual. The report shows regular hours, overtime hours, time bank accruals, and usage for each employee.