查看以下示例有助于您自定义福利和税计算。
用例 1
您想按“佣金基础”帐户的百分比计算佣金,该帐户是人员未提供的自定义帐户。佣金的计算方法是将在福利和税向导中输入的比率乘以自定义的“佣金基础”帐户。
示例公式
IF("No Property"->"BegBalance"==[OWP_EarningList.Commission]) IF(@ISMBR(@RELATIVE("OWP_Existing Employees",0))) "Commission Basis"->"No Property" * ("OWP_Value"/100); ELSE #Missing; ENDIF ENDIF
用例 2
在上一个示例的基础上,您希望添加一项名为“保险”的福利,该福利按“绩效奖金”帐户的百分比计算,并在福利和税向导中选择以下值:
示例公式
IF("No Property"->"BegBalance"==[OWP_EarningList.Commission]) IF(@ISMBR(@RELATIVE("OWP_Existing Employees",0))) "Commission Basis"->"No Property" * ("OWP_Value"/100); ELSE #Missing; ENDIF ELSEIF("No Property"->"BegBalance"==[OWP_BenefitList.Insurance]) IF("Cal TP-Index"==1 OR "Cal TP-Index"==4 OR "Cal TP-Index"==7 OR "Cal TP-Index"==10) "OWP_Expense amount"="OWP_Merit"->"OWP_Expense amount"*("OWP_Value"/100); ENDIF; IF("OWP_Expense amount"!=#MISSING) IF("OWP_Calculated Max Value"!=#MISSING) IF("OWP_CYTD(Prior)"+"OWP_Expense amount">"OWP_Calculated Max Value") IF("OWP_CYTD(Prior)"<="OWP_Calculated Max Value") "OWP_Expense amount"="OWP_Calculated Max Value"-"OWP_CYTD(Prior)"; ELSE "OWP_Expense amount"=#MISSING; ENDIF; ENDIF; ENDIF; ENDIF; "Custom Expense"="OWP_Expense amount"; ENDIF;
用例 3
在先前示例的基础上,您希望添加一项名为 "SUTA" 的税(分层税),这项税按“福利 1”、“福利 2”、“福利 3”和“福利 4”的百分比计算,并在福利和税向导中选择以下值:
示例公式
IF("No Property"->"BegBalance"==[OWP_EarningList.Commission]) IF(@ISMBR(@RELATIVE("OWP_Existing Employees",0))) "Commission Basis"->"No Property" * ("OWP_Value"/100); ELSE #Missing; ENDIF ELSEIF("No Property"->"BegBalance"==[OWP_BenefitList.Insurance]) IF("Cal TP-Index"==1 OR "Cal TP-Index"==4 OR "Cal TP-Index"==7 OR "Cal TP-Index"==10) "OWP_Expense amount"="OWP_Merit"->"OWP_Expense amount"*("OWP_Value"/100); ENDIF; IF("OWP_Expense amount"!=#MISSING) IF("OWP_Calculated Max Value"!=#MISSING) IF("OWP_CYTD(Prior)"+"OWP_Expense amount">"OWP_Calculated Max Value") IF("OWP_CYTD(Prior)"<="OWP_Calculated Max Value") "OWP_Expense amount"="OWP_Calculated Max Value"-"OWP_CYTD(Prior)"; ELSE "OWP_Expense amount"=#MISSING; ENDIF; ENDIF; ENDIF ENDIF "Custom Expense"="OWP_Expense amount"; ELSEIF("No Property"->"BegBalance"==[OWP_TaxList.SUTA]) IF("OWP_Benefit1"->"OWP_Expense amount"+"OWP_Benefit2"->"OWP_Expense amount"+"OWP_Benefit3"->"OWP_Expense amount"+"OWP_Benefit4"->"OWP_Expense amount"<=1000) ("OWP_Benefit1"->"OWP_Expense amount"+"OWP_Benefit2"->"OWP_Expense amount"+"OWP_Benefit3"->"OWP_Expense amount"+"OWP_Benefit4"->"OWP_Expense amount")*(10/100); ELSEIF("OWP_Benefit1"->"OWP_Expense amount"+"OWP_Benefit2"->"OWP_Expense amount"+"OWP_Benefit3"->"OWP_Expense amount"+"OWP_Benefit4"->"OWP_Expense amount"<=1200) (("OWP_Benefit1"->"OWP_Expense amount"+"OWP_Benefit2"->"OWP_Expense amount"+"OWP_Benefit3"->"OWP_Expense amount"+"OWP_Benefit4"->"OWP_Expense amount")-1000)*(20/100) + 1000*(10/100); ELSEIF("OWP_Benefit1"->"OWP_Expense amount"+"OWP_Benefit2"->"OWP_Expense amount"+"OWP_Benefit3"->"OWP_Expense amount"+"OWP_Benefit4"->"OWP_Expense amount"<=1300) (("OWP_Benefit1"->"OWP_Expense amount"+"OWP_Benefit2"->"OWP_Expense amount"+"OWP_Benefit3"->"OWP_Expense amount"+"OWP_Benefit4"->"OWP_Expense amount")-1200)*(30/100) + (1200-1000)*(20/100) + 1000*(10/100); ELSE (1300-1200)*(30/100) + (1200-1000)*(20/100) + 1000*(10/100); ENDIF ENDIF
注:
不要向 OWP_Expense Amount 成员分配值。如果有对计算值应用进一步逻辑的用例,则将 OWP_Expense Amount 分配给 OWP_Custom Expense。请参考上面类似的用例 2。