Concorbit HelpAll guides →

Leave And Absence

Leave and absence: detail reference

Extends overview.md with edge-case behaviour you may hit in day-to-day use.

Booking leave: common shapes

  • A full day: pick the same date for start and end; leave both half-day boxes unchecked.

  • A half-day off in the morning (want to work the afternoon): pick the date for start and end, tick end-half-day (AM only). Result: 0.5d.

  • A half-day off in the afternoon: pick the date for start and end, tick start-half-day (PM only). Result: 0.5d.

  • Leaving early on Friday and back Monday morning: start = Fri, end = Mon, tick both half-day boxes. Result: 1 day (0.5 Fri PM + 0 weekend + 0.5 Mon AM).

  • A week off with a bank holiday mid-week: just submit Mon → Fri; the bank holiday on Wednesday is automatically skipped. Result: 4 days.

Cancelling

  • Your own pending requests, before they've started, can be cancelled any time from the "My requests" table.

  • An approved request, or a pending one that's already started, needs a manager decision — you can't self-cancel those (it would silently erase calendar history for time already agreed or already taken). Ask your manager or HR admin.

  • A manager or HR admin can cancel an approved request on someone else's behalf from the HR admin "All requests" tab. The days go back into that person's balance immediately.

  • Other people's still-pending requests can be rejected from the approvals inbox; rejecting also refunds the days.

What happens on approval

  • The request flips to approved. The approver's name and decision note (if any) are captured.

  • The booked days stay deducted from your balance (they were already counted the moment you submitted).

  • The request shows up on the team calendar for everyone to see.

What happens on rejection

  • The request flips to rejected. A reason is required from the approver.

  • Your balance is immediately restored.

Manager-logged absences

Sickness, lateness, no-show, compassionate leave, "other": these are manager-logged, which means:

  • Staff can't book them themselves. The type won't appear in the request form.

  • Managers record them after-the-fact from the HR admin page.

  • They're auto-approved on creation. There's no "approve a sick day that already happened" step.

  • They show up on the team calendar (if the type has creates_calendar on), so the wider team can see availability.

Leave year

The leave year runs January 1 to December 31 by default. Admins can change this to April 1 (UK tax year) via the tenant setting hr.leave_year_start_month.

  • Your balance resets on the first day of the new leave year.

  • No carry-over: unused days are forfeit at year end. (If you want carry-over, ask an admin to manually bump the annual_entitlement_override on your profile for the new year.)

Common questions

"My balance shows 20 but I've been here 3 years, shouldn't it be 23?"
Profiles need a start_date to calculate tenure accrual. Ask your admin to fill it in.

"I got a bank holiday wrong, can I fix it?"
Admins can add / remove bank holidays on the HR admin page, and a removal is final — the seeder never re-adds a date you've deleted, so non-UK teams can clear the UK defaults and add their own. Existing approved leave requests keep their stored days count; if you want the recalculation to flow through, cancel and re-book. The full England and Wales set is seeded for you automatically each year: the fixed dates, Good Friday and Easter Monday, the Early May / Spring / Summer Monday holidays, and the substitute day when New Year's Day / Christmas Day / Boxing Day fall on a weekend.

"A leave type I use shows 0 days available, why?"
Some custom leave types (anything other than Annual leave and Mental health day) need an admin to set an entitlement for you first, on the HR admin "Entitlements" tab, for that type and leave year. Until then, the balance for that type reads as zero.

"Can I export my own leave history?"
Not yet from the dashboard. Admins can pull the full CSV, filter to your rows. Self-service export is on the roadmap.