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:
- A verba não é calculada (
return null) se a variável de controleVGP_ProvTransfSaidaMesSeguintefortrue. - O valor do ajuste (
VlrAjuste) é calculado somando os valores de provisão das verbas2085(PLR/PPR Acum.),2583(Baixa Transf. PLR/PPR Acum.) e2100(Baixa PLR/PPR). - 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) e2683(Receb. Transf. PLR/PPR Acum.). - Se o
VlrAjusteresultante for maior que zero, ele é arredondado (Func_ArredondamentoPadrao), garantido como positivo (Positivo) e atribuído como o valor total da provisão (HoleriteProvisao.ValorTotal).
- A verba não é calculada (
-
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