Last updated November 6, 2026
Rules and figures from other sources checked on November 6, 2026. They change, so confirm with the source before you rely on them.
General information, not tax or legal advice. The rules depend on your country and your situation, so check anything with a tax or legal consequence with your accountant.
A time off tracker that also tells you your capacity has two parts: a log of every absence, and a weekly grid that turns those absences into available hours. The log answers who is away. The grid answers how many hours the team has left that week, which a holiday list on its own can't tell you.
What should a time off tracker include?
A time off tracker needs one row per request, because a request is the thing that gets approved, cancelled or disputed. Here's an invented example from a five-person studio:
| Person | Type | First day | Last day | Days | Status | Decided by |
|---|---|---|---|---|---|---|
| Anna | Annual leave | Tue 7 Apr | Fri 10 Apr | 4 | Approved | Elin |
| Ben | Annual leave | Wed 8 Apr | Thu 9 Apr | 2 | Approved | Elin |
| Carla | Sick | Mon 13 Apr | Mon 13 Apr | 1 | Recorded | |
| Dev | Annual leave | Wed 6 May | Thu 7 May | 2 | Pending |
Keep the requests in one place. A calendar and a spreadsheet kept side by side will disagree within a month, and then nobody trusts either. A rule the team can read helps:
Ask for leave in the tracker, not in chat. Requests of five days or more need at least two weeks' notice. [Name] decides within two working days. Your leave isn't booked until the status says Approved.
The notice period there is an example. Set your own, and check it against your employment contracts.
How do you work out a leave balance in a spreadsheet?
A leave balance is the entitlement plus days carried over, minus days taken, minus days approved for later. Subtract approved future leave as well as leave already taken, or someone will book the same days twice.
| Person | Entitlement | Carried over | Taken | Approved, not yet taken | Remaining |
|---|---|---|---|---|---|
| Anna | 28 | 2 | 9 | 5 | 16 |
| Ben | 25 | 0 | 6 | 2 | 17 |
| Dev (3 days a week) | 16.8 | 1 | 4 | 3 | 10.8 |
The entitlement column is where the law comes in, and it varies.
- EU: Article 7 of the Working Time Directive sets a minimum of four weeks' paid leave a year, and national law can add to it.
- UK: most workers get 5.6 weeks, which is 28 days on a five-day week and at least 16.8 days on a three-day week. An employer can include bank holidays in that figure.
- Counting days: check whether your law counts working days or calendar days. Estonia's Employment Contracts Act, for example, gives 28 calendar days, so a weekend inside a holiday uses up leave, while public holidays don't.
The table above credits the whole year up front. If you'd rather leave builds up as it's earned, the accrued figure is the entitlement times the days so far, divided by the days in the year: 28 × 90 ÷ 365 = 6.9 days at the end of March 2026.
Agree two things in writing before the year end: what happens to unused days, and how you pro-rate someone who joins or leaves part way through. Carry-over rules vary by country, so check yours.
How does a time off tracker show your capacity?
A time off tracker shows capacity once you convert each absence into hours, per person, per week. The sum is contract hours, minus public holiday hours, minus time off hours.
Here's the same invented studio in the week of 6 April 2026, with a public holiday on the Monday and 8-hour days. Dev works Tuesday to Thursday.
| Person | Contract | Public holiday | Time off | Available |
|---|---|---|---|---|
| Anna | 40 | 8 | 32 | 0 |
| Ben | 40 | 8 | 16 | 16 |
| Carla | 40 | 8 | 0 | 32 |
| Dev | 24 | 0 | 0 | 24 |
| Elin | 40 | 8 | 0 | 32 |
| Team | 184 | 32 | 48 | 104 |
A normal week gives this team 184 hours. This one gives 104, about 57%. A holiday list says two people are away, which sounds manageable. The grid says you've lost more than 40% of the week, and that's the number you need before promising anyone a delivery date.
Notice Dev's row. The holiday falls on a day Dev doesn't work, so it costs no hours, and that's exactly where mental arithmetic goes wrong.
To build it, keep two sheets. The first is the request log above, with a line per week for any request that crosses a week boundary, and a column for hours. The second has one row per person and one column per week, and each cell pulls from the log:
=contract − holiday − SUMIFS(Log!Hours, Log!Person, $A2, Log!Week, B$1)
Leave pending requests out of the sum but mark the cell, so you can see the risk without treating it as settled. From here, the capacity planning template sets those hours against project bookings, and the guide to resource planning for service teams covers deciding who does what.
Which absences go in a time off tracker?
Every absence goes in a time off tracker, but only some of them touch the leave balance. A tracker that holds annual leave alone will overstate your capacity.
| Absence | Reduces leave balance? | Reduces capacity? |
|---|---|---|
| Annual leave | Yes | Yes |
| Public holiday | Only if the contract counts it within the entitlement | Yes, on a working day |
| Sick leave | Not normally | Yes |
| Unpaid leave | No | Yes |
| Training or a conference | No | Yes |
| Working from home | No | No |
For sickness, write "sick" and nothing more. Health details are special-category data under Article 9 of the GDPR, and a capacity sheet has no need for them.
Recording time off in ERPFlow
In ERPFlow, Vacations replaces both the request log and the balance sheet. You file a request for someone on your staff list as annual leave, sick leave or unpaid leave, and only annual leave deducts from the balance. The form shows how many days the range costs and the balance after it, and warns you if the request would take the balance negative or overlap another. A negative balance is allowed. A range touching that person's pending or approved request is refused. Someone then approves or rejects it, with their name recorded against the decision.
The Balances tab shows each person's accrued days plus carry-over, days used, approved future days and days available, worked out each time you open it from the policy in Settings > Staff > Vacations:
- Entitlement: 28 days until you change it, and one person can have a different number on their staff form.
- Accrual: days build up through the year instead of landing on 1 January, so someone's available figure in March is well below their annual entitlement.
- Carry-over: off unless you turn it on. Carried days are spent first and expire after a year.
- Day counting: calendar days excluding public holidays by default, so a weekend inside a range uses up leave. You can switch to counting Monday to Friday. Set this first, because a policy change reshapes past balances as well.
The team calendar draws each absence as a bar across the month with public holidays hatched. You add those holidays by importing a country's official list for a chosen year and saving it to the policy. Out of the box any member can approve a request, so if approval should sit with certain people, tighten it in roles and permissions. An approved absence also takes that person out of the open slots on a configurable booking page.
The policy is yours to set: ERPFlow doesn't apply statutory entitlement rules per country, so check your settings against your own law. There's no payroll link, rota or capacity planning. ERPFlow doesn't turn absences into available hours, so the capacity grid above stays in your spreadsheet, though a person's Calendar tab on their staff record shows their bookable hours, bookings, time off and public holidays one person at a time.