혜택 및 세금 계산 사용자정의

이러한 예를 검토하면 혜택 및 세금 계산을 사용자정의하는 데 도움이 됩니다.

사용 사례 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

이전 예제에 이어, 혜택 및 세금 마법사에서 선택한 다음 값을 사용하여 성과급 계정의 퍼센트로 계산된 보험이라는 혜택을 추가하려고 합니다.

  • 구성요소 유형 - 사용자정의
  • 지불 조건 - 매분기(달력 연도)
  • 지불 빈도 - 첫번째 기간 중 지불
  • 최대값 유형 - 정액
  • 임계값 범위 - YTD
  • 과세 구성요소 - 예
  • 모든 월의 비율 - 10
  • 임계값 - 400
  • 값 유형 - 혜택은 사용자정의 논리에서 성과급의 퍼센트로 계산하기 때문에 값 유형에 대해 임의 값을 선택할 수 있습니다.

샘플 공식

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를 참조하십시오.