We are implementing ERPNext in 2026 and migrating employee leave data from our previous HR system.
Current Scenario
-
We went live with ERPNext in 2026.
-
Employees joined in different years (2010, 2015, 2020, etc.).
-
Each employee already has an accumulated unused annual leave balance from previous years.
-
These previous balances vary from employee to employee, for example:
-
Employee A: 250 days
-
Employee B: 200 days
-
Employee C: 50 days
-
Employee D: 20 days
-
These balances are historical balances that must remain available to the employees.
Expected Behavior
For each employee, we expect ERPNext to show:
Total Leave Balance = Previous Carry Forward Balance + Current Year’s Leave Allocation
For example:
-
Previous Carry Forward: 250 days
-
2026 Annual Leave Allocation: 30 days
-
Expected Total Balance: 280 days
Another example:
-
Previous Carry Forward: 50 days
-
2026 Allocation: 24 days
-
Expected Total Balance: 74 days
What We Tried
We tried entering the historical balances using:
-
Unused Leaves
-
Carry Forwarded Leaves
during Leave Allocation.
Problem
ERPNext only shows the current year’s allocated leave.
For example:
-
Previous Balance: 250
-
Current Allocation: 30
-
ERPNext Total Balance: 30
Instead of:
- 280
It appears that the previous carry-forward balance is not being added to the total leave balance.
Our Requirement
Since this is a fresh ERPNext implementation, we need to migrate historical leave balances.
We want:
-
Historical unused leave balance to be stored permanently.
-
Current year’s leave allocation to be calculated normally based on employee joining date and leave policy.
-
The employee’s total available leave to include both:
-
Historical carry-forward balance
-
Current year’s allocated leave
-
-
Employees should be able to consume leave from the combined balance.
Questions
-
What is the recommended ERPNext approach for migrating historical leave balances during implementation?
-
How can we ensure that the historical balance is included in the employee’s total leave balance?
Any guidance or best practice for this migration scenario would be greatly appreciated.