diff --git a/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py b/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py index 8105e1a9634..c2191e0b6bd 100644 --- a/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +++ b/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py @@ -24,6 +24,7 @@ def get_columns(leave_types): ] for leave_type in leave_types: + columns.append(_(leave_type) + " " + _("Opening") + ":Float:160") columns.append(_(leave_type) + " " + _("Taken") + ":Float:160") columns.append(_(leave_type) + " " + _("Balance") + ":Float:160") @@ -32,6 +33,7 @@ def get_columns(leave_types): def get_data(filters, leave_types): user = frappe.session.user allocation_records_based_on_to_date = get_leave_allocation_records(filters.to_date) + allocation_records_based_on_from_date = get_leave_allocation_records(filters.from_date) active_employees = frappe.get_all("Employee", filters = { "status": "Active", "company": filters.company}, @@ -48,13 +50,17 @@ def get_data(filters, leave_types): # leaves taken leaves_taken = get_approved_leaves_for_period(employee.name, leave_type, filters.from_date, filters.to_date) - + + # opening balance + opening = get_leave_balance_on(employee.name, leave_type, filters.from_date, + allocation_records_based_on_from_date.get(employee.name, frappe._dict())) + # closing balance closing = get_leave_balance_on(employee.name, leave_type, filters.to_date, allocation_records_based_on_to_date.get(employee.name, frappe._dict())) - row += [leaves_taken, closing] + row += [opening, leaves_taken, closing] data.append(row) - return data \ No newline at end of file + return data