How leave works in SquadBear
Ask AI
Leave types, allowances, policies, country presets and how a balance is read as of a date
This is the model behind every leave request. Configuration is versioned and separate from the requests, so changing next year's amount does not rewrite history.
How the pieces fit together
- Leave types are what a person requests - Vacation, Sick leave, Unpaid leave. A leave type carries the request rules: Days counted, Part of a day, notice, the longest request, Replacement required, pay, and Approval.
- Allowances are what is counted - annual leave, on-demand days, a sick-pay pool. A leave type uses an allowance either as a Balance (the days come out of it) or as a Limit (a cap on that leave type, never extra days). A leave type that uses nothing is recorded when taken, with no limit.
- Policies are groups of people inside one leave type. Each person is in one policy per leave type, and a policy may add to or take from the amount of an allowance the leave type owns. New hires join every Standard policy set to add them automatically. A person in no policy, or marked Not eligible, cannot request that leave type. Once decided, a person moves to another policy or to Not eligible, never back to no policy.
- Presets set all of this up per country. A new workspace gets its country's preset - Poland, Singapore, Germany, the Netherlands, Ireland, Spain, Czechia, the UK, an EU minimum, or a generic one elsewhere - and Add from preset on Settings → Leave → Leave types adds another.
- Approval is set on the leave type: an approval workflow (Simple manager approval by default), Granted at once, manager notified, or Granted at once, nobody told. An optional Same-day cut-off sends a request for today made after that time through a workflow instead.
Balances as of a date
Nothing is granted overnight. What someone is entitled to is worked out from the allowance's settings, their employment start date, schedule and policy, and any Leave details answer a leave type reads, so a balance is always read as of a date: Home shows today, and the API and agents can ask for any date. The profile's Time off tab shows today, and its Year picker shows last year as it stood on 31 December or next year as it will open on 1 January, read-only: policies change in the running year. A year's history is its Requests and the Leave ledger (carry-overs and adjustments). Pending requests are shown apart from approved ones. An hours allowance is shown in days of the person's own working day.
Carry-over and deadlines
At the end of a leave year, unused days carry over as the allowance says: Nothing carries over, All unused days carry over, Up to a cap carries over, or Each year's days are kept apart. Carried days are used first. A deadline is either Must start by a date - the leave has to start by then, and nothing is removed afterwards - or Expire on a date, which removes what is left. Nothing carries into the leave year in which your workspace started using SquadBear.
Versions
Saving an allowance or a policy amount creates a version that applies from the first leave year starting on or after Takes effect from; the running year keeps its settings. Request rules apply to requests made from their date. The Version history tab lists the versions of every leave type, allowance and policy.
Worked example: joining mid-year
Aleksandra joins Northlake, a Polish workspace, on 1 March with 12 years of total service.
The Polish preset's annual leave allowance is 20 days, rising to 26 after 10 years,
prorated by month for joiners and rounded up. Until Marta records Aleksandra's Leave
seniority, the step counts from 1 March and Leave details shows To check:
20 × 10/12 = 16.67, so 17 days. Once it is recorded, 26 × 10/12 = 21.67, so her Time
off tab shows 22 days for this year.

