Wiki / SuperCalculo ~5 min

2105 - Prov PLR / PPR Ajuste +

⚙️ Metadados

  • Código: 2105
  • 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: 764

🧮 Regra Geral

  • Lógica de Cálculo:

    1. A verba não é calculada (return null) se a variável de controle VGP_ProvTransfSaidaMesSeguinte for true.
    2. O valor do ajuste (VlrAjuste) é calculado somando os valores de provisão das verbas 2085 (PLR/PPR Acum.), 2583 (Baixa Transf. PLR/PPR Acum.) e 2100 (Baixa PLR/PPR).
    3. Desse total, são subtraídos os valores de provisão das verbas 2090 (PLR/PPR Acum. Mês Ant.), 2095 (PLR/PPR Mês Atual) e 2683 (Receb. Transf. PLR/PPR Acum.).
    4. Se o VlrAjuste resultante for maior que zero, ele é arredondado (Func_ArredondamentoPadrao), garantido como positivo (Positivo) e atribuído como o valor total da provisão (HoleriteProvisao.ValorTotal).
  • Fórmula matemática:

    • VlrAjuste = (RecuperarValorProvisao("2085") + RecuperarValorProvisao("2583") + RecuperarValorProvisao("2100")) - (RecuperarValorProvisao("2090") + RecuperarValorProvisao("2095") + RecuperarValorProvisao("2683"))
  • Variáveis Utilizadas:

    • VGP_ProvTransfSaidaMesSeguinte: Variável booleana que indica se há transferência de provisão para o mês seguinte.
    • VlrAjuste: Variável decimal que armazena o resultado do cálculo do ajuste.
    • HoleriteProvisao.ValorTotal: Propriedade que recebe o valor final da verba de provisão.
  • Condições Especiais:

    • if (VGP_ProvTransfSaidaMesSeguinte == true): Impede o cálculo da verba se a condição for verdadeira.
    • if (VlrAjuste > 0M): A verba só é gerada se o valor do ajuste for estritamente positivo.

🔗 Dependências

  • Verbas Relacionadas:
    • 2085 (Prov PLR / PPR Acum.)
    • 2583 (Prov Baixa Transf. PLR / PPR Acum.)
    • 2100 (Prov Baixa PLR / PPR)
    • 2090 (Prov PLR / PPR Acum. Mês Ant.)
    • 2095 (Prov PLR / PPR Mês Atual)
    • 2683 (Prov Receb. Transf. PLR / PPR Acum.)
  • Tipo de Relação: Dependência. O valor da verba 2105 é diretamente calculado a partir dos valores de outras verbas de provisão.

🧩 Funções

  • RecuperarValorProvisao("código_verba"): Obtém o valor de uma verba de provisão específica.
  • Func_ArredondamentoPadrao(valor): Arredonda o valor monetário conforme o padrão do sistema.
  • Positivo(valor): Retorna o valor absoluto se for negativo, ou o próprio valor se for positivo/zero, garantindo um resultado não negativo.

💡 Proposta de Novo Cálculo

Fórmula proposta (padronizada):

HoleriteProvisao(2105).ValorTotal = (HABILITAR_VERBA_2105 == VERDADEIRO E VGP_Provisionar_PLR == VERDADEIRO E VGP_ProvTransfSaidaMesSeguinte == FALSO E TipoVinculo NOT IN TIPOS_VINCULO_EXCLUIDOS E (RecuperarValorProvisao(2085) + RecuperarValorProvisao(2583) + RecuperarValorProvisao(2100) - RecuperarValorProvisao(2090) - RecuperarValorProvisao(2095) - RecuperarValorProvisao(2683)) > 0) ? ARRED_PADRAO(RecuperarValorProvisao(2085) + RecuperarValorProvisao(2583) + RecuperarValorProvisao(2100) - RecuperarValorProvisao(2090) - RecuperarValorProvisao(2095) - RecuperarValorProvisao(2683)) : 0


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

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

Validação da variável global de provisionamento de PLR provisionar_plr = holerite_atual.obter_variavel_global_booleana_default(“VGP_Provisionar_PLR”, VERDADEIRO) SE NOT provisionar_plr ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2105 interrompida: VGP_Provisionar_PLR é FALSO.”) RETORNAR_VALOR(NULO) FIM_SE

Interrompe processamento em caso de transferência de saída para mês seguinte SE holerite_atual.obter_variavel_global_booleana_default(“VGP_ProvTransfSaidaMesSeguinte”, FALSO) ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2105 interrompida: VGP_ProvTransfSaidaMesSeguinte ativo.”) RETORNAR_VALOR(NULO) FIM_SE

Validação Dinâmica de Exclusão por Tipo de Vínculo tipos_vinculo_bloqueados = tabela_parametros.obter_lista_string(“TIPOS_VINCULO_EXCLUIDOS”) SE tipos_vinculo_bloqueados.contem(colaborador.tipo_vinculo) ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2105 ignorada: Tipo de vínculo ’” + CONVERTER_PARA_TEXTO(colaborador.tipo_vinculo) + ”’ excluído.”) RETORNAR_VALOR(NULO) FIM_SE

2. Determinação dos Componentes de Ajuste (Adições e Subtrações)

Recuperação parametrizada das listas de verbas de adição e subtração lista_cod_somar = tabela_parametros.obter_lista_string(“VERBAS_PROVISAO_SOMAR”) // Padrão: [“2085”, “2583”, “2100”] lista_cod_subtrair = tabela_parametros.obter_lista_string(“VERBAS_PROVISAO_SUBTRAIR”) // Padrão: [“2090”, “2095”, “2683”]

soma_provisoes_positivas = 0.00 PARA CADA cod_verba EM lista_cod_somar FAÇA soma_provisoes_positivas = soma_provisoes_positivas + holerite_atual.recuperar_valor_provisao(cod_verba) FIM_PARA

soma_provisoes_negativas = 0.00 PARA CADA cod_verba EM lista_cod_subtrair FAÇA soma_provisoes_negativas = soma_provisoes_negativas + holerite_atual.recuperar_valor_provisao(cod_verba) FIM_PARA

3. Aplicação da Equação de Ajuste Positivo e Trava de Piso Seguro

resultado_bruto = soma_provisoes_positivas - soma_provisoes_negativas

A verba 2105 só deve ser gerada se o resultado do confronto for estritamente positivo SE resultado_bruto <= 0.00 ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2105 interrompida: Ajuste calculado de PLR/PPR não é positivo (Resultado: R$ ” + CONVERTER_PARA_TEXTO(resultado_bruto) + ”).”) RETORNAR_VALOR(NULO) FIM_SE

valor_final = ARREDONDAR_PADRAO(resultado_bruto)

4. Instanciação e Gravação da Provisão

instancia_provisao = holerite_atual.criar_instancia_provisao(“2105”) instancia_provisao.descricao_final = tabela_parametros.obter_string_default(“TEXTO_DESCRICAO”, “Prov PLR / PPR Ajuste +”) instancia_provisao.quantidade = 0.00 instancia_provisao.valor_integral = valor_final instancia_provisao.valor_total = valor_final

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

memoria_calculo = “Cálculo Dynamic de Ajuste Positivo de Provisão de PLR/PPR” + ” | Verbas Somadas (Acum. + Baixas): R$ ” + CONVERTER_PARA_TEXTO(soma_provisoes_positivas) + ” | Verbas Subtraídas (Mês Ant. + Mês Atual + Receb.): R$ ” + CONVERTER_PARA_TEXTO(soma_provisoes_negativas) + ” | Diferença Positiva Apurada: R$ ” + CONVERTER_PARA_TEXTO(resultado_bruto) + ” | Valor Final Gravado: R$ ” + CONVERTER_PARA_TEXTO(valor_final)

instancia_provisao.memoria_calculo = memoria_calculo holerite_atual.adicionar_verba_provisao(instancia_provisao)

REGISTRAR_LOG_INFORMATIVO(“Verba 2105 concluída com sucesso. Valor Total Ajuste Positivo PLR/PPR: R$ ” + CONVERTER_PARA_TEXTO(valor_final))

RETORNAR_VALOR(instancia_provisao) FIM_FUNCAO


Parametrizações Propostas para Reestruturação

1. REGRAS DE ELEGIBILIDADE E REGIME DE EXECUÇÃO

[X] Habilitar Processamento da Verba 2105

[X] Exigir Flag Ativo de Provisionamento de PLR (VGP_Provisionar_PLR = VERDADEIRO)

[X] Interromper quando houver Transferência para Mês Seguinte (VGP_ProvTransfSaidaMesSeguinte)

Tipos de Vínculo Excluídos do Processamento:

[ ] Estagiário

[ ] Aprendiz

[ ] Trabalhador Autônomo / Diretor Não Empregado

2. COMPOSIÇÃO DINÂMICA DA EQUAÇÃO DE AJUSTE

Verbas de Provisão para Somar (Bases Acumuladas / Baixas Realizadas):

[ 2085, 2583, 2100 ]

Verbas de Provisão para Subtrair (Atuais, Mês Anterior e Recebidas em Transf.):

[ 2090, 2095, 2683 ]

3. DIRETRIZES DE PROTEÇÃO E TRAVAS DE SINAL

[X] Exigir Resultado Bruto Estritamente Positivo (> 0.00)

└─ Ação se Resultado <= 0.00 …: [ Interromper / Retornar Nulo v ]

[X] Aplicar Trava de Piso Seguro (Garantir valor mínimo zero)

4. EXIBIÇÃO, IMPACTOS E ENCARGOS ESOCIAL

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

└─ Descrição Personalizada …: [ Prov PLR / PPR Ajuste + ]

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

  • Empresas com Reconciliação Provisional de PLR/PPR (Regra Padrão): Atendidas perfeitamente pela arquitetura proposta. O motor efetua o confronto matemático entre as verbas de acúmulo e baixa (2085, 2583, 2100) e as verbas de competência/resgate (2090, 2095, 2683), identificando quando há uma necessidade de ajuste positivo de provisão no mês.
  • Empresas sem Variação Positiva no Ajuste: Atendidas com total integridade. Se o saldo do confronto resultar em valor menor ou igual a zero, as travas operacionais cancelam a gravação da verba sem emissão de valores zerados ou inconsistências nos lançamentos contábeis.

Status Documental

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

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