Blog

How to manage employee attendance and leave in one system

Two spreadsheets that disagree is the normal state of affairs. Here is why it happens, what it costs, and how to fix it in about a week.

Nearly every company below about 250 people starts the same way: an attendance sheet somebody maintains, and a leave tracker somebody else maintains. They are separate files, updated by different people, and they disagree by the second month.

What separation actually costs

  • Approved leave shows as absent. Somebody has to cross-reference two files before payroll runs. At some point nobody does, and a deduction lands on the wrong person’s salary.
  • Balances become arguments. Without a request-by-request history, a December disagreement has no evidence on either side, and HR loses either the argument or the goodwill.
  • Managers approve blind. Nobody can see that three of a four-person team are already off that week until the week arrives.
  • Month-end takes a day. Assembling the payroll file by hand, with the transcription errors that implies.
  • Nothing is auditable. Who approved what, and when, exists only in email — if it exists at all.

What "one system" has to mean

Not one vendor with two modules. One employee record that both attendance and leave write to, so a change on one side is immediately true on the other.

The four connections that matter
ConnectionWhat it prevents
Approved leave marks the attendance recordA leave day being paid as an absence
The holiday calendar suppresses attendance rulesAbsent marks on days nobody was meant to work
Approval moves the balance in the same transactionA balance that is right in one file and wrong in another
The team calendar is visible at the moment of approvalA shift being approved into being short-staffed

A week-long migration

  1. Day 1 — write the policy downShift timings, grace window, when a late becomes a half-day, break deduction, leave types, accrual rates, carry-forward caps. This is the hard part, and it is a management decision rather than a software one.
  2. Day 2 — configure itEnter the policy, set up shifts and leave types, and load the holiday calendar for the year. An afternoon.
  3. Day 3 — import people and opening balancesA CSV of employees with departments, joining dates and reporting managers, plus each person’s current leave balance as an opening figure. Do not backfill history.
  4. Day 4 — tell everyoneA fifteen-minute session on marking attendance and requesting leave. Send the leave balances out at the same time so anyone who disagrees says so now rather than in December.
  5. Day 5 — go live, ideally on the 1stStarting mid-month means the first payroll cycle spans two systems, which is exactly the reconciliation you are trying to escape.
  6. Week 4 — check the first exportThe first month-end file is where a misconfigured policy reveals itself. Compare it against what you would have paid manually, once.

Keep the old spreadsheet, read-only. Not as a fallback but as an archive. Somebody will ask about a leave taken eight months ago, and having the answer avoids relitigating the migration.

The policy decisions people get stuck on

Common questions and the answer most companies land on
DecisionCommon answerWhy
Grace window10 to 15 minutesLong enough to absorb traffic, short enough to mean something
Late policy3 lates in a payroll month = 1 half dayCumulative rather than punitive per instance
Half-day threshold4 to 5 worked hoursBelow this it is not a working day in any meaningful sense
Carry-forwardCapped at one year’s entitlementPrevents an unbounded liability building up
Casual leave at year endLapsesIt exists for short-notice absence, not accumulation
Regularisation limit2 to 3 a monthEnough for genuine mistakes, not enough to become the norm

What good looks like after a month

  • Nobody maintains a spreadsheet.
  • The month-end payroll file is a download rather than a day of work.
  • Employees check their own balance instead of emailing HR.
  • Managers see the team calendar when they approve.
  • Leave disputes are settled by opening the record.

Related

Frequently asked questions

How long does migrating from spreadsheets take?

About a week of calendar time and roughly a day of actual work, most of which is deciding the policy rather than entering data. Starting at the beginning of a month makes the first payroll cycle much cleaner.

Do we need to import historical attendance?

Usually not. Import opening leave balances, keep the old spreadsheet read-only as an archive, and start attendance fresh from the go-live date. Backfilling history is a lot of work for very little benefit.

What is the hardest part?

Writing the policy down. Most companies have a late policy that exists as a shared understanding rather than a rule, and the software forces the ambiguity to be resolved. That is a feature, but it takes a management decision.

Try it on your own team this week

Start on the cloud in ten minutes, or tell us your headcount and where the server has to live and we will price the self-hosted licence on the call.

  • 7-day trial
  • No credit card
  • Cancel anytime