SOLUÇÃO:
A partir de 2023, foi estabelecido através da MP 1171/23 um novo modelo do cálculo do IRRF retido, passando a admitir uma dedução simplificada mensal caso o valor da mesma seja maior que os valores das deduções legais (INSS Retido, Dependentes e Pensão Alimentícia).
O nosso sistema, levava para a folha mensal, o valor de INSS junto com o já descontado de férias, com o IRRF simplificado, tivemos que separar os dois valores.
Com isso tivemos que alterar alguns eventos e fórmulas para que a apuração do IRRF funcionasse corretamente, no caso de férias no mês.
Importante:
Se estiver utilizando o módulo Pessoal+ e os eventos referidos abaixo estiverem como padrão (protegidos), a atualização será feita automaticamente, através do botão 'Atualizar' da tela principal do cadastro de eventos.
Configuração de Eventos e Fórmulas
Módulo Pessoal+
Deverão ser feitos manualmente caso os eventos discriminados abaixo não estejam protegidos (sem cadeado no card).
Alteração da Configuração de Eventos:
XXXX - Ressarcimento INSS Férias
Acesse a tela Eventos (Pessoal+ » Cadastros » Eventos) selecione o evento com a descrição: RESSARCIMENTO INSS FÉRIAS e faça as alterações listadas abaixo:
- Retire a incidência de IRRF:
Aba Avançado/ Campo IRRF - selecionar a opção “Não Incide”.
Retire a identificação do Evento
Aba Básico>> Campo “Identificação do evento”>> Selecionar a opção “0 - Sem Identificação”.
Altere a incidência IRRF na aba Esocial
Aba ESOCIAL>> Campo “Incidência p/ IRRF” >> Alterar a incidência de IRRF para “09 - VERBA TRANSITADA PELA FOLHA DE PAGAMENTO DE NATUREZA DIVERSA DE RENDIMENTO OU RETENCAO/ISENCAO/DEDUCAO DE IR”.
Alteração da fórmula de INSS:
XXXX - INSS
Acesse a tela Fórmulas (Pessoal+ » Cadastros » Fórmulas), selecione a fórmula com a descrição: INSS e alterar o texto da fórmula para:
IF((fTemNaLista(formatnumeric('00', QueFuncionario.VINCULO), '02,80,90,99') = 'S') OR (QueFuncionario.CODCATEGESOCIAL = 111), 0, IF(&DIASTRA >= 0, TRUNCFOL(IF(@F_RECOMPOSICAOBASEINSS > FTF(1, 3, @F_RECOMPOSICAOBASEINSS, &Refere, QueFuncionario.TIPTAB), FTF(1, 4, @F_RECOMPOSICAOBASEINSS, &Refere, QueFuncionario.TIPTAB) - @F_RECOMPOSICAOINSSRETIDO, (((@F_RECOMPOSICAOBASEINSS * FTF(1, 1, @F_RECOMPOSICAOBASEINSS, &Refere, QueFuncionario.TIPTAB)) / 100) - @F_RECOMPOSICAOINSSRETIDO)), 2), 0)) - IF(@E_RESSARCIMENTOINSSFERIAS > 0, @E_RESSARCIMENTOINSSFERIAS ,0)
Houve a necessidade da criação de um novo evento e fórmula para separar os valores da provisão de INSS nas férias e o INSS da folha mensal.
Evento
XXXX - INSS Descontado nas férias
Fórmula
Fórmula do valor:
IF((@F_DIASDEFERIASNAREFERENCIA <= 0), 0, IF((MemSetVar('ProvINSSComp', (ABS(FBE(QueFuncionario.CODEMP, QueFuncionario.CODFUNC, &Refere, 'F,1,2,3', '@C_PROVISAODEDESCONTOINSS')) / IF(MemSetVar('IndProvINSSComp', IF(MemSetVar('Ind4410', FBIND(QueFuncionario.CODEMP, QueFuncionario.CODFUNC, &Refere, 'F,1,2,3', '@C_FERIAS, @C_LICENCAREMUNERADA')) > 0, MemGetVar('Ind4410'), FBIND(QueFuncionario.CODEMP, QueFuncionario.CODFUNC, &Refere, 'F,1,2,3', '@C_MEDIADEFERIAS'))) > 0, MemGetVar('IndProvINSSComp'), 1)) * @F_DIASDEFERIASNAREFERENCIA) > 0), MemGetVar('ProvINSSComp'), IF((MemSetVar('ProvINSSProx', (ABS(FBE(QueFuncionario.CODEMP, QueFuncionario.CODFUNC, FSOMAMES(&Refere,-1), 'F,1,2,3', '@C_PROVISAODEDESCONTOINSS')) / IF(MemSetVar('IndProvINSSProx', IF(MemSetVar('Ind4410Prox', FBIND(QueFuncionario.CODEMP, QueFuncionario.CODFUNC, FSOMAMES(&Refere,-1), 'F,1,2,3', '@C_FERIAS, @C_LICENCAREMUNERADA')) > 0, MemGetVar('Ind4410Prox'), FBIND(QueFuncionario.CODEMP, QueFuncionario.CODFUNC, FSOMAMES(&Refere,-1), 'F,1,2,3', '@C_MEDIADEFERIAS'))) > 0, MemGetVar('IndProvINSSProx'), 1)) * @F_DIASDEFERIASNAREFERENCIA) > 0), MemGetVar('ProvINSSProx'), IF((MemSetVar('ProvINSSProx1', (ABS(FBE(QueFuncionario.CODEMP, QueFuncionario.CODFUNC, FSOMAMES(&Refere,-2), 'F,1,2,3', '@C_PROVISAODEDESCONTOINSS')) / IF(MemSetVar('IndProvINSSProx1', IF(MemSetVar('Ind4410Prox1', FBIND(QueFuncionario.CODEMP, QueFuncionario.CODFUNC, FSOMAMES(&Refere,-2), 'F,1,2,3', '@C_FERIAS, @C_LICENCAREMUNERADA')) > 0, MemGetVar('Ind4410Prox1'), FBIND(QueFuncionario.CODEMP, QueFuncionario.CODFUNC, FSOMAMES(&Refere,-2), 'F,1,2,3', '@C_MEDIADEFERIAS'))) > 0, MemGetVar('IndProvINSSProx1'), 1)) * @F_DIASDEFERIASNAREFERENCIA) > 0) AND (&MESATU = 3), MemGetVar('ProvINSSProx1'), 0))))
MGE/ Módulo MGE Pessoal
Configuração de Eventos e Fórmulas
Deverão ser feitos manualmente caso os eventos discriminados abaixo não estejam protegidos (campo “Protegido” desmarcado).
Alteração da Configuração de Eventos
XXXX - RESSARCIMENTO INSS FERIAS
Acesse o menu “Eventos” Selecione o evento com a descrição: RESSARCIMENTO INSS FERIAS e fazer as alterações listadas abaixo:
XXXX - RESSARCIMENTO INSS FERIAS
Retire a incidência de IRRF: Aba Base de Cálculo / Campo IRRF - selecionar a opção “Não Incide”.
Retire a identificação do Evento: Aba Propriedades>> Campo “Identificação do Evento”>> Selecionar a opção “0 - Sem Identificação”.
Altere a incidência IRRF na aba Esocial
Aba Incidência >> Campo “Incidência p/ IRRF” >> Alterar a incidência de IRRF para “09 - VERBA TRANSITADA PELA FOLHA DE PAGAMENTO DE NATUREZA DIVERSA DE RENDIMENTO OU RETENCAO/ISENCAO/DEDUCAO DE IR”.
Alteração da fórmula de INSS:
XXXX - INSS
Acesse a tela Fórmulas, selecione a fórmula com a descrição: INSS e altere o texto da fórmula para:
IF((fTemNaLista(formatnumeric('00', QueFuncionario.VINCULO), '02,80,90,99') = 'S') OR (QueFuncionario.CODCATEGESOCIAL = 111),0,IF(&DIASTRA >= 0,TRUNCFOL(IF(&INSSMESAMES = 'S',0, IF(&F5080 > FTF(1,3,&F5080,&Refere,QueFuncionario.TIPTAB), FTF(1,4,&F5080,&Refere,QueFuncionario.TIPTAB) - &F5090,(((&F5080 * FTF(1,1,&F5080,&Refere,QueFuncionario.TIPTAB)) / 100) - &F5090))),2),0)) - IF(&E9340>0, &E9340,0)
Houve a necessidade da criação de um novo evento e fórmula para separar os valores da provisão de INSS nas férias e o INSS da folha mensal.
Evento: XXXX - INSS DESCONTADO NAS FERIAS
Fórmula:
XXXX - INSS Férias
IF((&F4432 <= 0), 0, IF((MemSetVar('ProvINSSComp', (ABS(FBE(QueFuncionario.CODEMP, QueFuncionario.CODFUNC, &Refere, 'F,1,2,3', '9330')) / IF(MemSetVar('IndProvINSSComp', IF(MemSetVar('Ind4410', FBIND(QueFuncionario.CODEMP, QueFuncionario.CODFUNC, &Refere, 'F,1,2,3', '4410')) > 0, MemGetVar('Ind4410'), FBIND(QueFuncionario.CODEMP, QueFuncionario.CODFUNC, &Refere, 'F,1,2,3', '4430'))) > 0, MemGetVar('IndProvINSSComp'), 1)) * &F4432) > 0), MemGetVar('ProvINSSComp'), IF((MemSetVar('ProvINSSProx', (ABS(FBE(QueFuncionario.CODEMP, QueFuncionario.CODFUNC, FSOMAMES(&Refere,-1), 'F,1,2,3', '9330')) / IF(MemSetVar('IndProvINSSProx', IF(MemSetVar('Ind4410Prox', FBIND(QueFuncionario.CODEMP, QueFuncionario.CODFUNC, FSOMAMES(&Refere,-1), 'F,1,2,3', '4410')) > 0,MemGetVar('Ind4410Prox'), FBIND(QueFuncionario.CODEMP, QueFuncionario.CODFUNC, FSOMAMES(&Refere,-1), 'F,1,2,3', '4430'))) > 0, MemGetVar('IndProvINSSProx'), 1)) * &F4432) > 0), MemGetVar('ProvINSSProx'), 0)))
Comentários
0 comentário
Por favor, entre para comentar.