이러한 예를 검토하면 혜택 및 세금 계산을 사용자정의하는 데 도움이 됩니다.
사용 사례 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
이전 예제에 이어, 혜택 및 세금 마법사에서 선택한 다음 값을 사용하여 Benefit1, Benefit2, Benefit3, Benefit4의 퍼센트로 계산된 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 금액 멤버에 값을 지정하지 마십시오. 계산된 값에 추가 논리를 적용하는 사용 사례가 있는 경우 OWP_Expense 금액을 OWP_Custom 비용에 할당합니다. 위의 유사한 사용 사례 2를 참조하십시오.