Vacation Should Accrue in Real Time
Issue 008 6 min read payroll employee-experience

Most traditional employers treat the statutory minimum as the whole policy. In British Columbia, the Employment Standards Act sets two entitlements: vacation time and vacation pay. But treating the legal floor as the operating design ignores the math underneath, and that math gets expensive.

What the law actually says

In BC, employees earn two entitlements. After 12 consecutive months of employment, a regular employee is entitled to at least 2 weeks off; after 5 consecutive years, at least 3 weeks. Vacation pay is 4% of total wages for the first five years, then 6% after that. (BC ESA, Part 7, ss. 57–58, bclaws.gov.bc.ca.)

The ESA also says the employer must ensure the employee takes the annual vacation within 12 months after completing the year of employment that earned it. (BC ESA, s. 57(2).)

The cost gap the law creates

The pay-rate gap

The law ties vacation pay to wages earned in the entitlement year. That creates a rate mismatch whenever someone’s pay goes up. A salaried employee who gets a raise after their two weeks are earned now has vacation pay calculated at the old salary. A wage employee who moves to a higher hourly rate has the same problem. The ESA does not require topping up, but many employers do it anyway so the employee continues to receive their current pay during time off.

For companies that do top up, I recommend recording the top-up amount under a separate earnings code. That makes the cost of the benefit visible. Without the split, the extra pay blends into regular vacation pay and the company never sees how much it is spending to keep salaries whole during time off.

The one-year cliff

The one-year mark is a system checkpoint, not a magic earning event. If an employee can take all ten days on day 366, those days were already earned during the previous 365. Blocking access until the anniversary just hides the balance from both the employee and payroll.

That delay creates unnecessary friction for everyone. An employee who needs a day or two for a trip before the anniversary has to take unpaid leave, then take the same time again later as paid leave once the balance appears. Managers end up covering the same person twice — once for the unpaid absence now, and again for the paid absence in the next year — which doubles coverage planning. Payroll gets a variance every time someone takes unpaid leave instead of regular paid vacation, which means extra validation instead of a standard run.

How to run vacation pay in practice

For high-turnover or casual roles, the cleanest approach is to pay out vacation pay on every payroll. The employee gets the dollars as they are earned, and the company is left with only the days liability. The days are not payable on termination, so there is no growing cash liability sitting on the books.

For full-time or standard-hours roles, I prefer to accrue both days and dollars on each payroll. The balance stays current with the employee’s actual earnings, so there is no catch-up top-up later and no surprise liability at termination. Employees can see what they have, request leave against it, and take time off without the company needing a side spreadsheet.

A manager should approve time off based on whether the employee has enough accrued days and whether coverage works. Whether the vacation pay pool fully covers the day is a payroll question, not a manager question. The system should let the employee take the day if they have the time available, and handle any shortfall or top-up in payroll behind the scenes.

What a clean system looks like

In a clean setup, the payroll engine accrues vacation pay as a percentage of wages every cycle, and the time-off module accrues days at the same pace. Each pay period sets aside the right percentage of current wages, so the dollar balance stays current with what the employee actually earns now.

The time-off system shows the manager the accrued days and coverage status. The payroll system handles the dollar side. If a small gap appears because of a recent raise, payroll applies the top-up automatically using the separate earnings code. There is no spreadsheet on the side, no manager guessing at balances, and no finance team reconciling liabilities after the fact.

A few policy choices also keep the system clean. A structured vacation carry-forward cap prevents balances from inflating indefinitely. A standardized performance review and salary increase schedule reduces surprise raises that create top-up gaps in the first place. When the rules around days, dollars, raises, and carry-forward are consistent, the platform can run the math without exceptions.

The bottom line

Vacation is not a reward that drops after twelve months. It is compensation that is earned continuously. The law already separates days from dollars. A well-run system should accrue both in real time, let employees access leave as they earn it, and let the platform handle the math. That reduces cost inflation for the company and gives employees a benefit that actually matches how they work.

AI disclosure: This post was drafted with AI assistance and reviewed by Kyle Yuen.