feat: Compute year_to_date
diff --git a/erpnext/payroll/doctype/salary_slip/salary_slip.py b/erpnext/payroll/doctype/salary_slip/salary_slip.py
index 20365b1..27de46a 100644
--- a/erpnext/payroll/doctype/salary_slip/salary_slip.py
+++ b/erpnext/payroll/doctype/salary_slip/salary_slip.py
@@ -35,6 +35,9 @@
 	def autoname(self):
 		self.name = make_autoname(self.series)
 
+	def before_save(self):
+		self.compute_year_to_date()
+
 	def validate(self):
 		self.status = self.get_status()
 		self.validate_dates()
@@ -1125,6 +1128,26 @@
 				self.gross_pay += self.earnings[i].amount
 		self.net_pay = flt(self.gross_pay) - flt(self.total_deduction)
 
+	def compute_year_to_date(self):
+		year_to_date = 0
+		fiscal_year = frappe.get_list('Fiscal Year',
+						fields = ['year','year_start_date','year_end_date'],
+						filters= {'year_start_date' : ['<=', self.start_date],
+									'year_end_date' : ['>=', self.end_date]
+						})[0]
+		salary_slips_from_current_fiscal_year = frappe.get_list('Salary Slip',
+						fields = ['employee_name', 'start_date', 'end_date', 'net_pay'],
+						filters = {'employee_name' : self.employee_name,
+									'start_date' : ['>=', fiscal_year.year_start_date],
+									'end_date' : ['<=', fiscal_year.year_end_date]
+						})
+
+		for salary_slip in salary_slips_from_current_fiscal_year:
+			year_to_date += salary_slip.net_pay
+
+		year_to_date += self.net_pay
+		self.year_to_date = year_to_date
+
 def unlink_ref_doc_from_salary_slip(ref_no):
 	linked_ss = frappe.db.sql_list("""select name from `tabSalary Slip`
 	where journal_entry=%s and docstatus < 2""", (ref_no))
@@ -1135,4 +1158,4 @@
 
 def generate_password_for_pdf(policy_template, employee):
 	employee = frappe.get_doc("Employee", employee)
-	return policy_template.format(**employee.as_dict())
+	return policy_template.format(**employee.as_dict())
\ No newline at end of file