Home › HRMS › Features › Data import › Opening leave balance import
Data import feature

Import opening leave balances

When a company changes HR systems, leave balances are what employees check first, and a missing half day of earned leave becomes a complaint on the first morning. Data Import carries balances over into the Leave Ledger as opening entries: one row per employee and leave type, with the balance in days and the date it is valid from. Unknown employees, unknown leave types and anyone who already has an opening balance for that type are caught before anything is saved.

How it works

  1. Switch on the Leave Ledger first, because opening balances are posted into it.
  2. Choose Opening leave balances in Data Import and prepare one row per employee and leave type.
  3. Each row needs the employee ID, the leave type as a code or name such as CL or Casual Leave, and the balance in days.
  4. Add an as-on date if the balance is valid from a particular day; a blank date means today.
  5. The row check flags unknown employee IDs, leave types that do not exist, balances outside 0 to 366 days, more than two decimals and repeats in the file.
  6. Anyone who already has an opening balance for that leave type is skipped; change it with a leave adjustment instead.

What you can set

Why opening balances need care

Leave balances are money: earned leave can be carried forward and encashed, and a balance that is too high or too low will be paid out wrongly one day. Under the OSH Code, a worker earns annual leave with wages and may carry forward up to 30 days, as explained in the leave entitlement rules. Carrying the closing balance from the old system exactly, with the date it was valid on, keeps the ledger honest from its first entry, and every later accrual, debit and lapse builds on it.

Worked example: switching systems on 1 April

A pharma distributor in Lucknow moves to ZeniaHR on 1 April 2026. HR freezes leave in the old system on 31 March and exports closing balances. For employee EMP-0104, the sheet has three rows: CL 3, SL 5.5 and EL 18, each with the as-on date 01/04/2026. After import, her ledger starts with those three opening entries. With the default leave types, the April accrual adds 1 day of CL, 0.5 of SL and 1.5 of EL, so her balances become 4, 6 and 19.5. When she applies for leave in May, the live preview uses these figures.

A careful cut-over

Treat the leave cut-over as a small project with an owner, a date and a check at the end. Balances carried wrongly are hard to explain months later, when the old system has been switched off and nobody remembers the closing figures.

See opening leave balance import in a demo

We show it on a video call with your own shifts, leave types and rules. Free for your first 50 employees.

Book a free demoSee pricing

Frequently asked questions

How do I carry forward leave balances from my old HR system?

Export each employee's closing balance per leave type from the old system, put one row per employee and leave type in a sheet with the employee ID, leave type and days, and import it as Opening leave balances. The Leave Ledger must be switched on first, since the balances are posted into it.

Can I import half-day leave balances?

Yes. Balances can have up to two decimals, so 6.5 or 2.25 are accepted. Values must be between 0 and 366 days. The row check flags anything outside these limits before the import, with the reason shown next to the row so it can be corrected.

What if I imported a wrong opening balance?

Correct it with a manual adjustment entry in the Leave Ledger rather than importing again. A second import for the same employee and leave type is skipped on purpose, so a balance is never counted twice. The adjustment stays visible in the ledger history with its note.

Do I need the Leave Ledger switched on to import balances?

Yes. Opening balances are entries in the Leave Ledger, so the import stops with a clear message if the ledger is off for your company. Switch it on from the Leave Ledger page, check that your leave types exist, then run the import.