查看以下示例有助于您自定义福利和税计算。
用例 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。