Personalização de Cálculos de Benefícios e Impostos

Analise os exemplos para ajudar a personalizar os cálculos dos benefícios e impostos.

Caso de Uso 1

Você deseja calcular a comissão como uma porcentagem da conta Base de Comissão, uma conta personalizada não fornecida com o Workforce. A comissão é calculada multiplicando a taxa inserida no Assistente Benefícios e Impostos pela conta personalizada Base de Comissão.

Fórmula de Exemplo

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

Caso de Uso 2

Com base no exemplo anterior, você deseja adicionar um benefício denominado Insurance, que é calculado como porcentagem da conta Merit, com os seguintes valores selecionados no Assistente Benefícios e Impostos:

  • Tipo do Componente — Personalizado
  • Condições de Pagamento — Trimestral (Ano do Calendário)
  • Frequência do Pagamento — Pagamento Durante o Primeiro Período
  • Tipo de Valor Máximo — Valor Simples
  • Escopo de Limite — Acumulado no Ano
  • Componente Tributável — Sim
  • Taxa de todos os meses — 10
  • Limite — 400
  • Tipo de Valor — Você pode selecionar qualquer valor como Tipo de Valor porque estamos calculando o benefício como uma porcentagem de Mérito na lógica personalizada.

Fórmula de Exemplo

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;

Caso de Uso 3

Com base nos exemplos anteriores, você deseja adicionar um Imposto (Imposto em Níveis) chamado SUTA, que é calculado como porcentagem de Benefit1, Benefit2, Benefit3, Benefit4 , com os seguintes valores selecionados no Assistente Benefícios e Impostos:

  • Tipo do Componente — Personalizado
  • Condições de Pagamento — Mensal
  • Tipo de Valor Máximo — Limite
  • Escopo de Limite — Mensal
  • Nenhuma taxa é fornecida na página Taxas.
  • Para o imposto personalizado em níveis, as taxas precisam ser fornecidas como parte da fórmula personalizada.

Fórmula de Exemplo

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

Nota:

Não atribua valores ao membro OWP_Expense Amount. Se houver um caso de uso para aplicar mais lógica em um valor calculado, atribua o OWP_Expense Amount para OWP_Custom Expense. Consulte o Caso de Uso 2 semelhante acima.