Skip to content
AI HR Bot

· AI HR Bot · 3 min read

How a Leave Balance actually accrues

Ask the bot how many vacation days you have and it answers with a number like 11.66. That number looks oddly specific, and the specificity is the point: it is the output of a small piece of arithmetic that runs the same way every time, and every part of it is worth explaining.

A month at a time

A Leave Balance grows monthly, on the anniversary of your hire date. Hired on the 15th, you complete a month of service on the 15th of the next month, and that is the day the grant lands.

Hired on the 31st, you complete a month on February 28th — the anniversary is clamped to the last day of a shorter month, so nobody silently skips a grant just because their start date doesn't exist in February. March then waits for the 31st again; the clamp borrows a day, it does not move your anniversary.

The granting itself is driven by watermarks, not by a schedule firing on time. An extra pass grants nothing twice, and a missed pass is made up in full on the next one.

Down to the fourth decimal

A policy of 20 days a year is stored as 1.6667 days per month — four decimal places. After twelve months that is 20.0004 days on the books. You will never hear that number, because what the bot reports is rounded to two decimals, and rounded down: told "11 days" when you hold 10.99, you would book a day you don't have. The bot never states more days than are actually held.

20
2025-01-15
2026-01-15

1.66 days/month

Months completed
12
Held on the books
20.0004 days
What the bot reports
20 days

Assumes the policy has been active since the hire date and nothing has been spent. Balances are stored to four decimal places; the bot reports two, rounded down — it never states more days than are actually held.

The gap between the stored figure and the spoken one is at most a hundredth of a day. What matters is the direction: the error always favours caution, never the appearance of generosity.

The edges, named

Three of them, because naming the edges is what makes the middle believable.

No hire date, no accrual. If your hire date isn't on record, the bot does not guess one — a plausible-looking substitute would be indistinguishable, later, from a real tenure. The missing date is surfaced to your HR Head as the one thing they can actually fix.

Accrual can be switched off, and existing balances are kept — the Workspace goes back to balances set by hand. If it is switched on again later, nobody is credited for the gap.

And the grant is anchored to the later of your hire date and the policy's start. A policy that began this January does not owe anyone last year's months, however long they have been on the team.

That is the whole mechanism. The number is small, precise, and slightly boring — which is what you want from the arithmetic that decides whether a Friday off gets filed.

Start free

Connects to your Slack in about 2 minutes.