複查這些範例來幫助您自訂福利和稅額計算。
使用案例 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 的稅 (分級稅額),其計算方式為 Benefit1、Benefit2、Benefit3、Benefit4 的百分比,且「福利與稅額精靈」中已選取下列值:
範例公式
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。