Aggregation, anchors, ceilings, and accrual#
For: Manager | Admin You’ll need: A policy where you’ve already chosen a tracking mode — see Tracking modes — balance, spell, and unlimited.
A balance policy needs to answer four questions: over what window does the entitlement reset, when does service-year math start, how big is the entitlement (and does it grow with service), and how do hours land in the balance. Here’s what each setting does.
What it means#
Aggregation scope#
The window over which the entitlement is granted and the balance lives — the leave year. Shiftavo works this out for you from your company’s leave-year mode (Settings → Leave): a fixed date anchor shared by everyone (a calendar or fiscal year), or each person’s hire anniversary so the balance resets on their work-anniversary instead of on Jan 1. See How to set up the leave year.
The service year#
“Years of service” — the number a tier ladder is matched against, and the window a per-service-year ceiling runs over — is always counted from the person’s hire date. There’s nothing to configure and nothing that can drift: someone who changes employment type or moves location keeps the seniority they’ve earned. A senior who switched contracts last week never drops back to entitlement tier 1.
The same rule picks the window for spell policies, whether the policy counts per service year or per calendar year.
Ceiling mode — flat vs. tiered#
Flat — every person on this policy gets the same entitlement, set in ‘Flat-ceiling weeks’. Five weeks for everyone.
Tiered — entitlement steps up at service-year thresholds (min_service_years). Add the rungs of the ladder under How to manage tiers on a leave policy. A common setup: 4 weeks for years 0–4, 5 weeks from year 5, 6 weeks from year 20.
Deduction method — fixed vs. average#
When a request is approved, how many hours come off the balance per booked day?
Fixed — a constant value per day (typically the contracted day-length).
Average — the rolling average of the person’s worked hours over a recent window. Use this for variable-hour staff so part-timers don’t burn full-day entitlements on a half-day shift.
Accrual method — none, monthly, or hourly#
How does the balance grow during the period?
None — full entitlement is granted up front when the leave year rolls over (prorated by service date for new joiners in fixed-date mode).
Monthly —
1/12of the entitlement on the first of each month.Hourly — entitlement accrues per worked hour, posted when timesheet rows are confirmed.
Monthly accrual fires from a daily background task; hourly accrual fires the moment a time entry is confirmed. Either way, the row shows up in the How to view the leave ledger as an ACCRUAL transaction.
Entitlement and max balance#
‘Entitlement’ is the per-period grant (in hours or weeks, depending on the field). ‘Max balance’ is the ceiling the running balance cannot exceed — accruals that would push it over are silently capped. Set max balance higher than entitlement if you want to allow some overflow from carry-over, or equal if you want a hard cap.
How it shows in the app#
On the policy form, these fields appear under sub-headings as you fill out the basics. The detail page lays them out read-only with the tier ladder if the policy is tiered.
In the ledger, you’ll see the effects: GRANT and CARRY_OVER rows when the leave year rolls over, ACCRUAL rows on the schedule above, and BOOKING rows on approval.