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
ENDIFCaso 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:
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:
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.