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