Wiki / SuperCalculo ~7 min

2042 - Prov 13º Salário Acum.

⚙️ Metadados

  • Código: 2042
  • 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: 275

🧮 Regra Geral

  • Lógica de Cálculo:

    1. A verba não é calculada se a variável VGP_ProvTransfSaidaMesSeguinte for true ou se VGP_Calcula_Provisao for false.
    2. A verba não prossegue com a lógica principal (retorna um objeto de provisão vazio ou pré-existente) se:
      • OU se a solicitação for um holerite simulado (Solicitacao.HoleriteSimulado == false).
      • OU se o tipo de folha for Rescisão Complementar (Solicitacao.TipoFolha == EnumTipoFolhaBO.RescisaoComplementar).
    3. Recupera a quantidade de avos de 13º salário da variável global VG_Avos13T e armazena em VGP_AvosD13T.
    4. Itera sobre as verbas já calculadas no holerite que possuem ValorTotal maior que zero e cujos códigos são: “400” (13º Salário), “331” (13º Sal.-Mater. Empresa Cidadã), “361” (13º Sal.-Mater. CCT/ACT) ou “20400” (13º Salário Impatriado).
    5. Para cada uma dessas verbas de 13º salário, um novo item de provisão é criado e adicionado à lista Holerite.ListaHoleriteProvisao:
      • A descrição final da provisão é formatada para incluir o tipo de 13º salário (ex: “Prov 13º Salário Acum. [Trabalhado]”).
      • MemoriaCalculo e Percentual são copiados da verba original.
      • Quantidade é definida como VGP_AvosD13T.
      • ValorIntegral é definido como c.ValorReferencia da verba original.
      • ValorTotal é definido como c.ValorTotal da verba original, aplicando-se o arredondamento padrão (Func_ArredondamentoPadrao).
      • Condição Especial: Se o mês da DataReferencia da solicitação for dezembro (12), o ValorTotal do item de provisão é zerado.
    6. A verba principal retorna null, indicando que ela não gera um valor próprio, mas sim popula a lista de provisões.
  • Fórmula matemática:

    • ValorTotal_Provisao = Func_ArredondamentoPadrao(ValorTotal_Verba13Salario) (se o mês não for dezembro); ValorTotal_Provisao = 0 (se o mês for dezembro).
  • Variáveis Utilizadas:

    • VGP_ProvTransfSaidaMesSeguinte
    • VGP_Calcula_Provisao
    • Solicitacao.Cliente
    • Empregado.TipoVinculo
    • Solicitacao.HoleriteSimulado
    • Solicitacao.TipoFolha
    • VGP_AvosD13T
    • VG_Avos13T
    • Holerite.ListaHoleriteVerba
    • c.Verba.Codigo
    • c.ValorTotal
    • c.MemoriaCalculo
    • c.Percentual
    • c.ValorReferencia
    • Solicitacao.DataReferencia.Month.
  • Condições Especiais:

    • if (VGP_ProvTransfSaidaMesSeguinte == true || VGP_Calcula_Provisao == false): Condição inicial para não calcular a verba.
    • c.ValorTotal > 0: Filtra verbas de 13º salário com valor positivo.
    • c.Verba.Codigo == "400" || c.Verba.Codigo == "331" || c.Verba.Codigo == "361" || c.Verba.Codigo == "20400": Seleciona as verbas de 13º salário a serem provisionadas.
    • if (Solicitacao.DataReferencia.Month == 12): Zera o valor da provisão se o mês de referência for dezembro.

🔗 Dependências

  • Verbas Relacionadas: “400” (13º Salário), “331” (13º Sal.-Mater. Empresa Cidadã), “361” (13º Sal.-Mater. CCT/ACT), “20400” (13º Salário Impatriado).
  • Tipo de Relação: A verba 2042 possui dependência das verbas de 13º salário mencionadas, utilizando seus valores para criar os itens de provisão. Ela gera novos itens na ListaHoleriteProvisao.

🧩 Funções

  • SysFunc_RecuperarVG_asDecimal("VG_Avos13T"): Recupera o valor da variável global VG_Avos13T como um tipo decimal.
  • CriarVerbaHoleriteProvisaoBO(codigo, descricao, Lancamento): Função interna para instanciar um novo objeto de provisão de verba.
  • Func_ArredondamentoPadrao(c.ValorTotal): Aplica a regra de arredondamento padrão do sistema ao valor.

🎯 Particularidades por Cliente/Setor

👤 Jmalucelli
  • Empregados do tipo Estagiario, a lógica principal de cálculo da provisão é ignorada, retornando um objeto de provisão sem preencher os itens específicos de 13º salário.

💡 Proposta de Novo Cálculo

Fórmula proposta (padronizada):

Quantidade_Provisao = VG_Avos13T

ValorTotal_Provisao_Item = (MesReferencia == 12) ? 0.00 : ARRED(ValorTotal_Verba13SalarioElegivel, 2)


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

SE NOT tabela_parametros.obter_flag(“HABILITAR_VERBA_2042”) ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2042 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 2042 ignorada: Flag de transferência ativa ou cálculo de provisão desativado.”) RETORNAR_VALOR(NULO) FIM_SE

vinculos_inelegiveis = tabela_parametros.obter_lista_strings(“LISTA_VINCULOS_INELEGIVEIS”) SE CONTEM(vinculos_inelegiveis, colaborador.tipo_vinculo) ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2042 ignorada: Tipo de vínculo inelegível configurado na matriz.”) RETORNAR_VALOR(NULO) FIM_SE

SE holerite_atual.eh_holerite_simulado() ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2042 ignorada: Processamento em modo de simulação.”) RETORNAR_VALOR(NULO) FIM_SE

tipos_folha_inelegiveis = tabela_parametros.obter_lista_strings_default(“LISTA_TIPOS_FOLHA_INELEGIVEIS”, LISTA(“RescisaoComplementar”)) SE CONTEM(tipos_folha_inelegiveis, holerite_atual.tipo_folha) ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2042 ignorada: Tipo de folha inelegível para acumulação de 13º.”) RETORNAR_VALOR(NULO) FIM_SE

2. Determinação da Base de Cálculo por Verbas do Holerite

verbas_13_elegiveis = tabela_parametros.obter_lista_strings_default( “LISTA_VERBAS_13_ELEGIVEIS”, LISTA(“400”, “331”, “361”, “20400”) )

avos_13 = holerite_atual.obter_variavel_global_decimal_default(“VG_Avos13T”, 0.00) holerite_atual.definir_variavel_global(“VGP_AvosD13T”, avos_13)

eh_mes_zeramento = (holerite_atual.obter_mes_referencia() == tabela_parametros.obter_inteiro_default(“MES_ZERAMENTO_PROVISAO”, 12))

3. Iteração e Gerenciamento de Itens de Provisão

itens_gerados = 0 PARA CADA verba_holerite EM holerite_atual.obter_verbas_calculadas() FACA SE CONTEM(verbas_13_elegiveis, verba_holerite.codigo) E verba_holerite.valor_total > 0.00 ENTAO

valor_provisao = eh_mes_zeramento ? 0.00 : ARREDONDAR_PADRAO(verba_holerite.valor_total)

instancia_item_provisao = holerite_atual.criar_instancia_provisao(“2042”)

sufixo_descricao = ” [” + verba_holerite.descricao + ”]” instancia_item_provisao.descricao_final = tabela_parametros.obter_string_default(“TEXTO_DESCRICAO_BASE”, “Prov 13º Salário Acum.”) + sufixo_descricao

instancia_item_provisao.quantidade = ARREDONDAR_PADRAO(avos_13) instancia_item_provisao.percentual = verba_holerite.percentual instancia_item_provisao.valor_integral = verba_holerite.valor_referencia instancia_item_provisao.valor_total = valor_provisao

instancia_item_provisao.incidencia_inss = ENUM_INCIDENCIA.ISENTO instancia_item_provisao.incidencia_fgts = ENUM_INCIDENCIA.ISENTO instancia_item_provisao.incidencia_irrf = ENUM_INCIDENCIA.ISENTO

instancia_item_provisao.memoria_calculo = “Provisão Acumulada via Verba ” + verba_holerite.codigo + ” | Avos: ” + CONVERTER_PARA_TEXTO(avos_13) + ” | Mês Dezembro (Zeramento): ” + CONVERTER_PARA_TEXTO(eh_mes_zeramento) + ” | Valor Final: R$ ” + CONVERTER_PARA_TEXTO(valor_provisao)

holerite_atual.adicionar_item_lista_provisao(instancia_item_provisao) itens_gerados = itens_gerados + 1 FIM_SE FIM_PARA

4. Gravação de Campos e Disparo Informativo (A verba pai não possui valor próprio)

REGISTRAR_LOG_INFORMATIVO(“Verba 2042 - Processamento concluído. Total de itens de provisão acumulados gerados: ” + CONVERTER_PARA_TEXTO(itens_gerados))

RETORNAR_VALOR(NULO) FIM_FUNCAO


Parametrizações Propostas para Reestruturação

1. REGRAS DE ENTRADA E ELEGIBILIDADE

[X] Habilitar Processamento da Verba 2042

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

[X] Bloquear Processamento em Holerite Simulado

Tipos de Vínculos Inelegíveis (Exclusão por Matriz) …: [ Estagiario ]

Tipos de Folha Inelegíveis …: [ RescisaoComplementar ]

2. MATRIZ DE ELEGIBILIDADE DE VERBAS DE 13º SALÁRIO

Verbas Origem do 13º Salário a Provisionar …: [ 400, 331, 361, 20400 ] ├─ 400: 13º Salário

├─ 331: 13º Sal.-Mater. Empresa Cidadã

├─ 361: 13º Sal.-Mater. CCT/ACT

└─ 20400: 13º Salário Impatriado

3. DIRETRIZES DE REGRAS TEMPORAIS E ZERAMENTO

Mês Automático de Zeramento da Provisão Acumulada …: [ 12 ] (Mês de Dezembro)

4. EXIBIÇÃO, IMPACTOS E ENCARGOS ESOCIAL

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

└─ Descrição Base Personalizada …: [ Prov 13º Salário Acum. ]

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

  • Clientes Gerais: O mecanismo unificado varre as verbas de 13º salário calculadas (400, 331, 361 e 20400), alimentando diretamente a lista de provisões do holerite com os avos apurados em VG_Avos13T e zerando o saldo total se o mês de competência for dezembro (12).
  • Jmalucelli: Atendido ao selecionar a opção Estagiario na matriz de Tipos de Vínculos Inelegíveis, removendo a validação explícita por código do cliente (Solicitacao.Cliente.ToLower() == "jmalucelli").

Status Documental

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

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