Histórico da Página
...
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 20 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, Base de abono pecuniário e 1/3 de Abono pecuniário 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/0809/2019 2020 a 31/0708/20202021. Este período foi antecipado concedendo ao empregado 30 dias de férias, na competência de Junho/2021 com pagamento para 0607/0507/2020 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 entre31férias: 01/0709/2020 a 2021 a 31/0708/20212022:
Em MaioJulho/2020 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 AgostoSetembro/20202021.
Abaixo exemplificaremos fórmulas para calcular o adicional de férias devido.
Aviso | ||||
---|---|---|---|---|
| ||||
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, no 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. |
Fórmula para adicional de férias antecipado que deve ser pago de forma proporcional
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 ⅓ 1/3 de férias lançado, conforme orientado no documento MP927 MP 1046 - Adicional de Férias
Bloco de código | ||||
---|---|---|---|---|
| ||||
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 ⅓ 1/3 de férias do período antecipado e que a data final do período aquisitivo é maior que a data de demissão:
Bloco de código | ||
---|---|---|
| ||
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(2227,0304,20202021) E DATAPGTOFERIAS <= MTDATA(2225,0708,20202021)) 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 3:
Fórmula para adicional de abono pecuniário antecipado que deve ser pago de forma proporcional
Passo 1: Criar a consulta SQL para retornar o valor do 1/3 abono pecuniário 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 1/3 abono pecuniário de férias lançado, conforme orientado no documento MP 1046 - Abono Pecuniário
Bloco de código | ||||
---|---|---|---|---|
| ||||
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 1/3 de abono pecuniário de férias do período antecipado e que a data final do período aquisitivo é maior que a data de demissão:
Bloco de código | ||
---|---|---|
| ||
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:
Fórmula para adicional de abono pecuniário antecipado que deve ser pago de forma proporcional
Passo 1: Criar a consulta SQL para retornar o valor do abono pecuniário 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 abono pecuniário de férias lançado, conforme orientado no documento MP 1046 - Abono Pecuniário
Bloco de código | ||||
---|---|---|---|---|
| ||||
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 = 'B198'
|
Passo 2: Criar a fórmula abaixo que retorna os dados da consulta SQL criada no passo 1, que é referente ao valor de abono pecuniário de férias do período antecipado e que a data final do período aquisitivo é maior que a data de demissão:
Bloco de código | ||
---|---|---|
| ||
DECL FIMPERAQUIS1;
DECL DATAPGTOFERIAS;
DECL DATAINICIOFERIAS;
DECL VALOREVENTO;
DECL CH;
DECL TPDEMISSAO;
SETVAR (CH, '');
SETVAR (TPDEMISSAO, TABFUNC('TIPODEMISSAO', ''));
SE EXECSQL('DTFIMFERANT_2') = 1;
ENTAO
REPITA
SE RESULTSQL('DTFIMFERANT_2','CHAPA') = CHAPA
ENTAO
SETVAR (CH, CHAPA);
SETVAR (FIMPERAQUIS1, RESULTSQL('DTFIMFERANT_2','FIMPERAQUIS'));
SETVAR (DATAPGTOFERIAS, RESULTSQL('DTFIMFERANT_2','DATAPAGTO'));
SETVAR (DATAINICIOFERIAS, RESULTSQL('DTFIMFERANT_2','DATAINICIO'));
SETVAR (VALOREVENTO, RESULTSQL('DTFIMFERANT_2','VALOR')+ VALOREVENTO);
FIMSE
ATE PROXREGSQL('DTFIMFERANT_2') = 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:
Fórmula para adicional de férias antecipado que deve ser pago de forma indenizadas
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 MP927 MP 1046 - Adicional de Férias
Bloco de código | ||||
---|---|---|---|---|
| ||||
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 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:
Bloco de código | ||
---|---|---|
| ||
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(1027,0304,20202021) E DATAPGTOFERIAS <= MTDATA(2225,0708,20202021)) 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 Passo 3: Criar um evento de provento e associar a fórmula neste provento:
Quando executar o cálculo da rescisão inserindo o evento em algumas daquelas entradas sugeridas, os eventos serão lançados:
eSocial
O eSocial não divulgou nenhuma orientação com relação a alteração de rubricas até o momento. A orientação que foi passada é com relação do Tipo de pagamento para as férias conforme abaixo:
Fórmula para adicional de abono pecuniário de férias antecipado que deve ser pago de forma indenizadas
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 1/3 de abono pecuniário de férias lançado, conforme orientado no documento MP 1046 - Abono Pecuniário
Bloco de código | ||||
---|---|---|---|---|
| ||||
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 1/3 de abono pecuniário de férias do período vencido e que a data final do período aquisitivo é menor que a data de demissão, ultrapassando 2 períodos vencidos:
Bloco de código | ||
---|---|---|
| ||
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:
Fórmula para o Abono Pecuniário de férias antecipado que deve ser pago de forma indenizadas
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 - Abono Pecuniário
Bloco de código | ||||
---|---|---|---|---|
| ||||
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 = 'B198' |
Passo 2: Criar a fórmula abaixo que retorna os dados da consulta SQL criada no passo 1, que é referente ao valor de abono pecuniário de férias do período vencido e que a data final do período aquisitivo é menor que a data de demissão, ultrapassando 2 períodos vencidos:
Bloco de código | ||
---|---|---|
| ||
DECL FIMPERAQUIS1;
DECL DATAPGTOFERIAS;
DECL DATAINICIOFERIAS;
DECL VALOREVENTO;
DECL CH;
SETVAR (CH, '');
SE EXECSQL('DTFIMPERVENC_2') = 1;
ENTAO
REPITA
SE RESULTSQL('DTFIMPERVENC_2','CHAPA') = CHAPA
ENTAO
SETVAR (CH, CHAPA);
SETVAR (FIMPERAQUIS1, RESULTSQL('DTFIMPERVENC_2','FIMPERAQUIS'));
SETVAR (DATAPGTOFERIAS, RESULTSQL('DTFIMPERVENC_2','DATAPAGTO'));
SETVAR (DATAINICIOFERIAS, RESULTSQL('DTFIMPERVENC_2','DATAINICIO'));
SETVAR (VALOREVENTO, RESULTSQL('DTFIMPERVENC_2','VALOR')+ VALOREVENTO);
FIMSE
ATE PROXREGSQL('DTFIMPERVENC_2') = 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
Funcionário com tipo de demissão 2 - Iniciativa do empregador
Quando executar o cálculo da rescisão inserindo o evento em algumas daquelas entradas sugeridas, os eventos serão lançados conforme o retorno das fórmulas acima:
Funcionário com tipo de demissão 4 - Iniciativa do empregado
Quando executar o cálculo da rescisão inserindo o evento em algumas daquelas entradas sugeridas, o evento de 1/3 de férias proporcionais (referente ao 2º período de gozo exemplificado acima) que era devido, não é lançado. Este tratamento foi feito pois o período aquisitivo ainda não foi adquirido, logo entendemos que conforma a publicação da MP, o mesmo não precisa ser pago:
"A Medida Provisória 927/2020 autoriza o pagamento de férias até o quinto dia útil do mês seguinte ao seu gozo e o pagamento do terço de férias e do abono pecuniário até o dia 20/12/2020. Portanto, como não é mais exigido que o valor de férias seja antecipado ao trabalhador, as rubricas de férias podem, opcionalmente, ser inseridas no S-1200 e o {ideDmDev} desse demonstrativo ser referido no evento S-1210, com {tpPgto} = [1], sem que seja necessário o envio de um S-1210 com {tpPgto} = [7] (recibo de antecipação de pagamento de férias)."