Wiki / SuperCalculo ~5 min

329 - Dobra 1/3 de Férias Gozadas (IRRF)

⚙️ Metadados

  • Código: 329
  • Tipo: Provento
  • INSS: ISE
  • FGTS: ISE
  • IRRF: FEG
  • Natureza eSocial: 1024 - Férias - Dobro na vigência do contrato
  • DSR: Não
  • Médias: Não
  • Impacto Financeiro: Não
  • Impacto Contábil: Sim
  • Sequência: 4058

🧮 Regra Geral

Lógica de Cálculo:

  1. A verba não possui lógica de cálculo própria neste código; seu valor é calculado na verba 326.
  2. Se o tipo de folha for Regular ou Rescisão, a função SysFunc_ReceberLancamentoFuturo é acionada.
  3. Se não houver lançamento existente para a verba (Func_ValidarExistenciaLancamento(Lancamento) == false), a verba retorna null, indicando que não deve ser calculada ou processada.
  • Variáveis Utilizadas:

    • Empregador.CNPJEmpregador
    • Lancamento
    • Lancamento.ValorTotal
    • Solicitacao.DataReferencia
    • Solicitacao.TipoFolha
    • HoleriteVerba.
  • Condições Especiais:

    • Validação de existência de lançamento (Func_ValidarExistenciaLancamento).
    • Verificação de valor total do lançamento ser maior que zero (Lancamento.ValorTotal > 0M).
    • Verificação do tipo de folha ser Regular ou Rescisão (Solicitacao.TipoFolha).

🧩 Funções

  • Func_ValidarExistenciaLancamento(Lancamento): Verifica se há um lançamento para a verba atual.
  • SysFunc_NovaData(dia, mes, ano): Cria um objeto DateTime com a data especificada.
  • SysFunc_ReceberLancamentoFuturo(HoleriteVerba): Marca a verba para ser tratada como um lançamento futuro.

🎯 Particularidades por Cliente/Setor

👤 ACAL
  • Se houver um lançamento existente (Func_ValidarExistenciaLancamento) e com valor positivo (Lancamento.ValorTotal > 0M), a verba é retornada com seu valor atual.

  • Condições Especiais:

    • Verificação de CNPJ para HCL (Empregador.CNPJEmpregador.Trim().StartsWith("1056841400")).
👤 FUNDACAOCOPEL
  • Se houver um lançamento existente (Func_ValidarExistenciaLancamento) e com valor positivo (Lancamento.ValorTotal > 0M), a verba é retornada com seu valor atual.
👤 GALLO
  • Se data de referência (01/04/2024) e se houver um lançamento existente (Func_ValidarExistenciaLancamento) e com valor positivo (Lancamento.ValorTotal > 0M), a verba é retornada com seu valor atual.

  • Condições Especiais:

    • Condição de data de referência específica para GALLO (Solicitacao.DataReferencia == SysFunc_NovaData(01, 04, 2024)).
👤 SALESFORCE
  • Se houver um lançamento existente (Func_ValidarExistenciaLancamento) e com valor positivo (Lancamento.ValorTotal > 0M), a verba é retornada com seu valor atual.

💡 Proposta de Novo Cálculo

Fórmula proposta (padronizada):

ValorTotal = Se(ModoApuracao == “VERBA_SISTEMA_ORIGEM”, Se(ValorVerbaOrigem > 0, Minimo(Se(ValorInformadoJaEOTerco, ValorVerbaOrigem, ValorVerbaOrigem * (1 / 3)), TetoMaximo), Se(PermitirFallbackManual E ValorLancado > 0, ValorLancado, 0.00)), Se(ValorLancado > 0, ValorLancado, 0.00))


1. Filtros de Elegibilidade e Isenções (Piso Seguro)

Se (Configuracao.RubricaInativa == Verdadeiro OU Solicitacao.HoleriteSimulado == Verdadeiro OU Solicitacao.TipoProcesso == EnumTipoProcessoBO.Provisoes) { HoleriteVerba = null; InterromperCalculo(); }

Restrição por Tipo de Folha Processada Se (Configuracao.ListaTiposFolhaPermitidos.Tamanho > 0 E Nao Configuracao.ListaTiposFolhaPermitidos.Contem(Solicitacao.TipoFolha)) { EscreverMemoria(“[DOBRA_TERCO_FERIAS_GOZADAS_IRRF]”, “Cálculo interrompido: Tipo de folha (” + Solicitacao.TipoFolha + ”) não habilitado.”); HoleriteVerba = null; InterromperCalculo(); }

2. Determinação da Base de Cálculo, Apuração Externa e Fallback de Lançamento

Definir PossuiLancamentoManual = Func_ValidarExistenciaLancamento(Lancamento); Definir ValorBaseCalculo = 0.00; Definir QuantidadeDiasDobra = 0.00;

Se (Configuracao.ModoApuracao == “VERBA_SISTEMA_ORIGEM”) { Apuração via verba de origem (ex: Rubrica 326) ou Variável Global de cálculo prévio Definir ValorOrigem = Positivo(RecuperarValorTotalVerba(Configuracao.CodigoRubricaOrigemCalculo));

Se (ValorOrigem > 0.00) { ValorBaseCalculo = ValorOrigem; QuantidadeDiasDobra = Positivo(RecuperarQuantidadeVerba(Configuracao.CodigoRubricaOrigemCalculo)); } Senao Se (Configuracao.PermitirFallbackManual == Verdadeiro E PossuiLancamentoManual == Verdadeiro) { ValorBaseCalculo = Positivo(Lancamento.ValorTotal); QuantidadeDiasDobra = Positivo(Lancamento.Quantidade); } } Senao Se (Configuracao.ModoApuracao == “LANCAMENTO_MANUAL_FUTURO”) { Se (PossuiLancamentoManual == Verdadeiro E Lancamento.ValorTotal > 0.00) { ValorBaseCalculo = Positivo(Lancamento.ValorTotal); QuantidadeDiasDobra = Positivo(Lancamento.Quantidade); } Senao { EscreverMemoria(“[DOBRA_TERCO_FERIAS_GOZADAS_IRRF]”, “Cálculo interrompido: Nenhum lançamento válido encontrado.”); HoleriteVerba = null; InterromperCalculo(); } }

Se (ValorBaseCalculo <= 0.00) { EscreverMemoria(“[DOBRA_TERCO_FERIAS_GOZADAS_IRRF]”, “Cálculo interrompido: Valor base apurado nulo ou negativo.”); HoleriteVerba = null; InterromperCalculo(); }

3. Aplicação de Regras de Percentual e Tetos Configuráveis

Definir ValorProventoApurado = 0.00;

Se (Configuracao.ValorInformadoJaEOTerco == Verdadeiro) { ValorProventoApurado = ValorBaseCalculo; } Senao { Definir PercentualTerco = Configuracao.PercentualTercoConstitucional ?? (1.00 / 3.00); ValorProventoApurado = ValorBaseCalculo * PercentualTerco; }

Tratamento de Teto e Piso Se (Configuracao.AplicarTetoMaximo == Verdadeiro E Configuracao.ValorTetoMaximo > 0.00) { Se (ValorProventoApurado > Configuracao.ValorTetoMaximo) { ValorProventoApurado = Configuracao.ValorTetoMaximo; } }

Definir ValorProventoFinal = Func_ArredondamentoPadrao(ValorProventoApurado);

Se (ValorProventoFinal <= 0.00) { HoleriteVerba = null; InterromperCalculo(); }

4. Gravação de Campos, Truncamento de Lançamento Futuro e Disparo de Incidências

RubricaGerada = CriarInstanciaRubrica(Configuracao.CodigoRubricaDestino); RubricaGerada.Quantidade = QuantidadeDiasDobra; RubricaGerada.ValorReferencia = ValorBaseCalculo; RubricaGerada.ValorTotal = Positivo(ValorProventoFinal);

Tratamento para Agendamento/Tratamento de Lançamento Futuro Se (Configuracao.ProcessarComoLancamentoFuturo == Verdadeiro E (Solicitacao.TipoFolha == EnumTipoFolhaBO.Regular OU Solicitacao.TipoFolha == EnumTipoFolhaBO.Rescisao)) { SysFunc_ReceberLancamentoFuturo(RubricaGerada); }

Enquadramento Fiscal Conforme Metadados (Tributação Exclusiva de IRRF na Folha de Férias Gozadas) RubricaGerada.IncideINSS = EnumIncidencia.ISENTO; RubricaGerada.IncideFGTS = EnumIncidencia.ISENTO; RubricaGerada.IncideIRRF = EnumIncidencia.FERIAS_GOZADAS;

AdicionarAoHolerite(RubricaGerada);

Gravação da Memória de Cálculo EscreverMemoria(“[DOBRA_TERCO_FERIAS_GOZADAS_IRRF]”, “Dobra do 1/3 de Férias Gozadas (IRRF) calculada com sucesso. Valor: R$ ” + RubricaGerada.ValorTotal);


Parametrizações Propostas para Reestruturação

1. REGRAS DE ENTRADA E FONTE DE DADOS

[ ] Inativar Rubrica (Desativa o cálculo globalmente) Modo de Apuração da Base de Cálculo: ( ) VERBA_SISTEMA_ORIGEM (Calculado/Importado a partir de outra rubrica) └─ Código da Rubrica de Origem: [ 326 ] (X) LANCAMENTO_MANUAL_FUTURO (Lançamento manual direto com tratamento futuro)

[X] Considerar que o Valor Informado/Originado JÁ É o valor do Terço (1/3) └─ (Se desmarcado, o sistema aplicará 1/3 sobre o valor de referência) [X] Permitir Fallback de Lançamento Manual caso a Apuração via Origem retorne zero [X] Interromper Processamento se o Valor Resultante For Igual a Zero (0,00)

2. DIRETRIZES DE TRATAMENTO FUTURO E PROCESSAMENTO

[X] Acionar Mecanismo de Lançamento Futuro (SysFunc_ReceberLancamentoFuturo) └─ Aplicado para os Tipos de Folha: Regular / Mensal e Rescisão / Desligamento [ ] Restringir Processamento por Intervalo de Datas de Referência ├─ Data Inicial: [ / / ] └─ Data Final: [ / / ]

3. TRATAMENTO DE LIMITES E TETOS

Percentual do Terço Constitucional: [ 33,3333 ] % [ ] Aplicar Limitador / Teto Máximo de Valor └─ Valor Teto Máximo Permitido: R$ [ 0,00 ]

4. AMBIENTE E TIPOS DE FOLHA PERMITIDOS

Tipos de Processamento Habilitados: [X] Regular / Mensal [ ] Férias / Adiantamento de Férias [X] Rescisão / Desligamento [ ] Complementar / Retroativa

5. ENCARGOS E ENQUADRAMENTO FISCAL

Enquadramento Fiscal eSocial (Natureza 1024 - Férias - Dobro na vigência do contrato): INSS: [ ISE - Isento ] FGTS: [ ISE - Isento ] IRRF: [ FEG - Férias Gozadas ]

Clientes com mesma regra

  • Clientes Padrão e Grupo de Validação Geral: A regra geral determinava que o valor da verba era oriundo de cálculo/origem da verba 326 ou mantido por lançamento manual tratado com SysFunc_ReceberLancamentoFuturo para as folhas Regular e Rescisão. No motor dynamic, esses clientes são atendidos configurando Modo de Apuração como LANCAMENTO_MANUAL_FUTURO (ou VERBA_SISTEMA_ORIGEM vinculada à verba 326) com a flag Acionar Mecanismo de Lançamento Futuro ativada.
  • ACAL (Regra por CNPJ / HCL): A validação legada via hardcode do CNPJ da HCL (Empregador.CNPJEmpregador.Trim().StartsWith("1056841400")) para validar lançamentos manuais positivos é totalmente absorvida pelo parâmetro unificado de entrada e elegibilidade de lançamento manual (PossuiLancamentoManual == Verdadeiro E Lancamento.ValorTotal > 0), sem necessidade de checagem de string de CNPJ.
  • FUNDACAOCOPEL e SALESFORCE: Tratados de forma nativa pela chave LANCAMENTO_MANUAL_FUTURO que verifica a existência do lançamento positivo (Lancamento.ValorTotal > 0) e executa o retorno da rubrica sem desvios de código.
  • GALLO (Validação Temporal por Data de Referência): A trava por código em data fixa (Solicitacao.DataReferencia == SysFunc_NovaData(01, 04, 2024)) foi convertida na funcionalidade parametrizável do painel Restringir Processamento por Intervalo de Datas de Referência. Ao preencher as datas limite na interface de configuração do cliente, o motor habilita ou desabilita o processamento automaticamente sem necessidade de alteração no fonte.

Status Documental

  • Status: Documentada
  • Origem: export do Notion + catálogo da wiki
  • Fonte rastreável: 30dc75ea2e838139a8f0c114ac6bf45e

Voltar ao catálogo

Digite para pesquisar...

Scroll para zoom · Esc para fechar

⌨️ Atalhos de teclado
Navegação
Ctrl K Pesquisar na wiki
Ctrl F Buscar na página
? Ver atalhos
Visualização
Ctrl Shift F Modo foco
A+ / A− Tamanho da fonte
Ctrl D Alternar tema
Ações
Ctrl B Favoritar página
Esc Fechar dialogs