Wiki / SuperCalculo ~7 min

2055 - Prov Média 13º Sal. Mês Atual

⚙️ Metadados

  • Código: 2055
  • Tipo: Provisão
  • INSS: ISE
  • FGTS: ISE
  • IRRF: ISE
  • Natureza eSocial: -
  • DSR: Não
  • Médias: Não
  • Impacto Financeiro: Não
  • Impacto Contábil: Sim
  • Sequência: 346

🧮 Regra Geral

  • ID da Fórmula: 312

  • Lógica de Cálculo:

    1. A verba não é calculada (retorna null) se:
      • A variável global VGP_ProvTransfSaidaMesSeguinte for true.
      • A variável global VGP_Calcula_Provisao for false.
      • O Empregado for do tipo Estagiario.
      • O motivo da rescisão do Empregado for ComJustaCausa.
    2. Se a variável global VG_PossuiAvo13T_MesAtual for true, o cálculo prossegue:
      • É inicializada uma lista (ListaVerbasVariaveis) com os códigos das verbas de origem de média do holerite atual que possuem valor diferente de zero.
      • As verbas “55” (DSR) e “205” são adicionadas a esta lista.
      • Diversas verbas relacionadas a férias, 13º salário (adiantamento, indenizado), aviso prévio e salário-maternidade são removidas explicitamente da ListaVerbasVariaveis.
      • Para os demais clientes: O ValorTotalVerbasVariaveisDoMes é somado a partir das verbas do holerite atual que estão na ListaVerbasVariaveis.
      • É calculado o DiasMaternMes, que representa a quantidade de dias de licença-maternidade do empregado no mês de referência, considerando diversos subtipos de afastamento.
      • O HoleriteProvisao.Quantidade recebe o ValorTotalVerbasVariaveisDoMes.
      • O HoleriteProvisao.ValorTotal é calculado como a soma das verbas variáveis do mês dividida por 12 e arredondada.
      • Se houver DiasMaternMes (dias de licença-maternidade), o HoleriteProvisao.ValorTotal é ajustado, subtraindo uma proporção referente a esses dias.
      • O HoleriteProvisao.ValorTotal final é arredondado.
    3. Se o HoleriteProvisao.ValorTotal for menor ou igual a zero, a verba não é gravada (retorna null).
  • Fórmula matemática:

    • ValorTotalVerbasVariaveisDoMes = Σ (Verbas Variáveis do Mês)
    • HoleriteProvisao.ValorTotal = Func_ArredondamentoPadrao(ValorTotalVerbasVariaveisDoMes / 12)
    • Se DiasMaternMes > 0: HoleriteProvisao.ValorTotal -= HoleriteProvisao.ValorTotal / 30 * DiasMaternMes
    • HoleriteProvisao.ValorTotal = Func_ArredondamentoPadrao(HoleriteProvisao.ValorTotal)
  • Variáveis Utilizadas:

    • VGP_ProvTransfSaidaMesSeguinte
    • VGP_Calcula_Provisao
    • Empregado.TipoVinculo
    • Empregado.Rescisao.MotivoRescisao
    • SysFunc_RecuperarVG_asBool("VG_PossuiAvo13T_MesAtual")
    • ValorTotalVerbasVariaveisDoMes
    • Holerite.ListaHoleriteVerba
    • Empregado.Historico.ListaHolerite
    • Solicitacao.Cliente
    • SysFunc_RecuperarVG_asBool("VG_DocenteInflux")
    • Empregado.Historico.ListaAfastamento
    • DiasMaternMes
    • HoleriteProvisao.Quantidade
    • HoleriteProvisao.ValorTotal.
  • Condições Especiais:

    • Verificação inicial para return null baseada em variáveis globais e dados do empregado (estagiário, rescisão com justa causa).
    • Cálculo condicional ativado por SysFunc_RecuperarVG_asBool("VG_PossuiAvo13T_MesAtual").
    • Customização hardcoded para cliente Influx: Adiciona verba “1374” se Solicitacao.Cliente for “influx” e VG_DocenteInflux for true.
    • Customização hardcoded para clientes Monsanto/KWS: Altera a fonte de dados para somar ValorTotalVerbasVariaveisDoMes (histórico vs. holerite atual).
    • Ajuste do valor da provisão se houver dias de licença-maternidade (DiasMaternMes > 0M).
    • Verificação final para garantir que o HoleriteProvisao.ValorTotal seja positivo.

🔗 Dependências

  • Verbas Relacionadas:
    • Verbas de origem de média (código hv.VerbaOrigemMedia.Codigo) presentes no holerite.
    • Verba “55” (DSR) e “205” são adicionadas para compor a base de cálculo.
    • Verbas “340”, “327”, “316”, “580”, “337”, “575”, “372”, “406”, “410”, “450”, “1391”, “542”, “526”, “434”, “445”, “297”, “416” são explicitamente removidas da base de cálculo.
    • Verba “1374” (DSR - Hora-Aula) é adicionada para o cliente Influx sob condição específica.
  • Tipo de Relação: As verbas listadas são dependências para o cálculo da base da média. Elas compõem ou são excluídas da soma que define o ValorTotalVerbasVariaveisDoMes.
  • Fluxo de Cálculo: O cálculo desta verba depende que as verbas variáveis do mês já tenham sido processadas e seus valores estejam disponíveis no holerite ou histórico do empregado.

🧩 Funções

  • SysFunc_RecuperarVG_asBool("VG_PossuiAvo13T_MesAtual"): Recupera o valor booleano de uma variável global de sistema.
  • SysFunc_RecuperarVG_asBool("VG_DocenteInflux"): Recupera o valor booleano de uma variável global de sistema específica para o cliente Influx.
  • Func_ArredondamentoPadrao(decimal valor): Realiza o arredondamento padrão do sistema para valores monetários.
  • dtcAux.DataPertencePeriodo(DateTime data): Verifica se uma data específica pertence ao período de cálculo.

🎯 Particularidades por Cliente/Setor

👤 Influx
  • Se Solicitacao.Cliente.ToLower() == “influx” e SysFunc_RecuperarVG_asBool(“VG_DocenteInflux”) for true, a verba “1374” (DSR - Hora-Aula) é adicionada à lista de verbas variáveis que compõem a base de cálculo.
👤 KWS
  • A soma das verbas variáveis (ValorTotalVerbasVariaveisDoMes) é feita a partir do histórico do empregado (verbas do mês de referência em folhas Regular ou Rescisão), em vez do holerite atual.
👤 Monsanto
  • A soma das verbas variáveis (ValorTotalVerbasVariaveisDoMes) é feita a partir do histórico do empregado (verbas do mês de referência em folhas Regular ou Rescisão), em vez do holerite atual.

💡 Proposta de Novo Cálculo

Fórmula proposta (padronizada):

ValorTotalVerbasVariaveisDoMes = SUM(VerbasValidasOrigem)

ValorProporcionalMedia = ValorTotalVerbasVariaveisDoMes / 12

DeducaoMaternidade = (ValorProporcionalMedia / 30) * MIN(30, DiasMaternidadeMes)

ValorTotal_2055 = ARRED(MAX(0, ValorProporcionalMedia - DeducaoMaternidade))


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

SE NOT tabela_parametros.obter_flag(“HABILITAR_VERBA_2055”) ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2055 desabilitada em parâmetros gerais.”) RETORNAR_VALOR(NULO) FIM_SE

SE holerite_atual.obter_variavel_global(“VGP_ProvTransfSaidaMesSeguinte”) OU NOT holerite_atual.obter_variavel_global(“VGP_Calcula_Provisao”) ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2055 ignorada: Transferência ativa ou cálculo de provisão desativado.”) RETORNAR_VALOR(NULO) FIM_SE

SE tabela_parametros.obter_lista_inteiros(“MOTIVOS_RESCISAO_ELEGIVEIS_PROVISAO”).CONTEM(colaborador.motivo_rescisao_id) ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2055 ignorada: Motivo de rescisão inelegível para provisão de médias.”) RETORNAR_VALOR(NULO) FIM_SE

SE tabela_parametros.obter_lista_inteiros(“VINCULOS_EXCLUIDOS_PROVISAO”).CONTEM(colaborador.tipo_vinculo_id) ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2055 ignorada: Tipo de vínculo excluído do cálculo de provisão.”) RETORNAR_VALOR(NULO) FIM_SE

2. Apuração do Direito ao Avo do Mês

possui_avo_mes = holerite_atual.obter_variavel_global_booleano(“VG_PossuiAvo13T_MesAtual”) SE NOT possui_avo_mes ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2055 encerrada: Colaborador não atingiu a fração de dias mínima para avos de 13º no mês corrente.”) RETORNAR_VALOR(NULO) FIM_SE

3. Formação Dynamic da Lista de Verbas de Média do Mês Efetivo

Substituição de exclusões/inclusões hardcoded por acumuladores parametrizados lista_verbas_origem = BUSCAR_VERBAS_MEDIAS_ELEGIVEIS(holerite_atual, tabela_parametros)

Determinação da Origem dos Dados (Holerite Atual vs. Histórico Processado) origem_dados_historico = tabela_parametros.obter_flag(“OBTER_MEDIAS_HISTORICO_PROCESSADO”)

SE origem_dados_historico ENTAO valor_total_variaveis = colaborador.obter_soma_verbas_historico( holerite_atual.periodo_referencia, lista_verbas_origem, tabela_parametros.obter_lista_inteiros(“TIPOS_FOLHA_ELEGIVEIS_MEDIAS”) ) SENAO valor_total_variaveis = holerite_atual.obter_soma_verbas(lista_verbas_origem) FIM_SE

SE valor_total_variaveis <= 0.00 ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2055: Total de verbas variáveis para composição de média no mês é zerado.”) RETORNAR_VALOR(NULO) FIM_SE

4. Apuração de Abatimento por Licença Maternidade no Mês

dias_maternidade_mes = 0 tipos_afastamento_maternidade = tabela_parametros.obter_lista_inteiros(“TIPOS_AFASTAMENTO_MATERNIDADE”)

PARA CADA afastamento EM colaborador.historico_afastamentos FACA SE tipos_afastamento_maternidade.CONTEM(afastamento.tipo_id) E afastamento.intersecciona_periodo(holerite_atual.periodo_referencia) ENTAO dias_maternidade_mes = dias_maternidade_mes + afastamento.obter_dias_no_periodo(holerite_atual.periodo_referencia) FIM_SE FIM_PARA

5. Cálculo Proporcional e Ajustes Legal/Contratual

valor_proporcional_media = valor_total_variaveis / 12.00

SE dias_maternidade_mes > 0 ENTAO dias_efetivos_maternidade = MINIMO(30, dias_maternidade_mes) deducao_maternidade = (valor_proporcional_media / 30.00) * dias_efetivos_maternidade valor_proporcional_final = valor_proporcional_media - deducao_maternidade SENAO valor_proporcional_final = valor_proporcional_media FIM_SE

valor_proporcional_final = ARREDONDAR_PADRAO(MAXIMO(0.00, valor_proporcional_final))

SE valor_proporcional_final <= 0.00 ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2055: Valor proporcional final de média de 13º resultou em R$ 0,00.”) RETORNAR_VALOR(NULO) FIM_SE

6. Instanciação e Gravação do Item de Provisão

instancia_provisao = holerite_atual.criar_instancia_provisao(“2055”) instancia_provisao.descricao_final = tabela_parametros.obter_string_default(“TEXTO_DESCRICAO”, “Prov Média 13º Sal. Mês Atual”) instancia_provisao.quantidade = ARREDONDAR_PADRAO(valor_total_variaveis) instancia_provisao.valor_integral = valor_proporcional_final instancia_provisao.valor_total = valor_proporcional_final

instancia_provisao.incidencia_inss = ENUM_INCIDENCIA.ISENTO instancia_provisao.incidencia_fgts = ENUM_INCIDENCIA.ISENTO instancia_provisao.incidencia_irrf = ENUM_INCIDENCIA.ISENTO

memoria_calculo = “Provisão de Média de 13º Salário Mês Atual” + ” | Base Total Variáveis Mês: R$ ” + CONVERTER_PARA_TEXTO(valor_total_variaveis) + ” | Avos Mês: 1/12” + ” | Dias Licença Maternidade no Mês: ” + CONVERTER_PARA_TEXTO(dias_maternidade_mes) + ” | Valor Proporcional Final: R$ ” + CONVERTER_PARA_TEXTO(valor_proporcional_final)

instancia_provisao.memoria_calculo = memoria_calculo holerite_atual.adicionar_verba_provisao(instancia_provisao)

REGISTRAR_LOG_INFORMATIVO(“Verba 2055 - Processamento concluído. Valor gerado: R$ ” + CONVERTER_PARA_TEXTO(valor_proporcional_final))

RETORNAR_VALOR(instancia_provisao) FIM_FUNCAO


Parametrizações Propostas para Reestruturação

1. REGRAS DE ENTRADA E ELEGIBILIDADE DE CONTRATO

[X] Habilitar Processamento da Verba 2055

[X] Respeitar Flag Global de Cálculo de Provisão (VGP_Calcula_Provisao)

[X] Bloquear Execução em Transferências de Saída no Mês Seguinte

Tipos de Vínculos Excluídos da Provisão …: [ 901-Estagiário, 902-Menor Aprendiz v ]

Motivos de Rescisão sem Provisão …: [ 11-Justa Causa Empregador v ]

2. DIRETRIZES DE COMPOSIÇÃO DA BASE DE MÉRITO/MÉDIAS

Fonte de Dados das Variáveis do Mês …: [ Holerite Atual v ]

└─ Opções: [ Holerite Atual | Histórico de Folha Processada ]

Tipos de Folha Elegíveis (caso Histórico) …: [ Regular, Rescisão ]

[X] Compor Base Automaticamente com Verbas Mapeadas na Origem de Média

Verbas Adicionais Forçadas na Base …: [ 55, 205, 1374 ]

Verbas Excluídas Explicitamente da Base …: [ 340, 327, 316, 580, 337, 575, 372, ] [ 406, 410, 450, 1391, 542, 526, 434, ] [ 445, 297, 416 ]

3. DEDUÇÕES E ENCARGOS ESOCIAL

Tipos de Afastamento Maternidade (Abatimento de Provisão Direta):

[X] LM_INSSNormal [X] LM_Sequela_Neurologica [X] LM_Aborto_nao_Criminoso

[X] LM_INSSAdotante [X] Antec_Prorrog_por_Atest_Medico

[X] Permitir Sobregravação de Descrição no Holerite via Configuração

└─ Descrição Personalizada …: [ Prov Média 13º Sal. Mês Atual ]

Impacto Financeiro …: [ Não ]

Impacto Contábil …: [ Sim ]

Incidência INSS: : [ 00 - Não é Base de Cálculo (Isento) v ]

Incidência IRRF: : [ 00 - Não é Base de Cálculo (Isento) v ]

Incidência FGTS: : [ 00 - Não é Base de Cálculo (Isento) v ]

Natureza eSocial: : [ Isento / Não Aplicável v ]

Clientes com mesma regra

  • Cliente Influx: A inclusão condicional da verba 1374 (DSR - Hora-Aula), que dependia do nome do cliente (influx) e de flag de docente, foi incorporada ao campo parametrizável Verbas Adicionais Forçadas na Base dentro do perfil do cliente.
  • Clientes Monsanto e KWS: A exigência de buscar a soma das verbas variáveis no histórico de folha processada em vez do holerite atual foi abstraída para a opção de seleção Fonte de Dados das Variáveis do Mês (configurada como Histórico de Folha Processada para estes perfis).
  • Demais Clientes da Base: Funcionam diretamente utilizando a verificação padrão de verbas de origem de média no holerite corrente, aplicando as listas parametrizadas de inclusão e exclusão de rubricas.

Status Documental

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

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