Following are a few sample scripts for calculating custom deductions or withholdings. Scripts are based on IronPython (Python) scripting language.
Sample 401K matching amount calculation. FC1 = percentage of the matching amount entered for the formula or individual employee.
L1 = f.GetNumericVariable(VariableName.ADJEARN) * f.GetNumericVariable(VariableName.FC1) * 0.01 f.SetNumericVariable(VariableName.CALCVALUE, L1)
|
Sample garnishment calculation. FC1 and FC2 values can be set for formula or per employee.
L1 = f.GetNumericVariable("GRANDTOTGROSS") -f.GetNumericVariable("FEDWITH") - f.GetNumericVariable("STATEWITH") - f.GetNumericVariable("LOCALWITH") L2 = L1 * f.GetNumericVariable("FC1") if (L1 > f.GetNumericVariable("FC2")): L3 = L2 else: L3 = f.GetNumericVariable("FC2") L4 = L1 - L3 if (L4 < f.GetNumericVariable("FC2")): L5 = 0 else: L5 = L4 f.SetNumericVariable("CALCVALUE", L5) |
Compare with 10.5 formula:
L001 [GRANDTOTGROSS]-[FEDWITH]-[STATEWITH]-[LOCALWITH] L002 [LI001]*[FC1] L003 IIF (([LI001]>[FC2]),([LI002]),([FC2])) L004 [LI001]-[LI003] L005 IIF (([LI004] < [FC2]), (0), ([LI004])) |
Sample workers comp calculation. FC1 and FC2 values can be set for formula or per employee.
L1 = f.GetNumericVariable("HOURS") * f.GetNumericVariable("FC1") * f.GetNumericVariable("FC2") * 0.01 if (f.GetNumericVariable("HOURS")==0): L2 = f.GetNumericVariable("ADJEARN") * f.GetNumericVariable("FC2") * 0.01 else: L2 = L1 f.SetNumericVariable("CALCVALUE", L2) |
Sample SUI Adjustment. TableValue function looks up values from tax tables.
y1 = f.TableValue(1, 1) y2 = f.TableValue(1, 2) y3 = f.GetNumericVariable(VariableName.TAXEARN) + f.GetNumericVariable(VariableName.YTDEARNINGS) y4 = min(y2, y3) y5 = y4 - f.GetNumericVariable(VariableName.ADJSUIEARN) y6 = y5 * y1 * 0.01 y7 = y6 - f.GetNumericVariable(VariableName.YTDWITHHOLDINGS) - f.GetNumericVariable(VariableName.ADJSUIWITH) y8 = min(f.GetNumericVariable(VariableName.TAXEARN), y7) y9 = max(0, y8)
f.SetNumericVariable("CALCVALUE", y9) |