次の例を確認することで、福利厚生と税金の計算をカスタマイズする際に役立ちます。
使用例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
前述の例を基盤として、「福利厚生1」、「福利厚生2」、「福利厚生3」および「福利厚生4」のパーセンテージとして計算されるSUTAという税金(層型税金)を、福利厚生と税金ウィザードで選択した次の値とともに追加するとします。
サンプル式
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を参照してください。