Carry-over rules#

For: Manager | Admin You’ll need: A balance-tracking policy.

When a company period closes, leftover balance either rolls into the next period, expires, or some mix of both. Carry-over rules on the policy decide which.

What it means#

Three knobs control what happens at period close:

  • ‚Carry-over limit‘ — the maximum hours that may roll forward. Anything above the limit is dropped. 0 means nothing carries over; leave it blank for „unlimited“ (the full leftover balance carries).

  • ‚Expiry months‘ — how long carried-over hours stay valid in the new period. After this many months, any unspent carry-over is wiped by a daily background task (task_expire_carryovers). Leave it blank for „no expiry“.

  • ‚Carry-over priority‘ — when a request is approved in the new period, do we draw from carry-over first (use-it-or-lose-it) or from the new entitlement first? Drawing from carry-over first is the friendlier default; it keeps the worker from losing hours to expiry.

When to use which#

Pattern

Limit

Expiry

Why

No carry-over

0

Use-it-or-lose-it. Common for sick leave caps.

Limited carry-over with deadline

40

3 months

Most common vacation pattern in CH/DE.

Unlimited carry-over

blank

blank

Generous; balance grows over years. Pair with a sensible ‚Max balance‘.

Carry-over with expiry, no limit

blank

6 months

Don’t cap, but force usage by mid-year.

How it shows in the app#

When you close a period from the ‚Company periods‘ page, Shiftavo reads each policy’s carry-over rule and writes a signed CARRY_OVER row into the How to view the leave ledger for every active person. The new period opens with that balance already in place, alongside its fresh GRANT row.

If the policy has an expiry window, Shiftavo also schedules an EXPIRY row to fire on the deadline. When that day arrives, the daily task posts a negative transaction for any carry-over hours still unused.

Tipp

The carry-over computation runs once, when you close the source period. If you change a policy’s carry-over rule after closing, existing carry-overs aren’t recomputed — only future closes pick up the new rule.