Wiki / SuperCalculo ~6 min

439 - 1/3 de Férias (Dif.) (isento INSS)

⚙️ Metadados

  • Código: 439
  • Tipo: Provento
  • INSS: ISE
  • FGTS: FEG
  • IRRF: FEG
  • Natureza eSocial: 1020 - Férias
  • DSR: Não
  • Médias: Não
  • Impacto Financeiro: Não
  • Impacto Contábil: Sim
  • Sequência: 4006

🧮 Regra Geral

  • Lógica de Cálculo:

    1. A verba só é calculada se a variável VG_TercoFeG_IsentoINSS for true. Caso contrário, o cálculo é interrompido (return null).
    2. É calculada a base para o terço de férias diferencial (BC_Terço_DifFérias) somando os valores totais das verbas 433, 434 e 435.
    3. Se BC_Terço_DifFérias for maior que zero:
      • Tenta-se identificar o número do período de férias a partir da verba 433. Se encontrada, a descrição final da verba é formatada como “1/3 de Férias (Dif.) (isento INSS) Xº Período”, onde X é o número do período.
      • Caso contrário, a descrição final é definida como “1/3 de Férias (Dif.) (isento INSS)”.
      • A Quantidade da verba é definida como BC_Terço_DifFérias.
      • O ValorTotal é calculado dividindo BC_Terço_DifFérias por 3 e arredondado usando a função Func_ArredondamentoPadrao.
  • Fórmula matemática:

    • ValorTotal = (RecuperarValorTotalVerba("433") + RecuperarValorTotalVerba("434") + RecuperarValorTotalVerba("435")) / 3
  • Variáveis Utilizadas:

    • VG_TercoFeG_IsentoINSS: Variável booleana que controla a execução do cálculo.
    • BC_Terço_DifFérias: Base de cálculo para o terço de férias diferencial.
    • NumPerFerias: Número do período de férias.
    • NPF: Objeto HoleriteVerba referente à verba 433.
  • Condições Especiais:

    • if (VG_TercoFeG_IsentoINSS == false): Interrompe o cálculo se a condição for falsa.
    • if (BC_Terço_DifFérias > 0): Procede com o cálculo detalhado apenas se houver base de cálculo positiva.
    • if (NPF != null): Condição para formatar a descrição da verba com o número do período de férias.

🔗 Dependências

  • Verbas Relacionadas:
    • 433: Verba de férias gozadas, utilizada como base para o cálculo e para identificar o período de férias.
    • 434: Verba de férias gozadas, utilizada como base para o cálculo.
    • 435: Verba de férias gozadas, utilizada como base para o cálculo.
    • 300: Mencionada em um comentário como uma verba que poderia ser usada para complementar a descrição, mas que não pode ser acessada devido à sua sequência de cálculo.
  • Tipo de Relação: Dependência. A verba 439 depende dos valores das verbas 433, 434 e 435 para sua base de cálculo.

🧩 Funções

  • RecuperarValorTotalVerba("código"): Recupera o valor total de uma verba específica.
  • Func_ArredondamentoPadrao(valor): Arredonda o valor para o padrão do sistema.

💡 Proposta de Novo Cálculo

Fórmula proposta (padronizada):

BaseCalculo = SE(OrigemCalculo == “Manual”, ValorReferenciaManual, Sum(VerbasCompoemBase[433, 434, 435]))

ValorFinal439 = Func_ArredondamentoPadrao(MAX(PisoMinimo, MIN(BaseCalculo / 3, SE(PossuiTeto == Verdadeiro, TetoMaximo, BaseCalculo / 3))))


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

SE Solicitacao.TipoProcesso == PROVISOES E NAO Config.PermitirCalculoEmProvisoes ENTÃO RETORNAR NULO FIM_SE

SE NAO Config.TiposFolhaPermitidos.Contem(Solicitacao.TipoFolha) ENTÃO RETORNAR NULO FIM_SE

SE Config.ExigirFiltroElegibilidadeEmpresa E NAO Config.EmpresasHabilitadas.Contem(Empregador.Id) ENTÃO RETORNAR NULO FIM_SE

SE Config.ExigirParametroAtivo E NAO Config.VG_TercoFeG_IsentoINSS ENTÃO RETORNAR NULO FIM_SE

SE Config.PossuiDataVigenciaInicio E Solicitacao.DataReferencia < Config.DataVigenciaInicio ENTÃO RETORNAR NULO FIM_SE

2. Determinação da Base de Cálculo, Período Aquisitivo e Valoração

Lancamento = Holerite.ObterLancamento(“439”) BaseCalculoTercoDif = 0.0 NumeroPeriodoFerias = NULO

SE Func_ValidarExistenciaLancamento(Lancamento) E Lancamento.ValorTotal > 0.0 ENTÃO

  • Prioridade 1: Lançamento Manual Direto ValorBrutoCalculado = ABS(Lancamento.ValorTotal) BaseCalculoTercoDif = SE(Lancamento.ValorReferencia > 0.0, Lancamento.ValorReferencia, ValorBrutoCalculado * 3.0) SENÃO SE Config.ModoApuracao == “AUTOMATICO_DIFERENCA_FERIAS” ENTÃO

  • Prioridade 2: Apuração Automática via Soma de Verbas de Diferença/Gozadas (433, 434, 435) SomaVerbasBase = 0.0

    PARA CADA CodigoVerba EM Config.VerbasCompoemBase DO RubricaOrigem = Holerite.ObterVerba(CodigoVerba) SE RubricaOrigem != NULO E RubricaOrigem.ValorTotal > 0.0 ENTÃO SomaVerbasBase = SomaVerbasBase + RubricaOrigem.ValorTotal

    Tenta capturar o número do período a partir do primeiro evento base encontrado SE NumeroPeriodoFerias == NULO E RubricaOrigem.NumeroPeriodoFerias != NULO ENTÃO NumeroPeriodoFerias = RubricaOrigem.NumeroPeriodoFerias FIM_SE FIM_SE FIM_PARA

    BaseCalculoTercoDif = SomaVerbasBase

    SE BaseCalculoTercoDif <= 0.0 ENTÃO RETORNAR NULO FIM_SE

    Proporção do Terço Constituicional (1/3) FatorFracao = Config.FatorTerco / 100.0 // Padrão: 33.3333% ou divisão direta por 3.0 ValorBrutoCalculado = BaseCalculoTercoDif * FatorFracao SENÃO RETORNAR NULO FIM_SE

3. Aplicação de Limites, Tetos e Pisos

SE Config.PossuiTetoMaximo E ValorBrutoCalculado > Config.ValorTetoMaximo ENTÃO ValorBrutoCalculado = Config.ValorTetoMaximo SENÃO SE Config.PossuiPisoMinimo E ValorBrutoCalculado < Config.ValorPisoMinimo ENTÃO ValorBrutoCalculado = Config.ValorPisoMinimo FIM_SE

ValorFinal439 = Func_ArredondamentoPadrao(ValorBrutoCalculado)

SE ValorFinal439 <= 0.0 E NAO Config.GravarVerbaZerada ENTÃO RETORNAR NULO FIM_SE

4. Gravação de Campos, Rubricas, Descrição Dinâmica e Acumuladores Fiscais (Natureza eSocial 1020)

RubricaTercoIsento = CriarVerbaHoleriteBO(“439”, “1/3 de Férias (Dif.) (isento INSS)”) RubricaTercoIsento.TipoVerba = “P”

RubricaTercoIsento.Quantidade = Func_ArredondamentoPadrao(BaseCalculoTercoDif) RubricaTercoIsento.ValorReferencia = Func_ArredondamentoPadrao(BaseCalculoTercoDif) RubricaTercoIsento.ValorTotal = ValorFinal439

Formatação Dinâmica de Descrição por Período Aquisitivo SE NumeroPeriodoFerias != NULO E NumeroPeriodoFerias > 0 ENTÃO RubricaTercoIsento.Descricao = String.Format(“{0} {1}º Período”, RubricaTercoIsento.Descricao, NumeroPeriodoFerias) FIM_SE

Encargos Sociais Conforme Metadados (INSS: Isento, FGTS: FEG, IRRF: FEG) SE Config.TributarINSS ENTÃO Holerite.AcumularBase(“BASE_INSS_FERIAS”, ValorFinal439) SENÃO Holerite.AcumularBase(“BASE_INSS_ISENTA_FERIAS”, ValorFinal439) FIM_SE

SE Config.TributarFGTS ENTÃO Holerite.AcumularBase(“BASE_FGTS_FERIAS”, ValorFinal439) SENÃO Holerite.AcumularBase(“BASE_FGTS_ISENTA”, ValorFinal439) FIM_SE

SE Config.TributarIRRF ENTÃO Holerite.AcumularBase(“BASE_IRRF_FERIAS”, ValorFinal439) SENÃO Holerite.AcumularBase(“BASE_IRRF_ISENTA”, ValorFinal439) FIM_SE

Repercussão de Reflexos: DSR e Médias (Sem DSR e Sem Médias) SE Config.ComporDSR E SysFunc_VerbaPossuiDSR(“439”) ENTÃO Holerite.AcumularBase(“BASE_HORAS_VARIAVEIS_DSR”, ValorFinal439) Func_DSR(“439”, “DSR s/ 1/3 Férias Isento”, “439”, ValorFinal439, RubricaTercoIsento, VERDADEIRO) FIM_SE

SE Config.IncorporaMedias ENTÃO Holerite.AcumularBase(“BASE_MEDIAS_13”, ValorFinal439) Holerite.AcumularBase(“BASE_MEDIAS_FERIAS”, ValorFinal439) Holerite.AcumularBase(“BASE_MEDIAS_RESCISAO”, ValorFinal439) FIM_SE

Holerite.ListaHoleriteVerba.Adicionar(RubricaTercoIsento)

Registro em memória de cálculo detalhada Argumento(“BASE_CALCULO_TERCO_DIF”, BaseCalculoTercoDif) Argumento(“PERIODO_FERIAS_IDENTIFICADO”, SE(NumeroPeriodoFerias != NULO, NumeroPeriodoFerias, 0)) Argumento(“VALOR_FINAL_439”, ValorFinal439)

EscreverMemoria(“TERCO_FERIAS_DIF_ISENTO_INSS”, String.Format(“1/3 Férias Dif. (Isento INSS): Base R$ {0} | Período: {1} | Valor Final R$ {2}”, BaseCalculoTercoDif.ToString(“N2”), SE(NumeroPeriodoFerias != NULO, NumeroPeriodoFerias, “N/A”), ValorFinal439.ToString(“N2”)))

RETORNAR RubricaTercoIsento

FIM


Parametrizações Propostas para Reestruturação

1. REGRAS DE ENTRADA E FILTROS DE ELEGIBILIDADE

[X] Exigir Parâmetro Ativo de Terço Férias Isento (VG_TercoFeG_IsentoINSS)

Tipos de Folha Permitidos …: [X] Férias [X] Rescisão [X] Complementar [ ] Regular

Modo Principal de Apuração …: [ Apuração Automática via Diferença de Férias v ] [ Apuração Automática via Diferença de Férias ] [ Lançamento Manual em Valor Direto ]

[ ] Exigir Filtro de Elegibilidade por Empresa / CNPJ

2. COMPOSIÇÃO DA BASE DE CÁLCULO DE DIFERENÇA

Verbas de Diferença/Gozadas Integrantes da Base:

[X] Verba 433 (Diferença de Férias Gozadas)

[X] Verba 434 (Diferença de Férias / Outros Proventos)

[X] Verba 435 (Diferença de Férias / Adicionais)

Outras Verbas Configuráveis …: [ ]

Fator do Terço Constitucional (%) …: [ 33,3333 % (ou Divisão por 3) ]

3. SUFIXO E FORMATAÇÃO DE TEXTO NA IMPRESSÃO

[X] Anexar Número do Período Aquisitivo na Descrição da Rubrica

Fonte de Captura do Período …: [ Verba 433 (ou primeira verba base encontrada) v ]

4. TRIBUTAÇÃO E ENVIOS ESOCIAL

Natureza eSocial …: [ 1020 - Férias v ]

Incidência INSS …: [ Isento (ISE) ]

Incidência FGTS …: [ Férias (FEG) ]

Incidência IRRF …: [ Férias (FEG) ]

Afeta DSR …: [ ] Sim [X] Não

Incorpora Médias …: [ ] Sim [X] Não

Clientes com mesma regra

  • Regra Geral / Todos os Clientes: Todos os clientes que processam a verba 439 utilizam exatamente a mesma lógica operacional: interrupção do cálculo caso a chave VG_TercoFeG_IsentoINSS seja falsa, somatório das verbas de base 433, 434 e 435, divisão do total acumulado por 3 e sufixação do número do período aquisitivo na descrição do evento a partir do histórico de origem do cálculo. O motor unificado consolida integralmente essa mecânica por meio da parametrização de base dinâmica e das chaves de exibição textual em tela.

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