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. Most companies use the company period (calendar, rolling, or fiscal year — set under Settings → Leave). Some use a rolling 12 months from the anchor so the balance resets on each person’s work-anniversary instead of on Jan 1.
Service-year anchor#
The reference date Shiftavo uses to compute “years of service” for tier matching and rolling windows. Options are:
‘Hire date’ — the day the person started.
‘Employment-type start’ — the day they joined their current employment type.
‘Custom’ — a date you set per person on the membership.
Which one you pick matters most for tiered policies, because the tier ladder is matched against this number. A senior who switched employment types last week shouldn’t drop to entitlement tier 1 — usually you want ‘Hire date’.
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 period starts (prorated by service date for new joiners).
Monthly —
1/12of the entitlement on the first of each month.Hourly — entitlement accrues per worked hour, posted when timesheet rows are submitted.
Monthly accrual fires from a daily background task; hourly accrual fires the moment a time entry is submitted. 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 rows when a period starts, ACCRUAL rows on the schedule above, BOOKING rows on approval, CARRY_OVER rows at period close.