Changed static precision(2) value to system setting currency_precision value
diff --git a/erpnext/hr/doctype/salary_slip/salary_slip.py b/erpnext/hr/doctype/salary_slip/salary_slip.py
index 901ede1..11538cc 100644
--- a/erpnext/hr/doctype/salary_slip/salary_slip.py
+++ b/erpnext/hr/doctype/salary_slip/salary_slip.py
@@ -330,7 +330,7 @@
 				if frappe.db.get_value('Timesheet', data.time_sheet, 'status') == 'Payrolled':
 					frappe.throw(_("Salary Slip of employee {0} already created for time sheet {1}").format(self.employee, data.time_sheet))
 
-	def sum_components(self, component_type, total_field):
+	def sum_components(self, component_type, total_field, precision):
 		joining_date, relieving_date = frappe.db.get_value("Employee", self.employee,
 			["date_of_joining", "relieving_date"])
 		
@@ -350,7 +350,7 @@
 				)):
 
 				d.amount = rounded(
-					(flt(d.default_amount) * flt(self.payment_days)
+					(flt(d.default_amount, precision) * flt(self.payment_days)
 					/ cint(self.total_working_days)), self.precision("amount", component_type)
 				)
 
@@ -360,19 +360,19 @@
 			elif not d.amount:
 				d.amount = d.default_amount
 			if not d.do_not_include_in_total:
-				self.set(total_field, self.get(total_field) + flt(d.amount, 2))
+				self.set(total_field, self.get(total_field) + flt(d.amount, precision))
 
 	def calculate_net_pay(self):
 		if self.salary_structure:
 			self.calculate_component_amounts()
 
 		disable_rounded_total = cint(frappe.db.get_value("Global Defaults", None, "disable_rounded_total"))
-
+		precision = frappe.defaults.get_global_default("currency_precision")
 		self.total_deduction = 0
 		self.gross_pay = 0
 
-		self.sum_components('earnings', 'gross_pay')
-		self.sum_components('deductions', 'total_deduction')
+		self.sum_components('earnings', 'gross_pay', precision)
+		self.sum_components('deductions', 'total_deduction', precision)
 
 		self.set_loan_repayment()