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