2090 - Prov PLR / PPR Acum. Mês Ant.
⚙️ Metadados
- Código: 2090
- 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: 429
🧮 Regra Geral
-
Lógica de Cálculo:
- A verba inicia recuperando o valor da provisão da verba
2085(Prov PLR / PPR Acum.) do mês anterior, armazenando-o na variávelProv2085Ant. - Para clientes que não são
fundacaocopelousyngentacom, a verba é calculada se oValorTotaldeProv2085Antfor maior que0E (o mês de referência for maior que1OU o cliente fortiautomotive,bundy,hwp, oufroneri). - Se a condição for satisfeita, a
Quantidadee oValorTotalda verba2090são definidos com os respectivos valores da provisão do mês anterior (Prov2085Ant).
- A verba inicia recuperando o valor da provisão da verba
-
Fórmula matemática:
HoleriteProvisao.ValorTotal = Prov2085Ant.ValorTotal
-
Variáveis Utilizadas:
Prov2085Ant: Objeto contendo a provisão da verba2085do mês anterior (quantidade e valor total).Solicitacao.DataReferencia.Month: Mês da data de referência do cálculo.Solicitacao.Cliente.ToLower(): Nome do cliente em minúsculas.
-
Condições Especiais:
- A verba só é calculada se houver um valor de provisão (
Prov2085Ant.ValorTotal > 0M) do mês anterior para a verba2085. - A ativação depende do mês de referência (
Solicitacao.DataReferencia.Month > 1) ou da identificação de clientes específicos (tiautomotive,bundy,hwp,froneri).
- A verba só é calculada se houver um valor de provisão (
🔗 Dependências
- Verbas Relacionadas: Verba
2085(Prov PLR / PPR Acum.). - Tipo de Relação: Dependência. O cálculo da verba
2090depende diretamente do valor provisionado da verba2085no mês anterior.
🧩 Funções
SysFunc_RecuperarProvisaoMesAnterior("2085"): Recupera os dados de provisão (quantidade e valor total) de uma verba específica (2085) referente ao mês anterior ao da solicitação de cálculo.Solicitacao.Cliente.ToLower(): Converte o nome do cliente para minúsculas para comparações case-insensitive.
🎯 Particularidades por Cliente/Setor
👤 Bundy
- Têm a verba calculada mesmo em janeiro (mês 1), desde que haja provisão do mês anterior.
👤 Froneri
- Têm a verba calculada mesmo em janeiro (mês 1), desde que haja provisão do mês anterior.
👤 Fundacaocopel
- Possui uma lógica complexa e exclusiva que verifica a existência de uma folha de rescisão (EnumTipoFolhaBO.Rescisao) no ano anterior e aplica condições específicas para os meses de janeiro, fevereiro e a partir de março, incluindo uma regra especial para os anos de 2025 e 2026 em janeiro.
👤 HWP
- Têm a verba calculada mesmo em janeiro (mês 1), desde que haja provisão do mês anterior.
👤 Syngentacom
- Possui uma lógica exclusiva que calcula a verba se o mês de referência for menor ou igual a 2 (janeiro ou fevereiro), ou se houver provisão do mês anterior.
👤 Tiautomotive
- Têm a verba calculada mesmo em janeiro (mês 1), desde que haja provisão do mês anterior.
💡 Proposta de Novo Cálculo
Fórmula proposta (padronizada):
HoleriteProvisao(2090).Quantidade = HoleriteProvisaoMesAnterior(2085).Quantidade
HoleriteProvisao(2090).ValorTotal = (VGP_ProvTransfSaidaMesSeguinte == FALSO E PodeProcessarMesRef == VERDADEIRO) ? HoleriteProvisaoMesAnterior(2085).ValorTotal : 0
1. Filtros de Elegibilidade e Isenções (Piso Seguro)
SE NOT tabela_parametros.obter_flag(“HABILITAR_VERBA_2090”) ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2090 desabilitada em parâmetros gerais.”) RETORNAR_VALOR(NULO) FIM_SE
Interrompe processamento em caso de flag de transferência de saída para mês seguinte SE holerite_atual.obter_variavel_global(“VGP_ProvTransfSaidaMesSeguinte”) ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2090 interrompida: VGP_ProvTransfSaidaMesSeguinte ativo.”) RETORNAR_VALOR(NULO) FIM_SE
mes_ref = holerite_atual.obter_mes_referencia() ano_ref = holerite_atual.obter_ano_referencia()
2. Determinação de Exceções e Janelas Vigentes por Calendário
permitir_calculo_jan = tabela_parametros.obter_flag(“PERMITIR_PROCESSAMENTO_JANEIRO”) limite_mes_exclusivo = tabela_parametros.obter_inteiro_default(“LIMITE_MES_CALCULOS_ESPECIAIS”, 0)
Avaliação de Regras Especiais de Transição de Rescisão de Exercício SE tabela_parametros.obter_flag(“TRATAR_RESCISAO_EXERCICIO_ANTERIOR”) ENTAO tem_rescisao_ano_ant = colaborador.possui_rescisao_no_ano(ano_ref - 1) SE tem_rescisao_ano_ant E mes_ref == 1 E tabela_parametros.obter_flag(“BLOQUEAR_SE_RESCISAO_ANO_ANTERIOR”) ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2090 desconsiderada: Rescisão identificada no ano anterior para janela restrita.”) RETORNAR_VALOR(NULO) FIM_SE FIM_SE
Validação de Mês de Referência e Exceções Permitidas SE mes_ref == 1 E NOT permitir_calculo_jan E (limite_mes_exclusivo > 0 E mes_ref > limite_mes_exclusivo) ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2090 ignorada: Mês de referência (Janeiro) desabilitado para esta unidade.”) RETORNAR_VALOR(NULO) FIM_SE
3. Recuperação do Histórico de Provisão do Mês Anterior
cod_verba_origem = tabela_parametros.obter_string_default(“VERBA_ORIGEM_PROVISAO_MES_ANT”, “2085”) provisao_anterior = holerite_atual.recuperar_provisao_mes_anterior(cod_verba_origem)
SE provisao_anterior ENULO OU provisao_anterior.valor_total <= 0.00 ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2090 encerrada: Sem histórico válido da verba ” + cod_verba_origem + ” no mês anterior.”) RETORNAR_VALOR(NULO) FIM_SE
qtd_anterior = provisao_anterior.quantidade val_total_anterior = provisao_anterior.valor_total
4. Instanciação e Gravação da Provisão PLR/PPR Acumulada do Mês Anterior
instancia_provisao = holerite_atual.criar_instancia_provisao(“2090”) instancia_provisao.descricao_final = tabela_parametros.obter_string_default(“TEXTO_DESCRICAO”, “Prov PLR / PPR Acum. Mês Ant.”) instancia_provisao.quantidade = qtd_anterior instancia_provisao.valor_integral = val_total_anterior instancia_provisao.valor_total = val_total_anterior
instancia_provisao.incidencia_inss = ENUM_INCIDENCIA.ISENTO instancia_provisao.incidencia_fgts = ENUM_INCIDENCIA.ISENTO instancia_provisao.incidencia_irrf = ENUM_INCIDENCIA.ISENTO
memoria_calculo = “Arrasto de Saldo do Mês Anterior da Verba ” + cod_verba_origem + ” | Quantidade/Avos: ” + CONVERTER_PARA_TEXTO(qtd_anterior) + ” | Valor Acumulado Recuperado: R$ ” + CONVERTER_PARA_TEXTO(val_total_anterior) + ” | Mês Ref: ” + CONVERTER_PARA_TEXTO(mes_ref) + ”/” + CONVERTER_PARA_TEXTO(ano_ref)
instancia_provisao.memoria_calculo = memoria_calculo holerite_atual.adicionar_verba_provisao(instancia_provisao)
REGISTRAR_LOG_INFORMATIVO(“Verba 2090 concluída com sucesso. Valor Saldo Mês Anterior: R$ ” + CONVERTER_PARA_TEXTO(val_total_anterior))
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 2090
[X] Interromper quando houver Transferência para Mês Seguinte (VGP_ProvTransfSaidaMesSeguinte)
Verba Origem de Mês Anterior …: [ 2085 ] (Prov PLR / PPR Acum.)
2. CONTROLE DE CALENDÁRIO E TRATAMENTO DE JANEIRO (MÊS 1)
[X] Permitir Processamento em Janeiro (Mês 1) independente de regra padrão
[ ] Restringir Processamento Apenas aos Mêses Iniciais do Ano
└─ Mês Limite de Execução Exclusiva …: [ 2 ] (1=Jan, 2=Fev, 0=Sem limite)
3. VALIDAÇÃO DE HISTÓRICO DE RESCISÃO DO EXERCÍCIO ANTERIOR
[X] Tratar Exceções de Desligamento do Ano Anterior
[ ] Bloquear se houver Rescisão no Ano Anterior em Folhas Regular/Rescisória
└─ Anos de Restrição Específica …: [ 2025, 2026 ]
4. EXIBIÇÃO, IMPACTOS E ENCARGOS ESOCIAL
Descrição Personalizada …: [ Prov PLR / PPR Acum. Mês Ant. ]
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
- Bundy, Froneri, HWP e TI Automotive: Atendidos pela ativação da flag
Permitir Processamento em Janeiro, garantindo a recuperação e o registro do saldo provisionado da verba 2085 do mês anterior mesmo no primeiro mês do ano. - Fundação Copel: Absorvido pelas chaves
Tratar Exceções de Desligamento do Ano Anteriore pela seleção de exceções para janelas de anos específicos via parâmetros operacionais, eliminando o código hardcoded. - Syngenta: Suportado pela definição do
Mês Limite de Execução Exclusivaconfigurado como mês 2 (fevereiro), assegurando que nos meses iniciais a rotina processe conforme as diretrizes do cliente. - Demais Clientes (Regra Padrão): Atendidos nativamente pela verificação do mês de referência (
Mês > 1), realizando o transporte perfeito do saldo provisionado de 2085 quando existente.
Status Documental
- Status: Documentada
- Origem: export do Notion + catálogo da wiki
- Fonte rastreável:
30dc75ea2e8381dab478c73490a8ae90