Skip to content
ZivoHR

Interface style

Colour scheme

All writing
People ops

Your leave policy is a program, and someone is running it by hand

Accrual, pro-rating, carry-forward caps, lapse dates, encashment, per-location holidays, half-days. Every line of a leave policy is a rule, and in most companies a person executes all of them in a spreadsheet every month.

The ZivoHR product teamPeople operations24 Jun 2026 · 7 min read
A leave policy, run as a programA rule — accrue 1.5 days a month, carry forward 10 — produces the balance, the balance bounds a leave request, and the request goes to approval.ruleaccrue 1.5 days/monthcarry forward 10balancerequestapproval

Ask an HR team how leave works and you get a one-page PDF. Ask them what happens when someone joins on the 19th, takes two half-days in a month they had unpaid leave, and resigns before the carry-forward lapse date, and you get a pause, and then a name. There is always a name. Somebody in that team is the leave engine, and they run it in a spreadsheet on the second working day of every month.

That is not a criticism of the person. It is an observation that a policy document is a program specification, and somebody is executing it by hand.

Count the rules in your own policy

Here is what is actually in a normal, unremarkable leave policy. Not an exotic one — a normal one.

  • Accrual. Monthly or annual. Credited at the start of the period or the end. Rounded to a half day, or not rounded. Suspended during unpaid leave, or not.
  • Pro-rating on join. Someone who joins on the 19th earns a fraction of that month. Which fraction depends on whether you pro-rate by calendar days, working days, or a threshold rule (“joined before the 15th, full month’s accrual”).
  • Pro-rating on exit. The mirror image, and the one that lands in the full-and-final.
  • Probation. Accrual that builds but cannot be taken, or does not build at all.
  • Carry-forward, with a cap. Anything above the cap is either lapsed or paid out, and which one depends on the leave type.
  • A lapse date. Which is not always 31 December. Financial-year policies lapse in March and the two conventions coexist inside the same company after an acquisition.
  • Encashment. At what rate — basic, gross, or a defined subset — and capped at how many days.
  • Holiday calendars, per location. Bengaluru and Gurugram do not share a holiday list. Nor do two offices in the same state, once you allow optional or floating holidays.
  • Weekly offs, per shift. Not everyone works Monday to Friday. A support rota does not.
  • Half-days. And the question of whether a half-day on a Friday plus a half-day on a Monday is one day of leave or two entries.
  • Sandwich rules. Whether a weekend or holiday falling between two leave days is deducted. Companies have strong feelings about this in both directions.
  • Negative balance. Allowed up to some limit, for some leave types, for confirmed employees only.

That is thirteen rules before anyone has applied for anything. Each one has an exception that someone in HR remembers and nobody wrote down.

A request that looks like five days and is four

Take an ordinary example. An employee based in Bengaluru applies for leave from a Monday through the following Friday. Five calendar days. The form says five. The manager approves five.

Here is what the balance should actually move by.

Start at five. Monday through Friday, no weekend inside the span.

Subtract the regional holiday. Wednesday is on the Bengaluru holiday calendar and not on the Gurugram one. Their colleague on the same team, applying for exactly the same dates, is charged a different number of days. Balance moves by four.

Except the answer only stays at four if you have also decided the surrounding questions, and each of them can move it again:

  • Is the sandwich rule on? If your policy deducts holidays that fall inside a leave span, it goes back to five. Both answers are defensible. What is not defensible is different answers in different months because a different person did the count.
  • Is Wednesday an optional holiday? Then it depends on whether this employee elected it, which is a per-employee record, not a calendar fact.
  • Did they apply for a half-day on the Friday? Now it is 3.5, and your leave ledger needs to store halves, which means the balance is a decimal and every rounding rule you wrote has to be re-read.
  • What is the balance as of when? If the accrual for the month is credited on the last day, an employee applying on the 3rd for leave on the 27th has a balance that will exist by the time the leave is taken but does not exist at the moment of application. Whether you approve against the balance today or the projected balance on the start date is a policy decision that almost nobody has made explicitly.

And one more, which is where payroll finds out: the request that straddles two payroll periods. Leave from the 28th to the 2nd is one request and two payroll runs. If any part of it is unpaid, the loss-of-pay days have to split across two runs, and the split has to survive the request being cancelled halfway through. Teams handle this by holding the leave out of the first run and adjusting in the second — which works until the employee resigns in between.

The errors are invisible until somebody leaves

This is the part that makes leave different from payroll. A payroll error is discovered this month, by the employee, loudly. A leave error is discovered years later.

Balances drift by fractions. A month where accrual was credited during unpaid leave. A carry-forward that was capped in a year when the cap had changed. A holiday counted for a location the employee had already transferred out of. None of it is visible, because nobody audits their own leave balance — they glance at the number in the portal and accept it.

Then they resign, and the full-and-final settlement converts that accumulated drift into money. Encashment of a wrong balance is a payment error with a signature on it. It is the single most common source of exit disputes we hear about, and it is entirely made of small arithmetic that was never wrong enough to notice.

The second-order cost is worse: once one exit settlement is disputed, the team recomputes balances by hand for everyone who might be affected, and that reconciliation eats a week.

If you automate exactly one thing, automate the balance

Not the approval workflow. The approval workflow is the visible part and it is the least valuable to fix — a manager clicking approve in an email thread is inefficient, but it is not wrong.

Automate the balance, as a ledger.

That means one authoritative record where every movement is an entry with a date, a reason and a source: accrual credited, leave taken, half-day taken, request cancelled, balance brought forward, excess lapsed, days encashed, adjustment made by a named person with a note. The balance is not a stored number that gets edited. It is the sum of the ledger, as of a date.

Three things follow from that, and they are the whole return:

  1. Every other rule reads from it. Approval checks it. Payroll’s loss-of-pay reads it. The full-and-final is the balance on the last working day times a rate. Get the ledger right and the downstream calculations stop being independent sources of error.
  2. You can answer “why”. “Your balance dropped by two in April” has an entry attached to it, with a date and an actor. That conversation goes from an investigation to a screenshot.
  3. You can recompute. If a rule was wrong for six months, you re-run the accrual with the corrected rule and diff the ledger. Without a ledger, correcting a historical rule means editing balances by hand, which is how the drift started.

What automation will not do for you

One honest warning. Encoding a leave policy forces you to answer questions the policy document has been quietly avoiding, and the first month is not implementation — it is discovery.

You will find rules that HR has been applying consistently for four years that appear nowhere in writing. You will find two locations operating different conventions that everyone assumed were the same. You will find at least one rule that, written down explicitly, the leadership team does not agree with and has to decide on.

That is uncomfortable, and it is also the actual value. The spreadsheet was never the problem. The spreadsheet was where an unwritten policy went to hide.

Book a demo · 30 min

See it on your own numbers.

Thirty minutes, your policies, your payroll edge cases. We will show you the parts that usually break.