TR Start free
HomeBlog › Guide

Employee leave tracking software: the five places a spreadsheet breaks, and what to build instead

O Ohana360 Team • September 7, 2026 • 13 min read
Illustration of an employee leave tracking screen showing leave balances and requests awaiting approval

Almost every small business that starts looking for employee leave tracking software gets there the same way: through an argument. Someone says they took three days in May, the file says five, and nobody can settle it, because the real record was never made. The leave was asked for in a message, granted with a nod, and noted in a file that nobody remembered to update.

This guide treats leave not as a spreadsheet problem but as a five-link chain: request, approval, record, balance and team calendar. Our example is Norvale Instruments, a fourteen-person manufacturer that has kept leave in one spreadsheet on the office manager's laptop for two years. (Demo data.) The file is not badly built. The problem is not inside the file, it is everything that never reaches it.

The five places a leave spreadsheet breaks

A leave spreadsheet usually survives its first year. It cracks in the second and nobody trusts it by the third. The diagram below shows one year of breakage at Norvale.

Request written and dated Approval a manager decides Record days are counted Balance entitled minus taken Team calendar who is away when THE FIVE PLACES A LEAVE SPREADSHEET BREAKS (DEMO DATA, ONE YEAR) 1 The request was never written down "Off on Thursday" arrived in a chat thread and reached no file: the leave happened, the record did not 11 days lost 2 Nobody owns the approval The employee says a manager agreed, the manager does not recall it; the argument sits on memory, not a record 4 disputes 3 Two files hold two different balances The office sheet and the finance list disagree, and at year end nobody knows which one is right 9 days apart 4 Half days and holidays counted by hand Public holidays and weekends were deducted on some rows and left in on others 6 days wrong 5 Three people off in the same week Each request was approved without opening a shared calendar; a delivery week ran on two people 1 week lost

What the five have in common is that none of them is carelessness or bad faith. Each is a moment where the record never got made. Nobody typed a wrong number; a step simply never reached anywhere.

What to record at every link

You do not close these gaps with more discipline. You close them by writing down in advance what gets recorded at each step. The table below is the trail a leave should leave on its way from request to team calendar.

LinkRecordFields that must be filledWho, and when
1. RequestLeave requestEmployee, leave type, start date, end date, noteThe employee, the day they think of it
2. ApprovalThe status field on that recordStatus (Pending, Approved, Rejected), decision date, decision makerThe manager, within two working days
3. RecordThe day countTotal days, public holidays and weekends deducted, half-day noteCalculated, then checked by a person
4. BalanceAnnual entitlement sheetHire date, years of service, days entitled, days taken, days leftHR or the office manager, monthly
5. Team calendarThe list of approved leaveWho, which dates, which teamVisible to everyone, at the moment of approval

Row two is the one everybody skips. An approval given as a single word, with nothing on the record changing, leaves no trace. Think of approval not as a sentence but as a status change: when the field moves from Pending to Approved, the approval has happened; if the field never moved, it has not.

💡 Make the hire date mandatory on the employee record. It is the single input to every formula that ties entitlement to length of service, and when it is blank the whole balance table becomes an estimate.

Entitlement and accrual: designing the policy

The balance starts with entitlement, and entitlement starts with a written policy. Statutory minimums vary by country, so build the policy on your local rules and treat anything above them as a deliberate choice. What matters is that these five decisions are written down once, in one place.

DecisionThe common optionsWhat it changes day to day
Annual entitlementA flat number for everyone, or a number that grows with serviceA growing entitlement needs the hire date on every record and a yearly refresh
Granting modelLump sum on 1 January (or the work anniversary), or monthly accrualAccrual is fairer mid-year and needs a twelfth of the entitlement added every month
Carry-overNone, capped at N days, or expiring at the end of Q1Without a cap, unused days pile into December and nobody can staff the month
Notice periodTwo weeks for planned leave, same day for personal or sick leaveSeparating the two stops planned leave being treated as an emergency
LeaversUnused days paid out, or a negative balance repaidDecide before you need it; deciding during a resignation never ends well

A worked example of accrual: on a 20-day entitlement, an employee earns 1.67 days a month. Someone who joins on 1 April has earned 15 days by the end of December, not 20. If instead you grant the full 20 on day one and they leave in June, you have paid for days they had not earned. Neither model is wrong; what is wrong is having no model and improvising per person.

💡 Write the policy on one page and give it to every new joiner on day one. In small companies, expensive leave problems come from people remembering different rules, not from the number of days being too generous.

The balance table: who has used what, at a glance

Leave management has one foundational table and it is the balance: entitled, taken and remaining, per person. Norvale's looks like this.

Leave balances Demo data • team of 14 • 7 September 2026 Marco Bianchi 8 years' service • 20 days 18 / 20 Tom Baker 6 years' service • 20 days 10 / 20 Anna Frei 3 years' service • 14 days 9 / 14 Sara Lindqvist 2 years' service • 14 days 5 / 14 Julia Novak 1 year's service • 14 days 3 / 14 TEAM SUMMARY Total entitled 82 days Taken this year 45 days Carry-over risk (over 10 days) 2 people REQUESTS AWAITING APPROVAL Sara Lindqvist 5 days Annual leave 22-26 Sep Julia Novak 1 day Personal leave 11 Sep Tom Baker 3 days Annual leave 6-8 Oct HOW TO READ IT Red row first: the balance nearly gone Then the green rows: people taking nothing The total last; a total describes nobody

Read it from the extremes, not from the total. The red row is a planning problem: Marco has used 18 of 20 days with months of the year left. The green rows are a problem too, in the other direction: somebody who has taken 3 of 14 days is accumulating carry-over, which is both a liability on your books and an early burnout signal. Three questions to ask of it:

What you seeWhat it meansThis month's action
A balance under 3 daysAny unexpected need for the rest of the year becomes an unpaid-leave conversationPlan the remaining months together now, not in November
Less than half the entitlement usedCarry-over is building and will land in one monthAsk for at least one full week to be booked in the last quarter
Two people from one team in one weekA cover risk: the second approval was given without seeing the firstMake opening the team view a step before approval
An employee who never files a requestThey are taking leave with no record; the table is not describing realityTalk about the habit, then fix the history in one pass
A request sitting in Pending for daysThe approval queue is blocked and somebody cannot book anythingSet a maximum decision time; two working days is a good threshold

Review the balance monthly, on the same day. The direction of travel matters as much as the number: if nobody's balance moves in September, you already know that everyone will want the same two weeks in December.

The approval discipline: who decides, how fast, on what basis

Most leave arguments are not about the amount of leave, they are about ambiguity in approval. The five rules below make two different managers decide the same way, which is what actually protects the relationship with the team.

RuleWhyHow it works in practice
A minimum notice periodPlanned leave and an emergency are different thingsTwo weeks for annual leave, same day for personal: write both down
A maximum decision timeA request left hanging cancels somebody's holiday plansA decision within two working days, with a reminder if it slips
One named approverA request between two managers becomes nobody's jobEvery employee has one approver, plus a named backup
No approval without the team viewIndividually reasonable decisions add up to a gap in coverCheck the same week's leave before you press approve
Rejections carry a reasonAn unexplained no is the most expensive message in a small teamOffer an alternative date and put both on the record

Put these five in the one-page policy and make sure everyone has read it. The long version of making follow-up the system's job rather than a person's is in the automated reminders guide, and the same reasoning applies here: anything that depends on one person remembering stops when that person is, appropriately enough, on leave.

💡 Do not delete a rejected request; leave it as Rejected. A deleted request means the same conversation restarts from zero six months later, while the record keeps the answer and the reason ready.

The first 7 days: a setup plan

The most common way this migration fails is trying to move every historical leave at once. Half an hour a day for seven days is enough.

DayWhat to doWhat you have at the end of it
1Enter the team: name, department, title, hire date, managerThe one correct list every service calculation rests on
2Build the entitlement sheet once: years of service and the days that go with themThe starting point of every balance, refreshed once a year
3Enter this year's taken leave as records; do not migrate previous yearsA real days-taken total and a remaining figure you can defend
4Write the one-page policy: notice, decision time, approver, carry-over, leaversA document that makes everyone remember the same rule
5Run a 20-minute rehearsal: everyone files one request, a manager approves itAn employee-side flow people will actually use
6Set a rhythm for pending requests: one person opens the list every morningA routine in which nothing sits waiting unnoticed
7Put the monthly balance review in the calendar and do the first oneA table that produces no surprises in December

On day eight, every new request comes out of the system. Running both in parallel helps in week one and hurts in week two: nobody writes the same thing down twice, and if they do, one copy goes stale.

How the leave flow works in Ohana360

HR360 owns the request, approval and record links of this chain. Here is what it does, without inflation, and what it does not do, without hiding it. This is the most important section of the guide.

Want to see the flow in 102 seconds?

Getting the balance in practice

Because there is no balance field, you build the calculation yourself, and it is a fifteen-minute job a month. The order:

  1. Build the entitlement sheet once a year. Export the employee list with hire dates, work out years of service, and write the entitled days next to each name.
  2. Take days used from the list, month by month. On Leave Requests, filter status to Approved, make the Days column visible, export, and total by employee.
  3. Keep the remainder on one sheet. Entitled minus taken. That page does not replace the app; it summarises the records in it, and the underlying data is no longer disputed.

Why say this so bluntly? Because "automatic balances" is a phrase used very freely, and discovering after purchase that it is not there costs far more than knowing up front. What HR360 genuinely solves is not the arithmetic of the balance, it is the existence of the record: the request is written, the approval is dated, the decision is permanent.

Which reports to build

There is an honest boundary here too. On the HR side the report builder covers Employees, Expenses and Job Applications; Leave Requests is not a report builder object. Leave analysis happens through the list view and export instead. The reports worth building:

#ReportObjectGroup byMeasure / filter
1Employees by departmentEmployeesDepartmentRecord count (ready-made)
2Employees by statusEmployeesStatusRecord count
3Hires by yearEmployeesHire date (year)Record count, gives your service mix
4Expenses by categoryExpensesCategorySum of amount (ready-made)
5Expense amount by monthExpensesDate (calendar month)Sum of amount
6Applications by stageJob ApplicationsStageRecord count (ready-made)
7Applications by positionJob ApplicationsPositionRecord count
8Leave awaiting approvalLeave Requests (list)-Filter: Status = Pending, then export

Row eight is deliberately different: it is a saved list view, not a report. Save the pending filter and favourite the list, and you get a one-click queue every morning, which for most small teams is more useful than a dashboard.

If your people records still live in spreadsheets, start the migration there: the Excel tracking guide covers the migration order and the usual traps. When expenses and receivables come next, the invoice and payment tracking guide applies the same logic to finance, and the what is CRM guide is a good starting point for the platform as a whole. Current numbers are on the pricing page, and you can request a demo to try it with your own data.

Frequently asked questions

What does employee leave tracking software actually do?
It keeps four questions answerable at any moment: who is off and when, who approved it, how many days each person has left, and how many people are away next week. A spreadsheet can hold all four, on one condition: somebody types every request into it. The real difference is not the report, it is that the record creates itself. The employee files the request, it lands on a list, the decision is written next to it, and the argument moves off memory and onto a dated record. At year end, "I was not off that day" has an answer that does not depend on who remembers what.
How much annual leave should a small business give?
Statutory minimums differ by country, so start from your local rules and treat anything above them as policy. What matters more than the number is that the policy is written down in one place and applied the same way to everyone: how many days per year, whether the entitlement grows with length of service, whether unused days carry over and for how long, how much notice a request needs, and who approves it. A one-page policy that everybody has read beats a generous but undocumented one, because the expensive problems in leave management are disagreements, not day counts.
Accrual or a lump sum at the start of the year?
Both work, and the choice changes what you have to track. A lump-sum model grants the full entitlement on 1 January (or on the work anniversary) and is simpler: one number per person per year. An accrual model earns days month by month, usually a twelfth of the annual entitlement, and is fairer for people who join or leave mid-year, because the balance always reflects time actually served. If you run monthly accrual, decide up front whether a leaver is paid out or asked to repay a negative balance, and write that line into the policy before you need it.
Does Ohana360 calculate leave balances automatically?
No. HR360 has a leave request record and works out the number of days from the date range on its own (start and end inclusive, counted as calendar days), but there is no entitlement field on the employee and no balance field that counts down from it. You get the balance like this: filter the Leave Requests list by employee and by the Approved status, export it with the Days column to Excel or CSV, and subtract from your entitlement figure. Combined with an entitlement sheet you refresh once a year, that is a fifteen-minute job, but it would be wrong to say the app keeps the balance for you.
Can employees file their own requests, and who approves them?
Yes. Any user opens a request from the Leave Requests tab: type, start date, end date and a note. When the name on an employee record matches the signed-in user's name exactly, a non-admin user cannot pick anybody else, so nobody files leave on somebody else's behalf. The request lands on the list as Pending and a notification goes out. Approving and rejecting are admin rights: the Approve and Reject buttons on the list or the record set the status to Approved or Rejected, and the decision stays on the record.
Do approved leaves show up on a shared team calendar?
Not in Ohana360, and it is worth being precise about it. Approved leave does not appear as an entry on the shared calendar alongside tasks and events. What you do get is a strip on the HR360 home page listing every leave starting in the next seven days, with the ones still awaiting approval flagged, plus the full Leave Requests list you can sort by start date. For most small teams the seven-day strip covers the real question, which is who is away this week; if you need a month view, sort the list by start date or export it.

Put leave on the record, not in someone's memory

The request is written, the approval is dated, the decision stays. Employees file their own requests, managers approve in one click, and next week's absences show up on the home page.

Read next