Conforme a MP 1046, Art. 10, na hipótese de dispensa do empregado, o empregador pagará, juntamente com o pagamento dos haveres rescisórios, os valores ainda não adimplidos relativos às férias.
No TOTVS Folha de Pagamento, quando as férias são finalizadas, o período é fechado e é aberto um novo período aquisitivo. O cálculo das verbas rescisórias verifica somente o período aquisitivo de férias aberto para calcular as férias proporcionais e/ou indenizadas.
Para atender a MP, orientamos fazer o lançamento do evento calculado por fórmula na rescisão se os mesmos forem devidos, usando uma das opções: Entrada de movimento, Grupo de eventos, Código Fixos, Eventos Programados, Incluir no Envelope de Pagamento, Importação de Movimento ou inserir nos Eventos Adicionais no parametrizador.
Considerando o cenário, onde o funcionário teve as férias de 2021 e 2022 concedidas, sem o pagamento de 1/3 de férias e de 1/3 de abono pecuniário. No período vencido, o funcionário tinha 30 dias de direto, porém vendeu 10 dias. O mesmo foi concedido em Maio/2021 com pagamento em Junho/2021. Os eventos de base de 1/3 de Férias e 1/3 de Abono foram lançados no recibo e envelope de pagamento:
Após a finalização das férias concedidas acima foi criado um novo período aquisitivo de férias entre 01/09/2020 a 31/08/2021. Este período foi antecipado concedendo ao empregado 30 dias de férias, na competência de Junho/2021 com pagamento para 07/07/2021 sem o pagamento do 1/3 de férias. Neste caso não teve o pagamento de abono. O Evento de base de 1/3 de férias foi lançado no recibo e envelope:
Ao finalizar as férias concedidas acima, foi criado um novo período aquisitivo de férias: 01/09/2021 a 31/08/2022:
Em Julho/2021 o funcionário foi demitido. O produto não irá calcular nenhuma verba de férias para o funcionário, pois o período aberto inicia em Setembro/2021.
Abaixo exemplificaremos fórmulas para calcular o adicional de férias devido.
Conforme o paragrafo único do Art. 10 da Medida provisória nº 1406/21, as férias antecipadas gozadas cujo período não tenha sido adquirido serão descontadas das verbas rescisórias devidas ao empregado no caso de pedido de demissão. Desta forma entendemos que, neste cenário apresentado nesta documentação, o adicional de férias do período aquisitivo 01/09/2020 a 31/08/2021 só é devido o pagamento para o funcionário que não fez o pedido de demissão, ou seja demissão diferente do tipo 4. Com relação desconto de férias antecipadas referente a este paragrafo iremos documentar em outro link. |
Passo 1: Criar a consulta SQL para retornar os funcionários que tiveram as férias concedidas antecipadas. Nesta consulta é retornado somente os funcionários com o período antecipado e o evento de base de Cálculo que tem o ⅓ de férias lançado, conforme orientado no documento MP 1046 - Adicional de Férias
SELECT FIMPERAQUIS, DATAPAGTO, DATAINICIO, PFUFERIASPER.CHAPA, PFFINANC.CODEVENTO, PFFINANC.VALOR, PFFINANC.DTPAGTO FROM PFUFERIASPER (NOLOCK) JOIN PFFINANC ON PFUFERIASPER.CHAPA = PFFINANC.CHAPA AND PFUFERIASPER.DATAPAGTO = PFFINANC.DTPAGTO WHERE DATAPAGTO < FIMPERAQUIS AND PFFINANC.CODEVENTO = 'B099' |
Passo 2: Criar a fórmula abaixo que retorna os dados da consulta SQL criada no passo 1, que é referente ao valor de ⅓ de férias do período antecipado e que a data final do período aquisitivo é maior que a data de demissão:
DECL FIMPERAQUIS1; DECL DATAPGTOFERIAS; DECL DATAINICIOFERIAS; DECL VALOREVENTO; DECL CH; DECL TPDEMISSAO; SETVAR (CH, ''); SETVAR (TPDEMISSAO, TABFUNC('TIPODEMISSAO', '')); SE EXECSQL('DTFIMFERANT_1') = 1; ENTAO REPITA SE RESULTSQL('DTFIMFERANT','CHAPA') = CHAPA ENTAO SETVAR (CH, CHAPA); SETVAR (FIMPERAQUIS1, RESULTSQL('DTFIMFERANT','FIMPERAQUIS')); SETVAR (DATAPGTOFERIAS, RESULTSQL('DTFIMFERANT','DATAPAGTO')); SETVAR (DATAINICIOFERIAS, RESULTSQL('DTFIMFERANT','DATAINICIO')); SETVAR (VALOREVENTO, RESULTSQL('DTFIMFERANT','VALOR')+ VALOREVENTO); FIMSE ATE PROXREGSQL('DTFIMFERANT') = FALSO; FIMSE SE CH <> CHAPA ENTAO 0 SENAO SE TPDEMISSAO = 4 ENTAO 0 SENAO SE FIMPERAQUIS1 > DTD E ( DATAPGTOFERIAS >= MTDATA(27,04,2021) E DATAPGTOFERIAS <= MTDATA(25,08,2021)) ENTAO VALOREVENTO |
Executando a fórmula a mesma retornou o valor do evento de Base de Cálculo B099 lançado na Ficha Financeira do pagamento de férias antecipadas:
Passo 3: Criar um evento de provento e associar a fórmula neste provento:
Passo 1: Criar a consulta SQL para retornar o valor do 1/3 abono de férias que não foi pago nas férias proporcionais. Nesta consulta é retornado somente os funcionários com o período antecipado e o evento de base de Cálculo que tem o ⅓ de férias lançado, conforme orientado no documento MP 1046 - Adicional de Abono Pecuniário
SELECT FIMPERAQUIS, DATAPAGTO, DATAINICIO, PFUFERIASPER.CHAPA, PFFINANC.CODEVENTO, PFFINANC.VALOR, PFFINANC.DTPAGTO FROM PFUFERIASPER (NOLOCK) JOIN PFFINANC ON PFUFERIASPER.CHAPA = PFFINANC.CHAPA AND PFUFERIASPER.DATAPAGTO = PFFINANC.DTPAGTO WHERE DATAPAGTO < FIMPERAQUIS AND PFFINANC.CODEVENTO = 'B199' |
Passo 2: Criar a fórmula abaixo que retorna os dados da consulta SQL criada no passo 1, que é referente ao valor de ⅓ de abono de férias do período antecipado e que a data final do período aquisitivo é maior que a data de demissão:
DECL FIMPERAQUIS1; DECL DATAPGTOFERIAS; DECL DATAINICIOFERIAS; DECL VALOREVENTO; DECL CH; DECL TPDEMISSAO; SETVAR (CH, ''); SETVAR (TPDEMISSAO, TABFUNC('TIPODEMISSAO', '')); SE EXECSQL('DTFIMFERANT_1') = 1; ENTAO REPITA SE RESULTSQL('DTFIMFERANT_1','CHAPA') = CHAPA ENTAO SETVAR (CH, CHAPA); SETVAR (FIMPERAQUIS1, RESULTSQL('DTFIMFERANT_1','FIMPERAQUIS')); SETVAR (DATAPGTOFERIAS, RESULTSQL('DTFIMFERANT_1','DATAPAGTO')); SETVAR (DATAINICIOFERIAS, RESULTSQL('DTFIMFERANT_1','DATAINICIO')); SETVAR (VALOREVENTO, RESULTSQL('DTFIMFERANT_1','VALOR')+ VALOREVENTO); FIMSE ATE PROXREGSQL('DTFIMFERANT_1') = FALSO; FIMSE SE CH <> CHAPA ENTAO 0 SENAO SE TPDEMISSAO = 4 ENTAO 0 SENAO SE FIMPERAQUIS1 > DTD E ( DATAPGTOFERIAS >= MTDATA(27,04,2021) E DATAPGTOFERIAS <= MTDATA(25,08,2021)) ENTAO VALOREVENTO |
Passo 3: Criar um evento de provento e associar a fórmula neste provento:
Passo 1: Criar a consulta SQL para retornar os funcionários que tiveram as férias concedidas antecipadas. Nesta consulta é retornado somente os funcionários com o período vencido e o evento de base de Cálculo que tem o ⅓ de férias lançado, conforme orientado no documento MP 1046 - Adicional de Férias
SELECT FIMPERAQUIS, DATAPAGTO, DATAINICIO, PFUFERIASPER.CHAPA, PFFINANC.CODEVENTO, PFFINANC.VALOR, PFFINANC.DTPAGTO FROM PFUFERIASPER (NOLOCK) JOIN PFFINANC ON PFUFERIASPER.CHAPA = PFFINANC.CHAPA AND PFUFERIASPER.DATAPAGTO = PFFINANC.DTPAGTO WHERE DATAPAGTO > FIMPERAQUIS AND PFFINANC.CODEVENTO = 'B099' |
Passo 2: Criar a fórmula abaixo que retorna os dados da consulta SQL criada no passo 1, que é referente ao valor de ⅓ de férias do período vencido e que a data final do período aquisitivo é menor que a data de demissão, não ultrapassando 2 períodos vencidos:
DECL FIMPERAQUIS1; DECL DATAPGTOFERIAS; DECL DATAINICIOFERIAS; DECL VALOREVENTO; DECL CH; SETVAR (CH, ''); SE EXECSQL('DTFIMPERVENC') = 1; ENTAO REPITA SE RESULTSQL('DTFIMPERVENC','CHAPA') = CHAPA ENTAO SETVAR (CH, CHAPA); SETVAR (FIMPERAQUIS1, RESULTSQL('DTFIMPERVENC','FIMPERAQUIS')); SETVAR (DATAPGTOFERIAS, RESULTSQL('DTFIMPERVENC','DATAPAGTO')); SETVAR (DATAINICIOFERIAS, RESULTSQL('DTFIMPERVENC','DATAINICIO')); SETVAR (VALOREVENTO, RESULTSQL('DTFIMPERVENC','VALOR')+ VALOREVENTO); FIMSE ATE PROXREGSQL('DTFIMPERVENC') = FALSO; FIMSE SE CH <> CHAPA ENTAO 0 SENAO SE (DATAINICIOFERIAS > FIMPERAQUIS1 OU FIMPERAQUIS1 > DTD) E ( DATAPGTOFERIAS >= MTDATA(27,04,2021) E DATAPGTOFERIAS <= MTDATA(25,08,2021)) ENTAO VALOREVENTO |
Executando a fórmula a mesma retornou o valor do evento de Base de Cálculo B099 lançado na Ficha Financeira do pagamento de férias Vencidas:
Passo 3: Criar um evento de provento e associar a fórmula neste provento:
Passo 1: Criar a consulta SQL para retornar os funcionários que tiveram as férias concedidas antecipadas. Nesta consulta é retornado somente os funcionários com o período vencido e o evento de base de Cálculo que tem o ⅓ de férias lançado, conforme orientado no documento MP 1046 - Adicional de Abono Pecuniário
SELECT FIMPERAQUIS, DATAPAGTO, DATAINICIO, PFUFERIASPER.CHAPA, PFFINANC.CODEVENTO, PFFINANC.VALOR, PFFINANC.DTPAGTO FROM PFUFERIASPER (NOLOCK) JOIN PFFINANC ON PFUFERIASPER.CHAPA = PFFINANC.CHAPA AND PFUFERIASPER.DATAPAGTO = PFFINANC.DTPAGTO WHERE DATAPAGTO > FIMPERAQUIS AND PFFINANC.CODEVENTO = 'B199' |
Passo 2: Criar a fórmula abaixo que retorna os dados da consulta SQL criada no passo 1, que é referente ao valor de ⅓ de férias do período vencido e que a data final do período aquisitivo é menor que a data de demissão, não ultrapassando 2 períodos vencidos:
DECL FIMPERAQUIS1; DECL DATAPGTOFERIAS; DECL DATAINICIOFERIAS; DECL VALOREVENTO; DECL CH; SETVAR (CH, ''); SE EXECSQL('DTFIMPERVENC_1') = 1; ENTAO REPITA SE RESULTSQL('DTFIMPERVENC_1','CHAPA') = CHAPA ENTAO SETVAR (CH, CHAPA); SETVAR (FIMPERAQUIS1, RESULTSQL('DTFIMPERVENC_1','FIMPERAQUIS')); SETVAR (DATAPGTOFERIAS, RESULTSQL('DTFIMPERVENC_1','DATAPAGTO')); SETVAR (DATAINICIOFERIAS, RESULTSQL('DTFIMPERVENC_1','DATAINICIO')); SETVAR (VALOREVENTO, RESULTSQL('DTFIMPERVENC_1','VALOR')+ VALOREVENTO); FIMSE ATE PROXREGSQL('DTFIMPERVENC_1') = FALSO; FIMSE SE CH <> CHAPA ENTAO 0 SENAO SE (DATAINICIOFERIAS > FIMPERAQUIS1 OU FIMPERAQUIS1 > DTD) E ( DATAPGTOFERIAS >= MTDATA(27,04,2021) E DATAPGTOFERIAS <= MTDATA(25,08,2021)) ENTAO VALOREVENTO |
Passo 3: Criar um evento de provento e associar a fórmula neste provento:
Calculando rescisão
Quando executar o cálculo da rescisão inserindo o evento em algumas daquelas entradas sugeridas, os eventos serão lançados: