patch: to link additional salary with salary slip and leave encashment, incentive with additional salary
diff --git a/erpnext/hr/doctype/salary_detail/salary_detail.json b/erpnext/hr/doctype/salary_detail/salary_detail.json
index 92942d8..fe5f83b 100644
--- a/erpnext/hr/doctype/salary_detail/salary_detail.json
+++ b/erpnext/hr/doctype/salary_detail/salary_detail.json
@@ -211,7 +211,7 @@
  ],
  "istable": 1,
  "links": [],
- "modified": "2020-04-24 20:00:16.475295",
+ "modified": "2020-04-04 20:00:16.475295",
  "modified_by": "Administrator",
  "module": "HR",
  "name": "Salary Detail",
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index 5295399..533a349 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -677,3 +677,4 @@
 erpnext.patches.v12_0.fix_quotation_expired_status
 erpnext.patches.v12_0.update_appointment_reminder_scheduler_entry
 erpnext.patches.v12_0.retain_permission_rules_for_video_doctype
+erpnext.patches.v13_0.patch_to_fix_reverse_linking_in_additional_salary_encashment_and_incentive #gyhdghksdhsjsd
diff --git a/erpnext/patches/v13_0/patch_to_fix_reverse_linking_in_additional_salary_encashment_and_incentive.py b/erpnext/patches/v13_0/patch_to_fix_reverse_linking_in_additional_salary_encashment_and_incentive.py
new file mode 100644
index 0000000..8b8e60d
--- /dev/null
+++ b/erpnext/patches/v13_0/patch_to_fix_reverse_linking_in_additional_salary_encashment_and_incentive.py
@@ -0,0 +1,35 @@
+from __future__ import unicode_literals
+
+import frappe
+
+def execute():
+
+	additional_salaries = frappe.get_all("Additional Salary", fields = ['name', "salary_slip", "type", "salary_component"], group_by = 'salary_slip')
+	leave_encashments = frappe.get_all("Leave Encashment", fields = ["name","additional_salary"])
+	employee_incentives = frappe.get_all("Employee Incentive", fields= ["name", "additional_salary"])
+
+	for incentive in employee_incentives:
+		frappe.db.sql(""" UPDATE `tabAdditional Salary`
+				SET ref_doctype = 'Employee Incentive', ref_docname = %s
+				WHERE name = %s
+			""", (incentive['name'], incentive['additional_salary']))
+
+
+	for leave_encashment in leave_encashments:
+		frappe.db.sql(""" UPDATE `tabAdditional Salary`
+				SET ref_doctype = 'Leave Encashment', ref_docname = %s
+				WHERE name = %s
+			""", (leave_encashment['name'], leave_encashment['additional_salary']))
+
+	salary_slips = [sal["salary_slip"] for sal in additional_salaries]
+
+	for salary in additional_salaries:
+		comp_type = "earnings" if salary['type'] == 'Earning' else 'deductions'
+		if salary["salary_slip"] and salary_slips.count(salary["salary_slip"]) == 1:
+			frappe.db.sql(""" UPDATE `tabsalary Detail`
+					SET additional_salary = %s
+					WHERE parenttype = 'Salary Slip'
+					and parentfield = %s
+					and parent = %s
+					and salary_component = %s""", (salary["name"], comp_type, salary["salary_slip"], salary["salary_component"]))
+