Wiki / SuperCalculo ~2 min

887 - Desc. Previd. Privada PGBL [BN]

Metadados

  • Código: 887
  • Tipo: Desconto
  • INSS: ISE
  • FGTS: ISE
  • IRRF: ISE
  • Natureza eSocial: 9223 - Previdência complementar - parte do empregado
  • DSR: Não
  • Médias: Não
  • Impacto Financeiro: Sim
  • Impacto Contábil: Sim
  • Sequência: 735

🧮 Regra Geral

  • Chama a função SysFunc_GeraDescontoBeneficio(HoleriteVerba), que é responsável por calcular e atribuir o valor do desconto de benefício à verba.

  • Variáveis Utilizadas: `

    • Solicitacao.Cliente
    • Lancamento.Percentual
    • VG_VlrSalNom
    • HoleriteVerba.ValorTotal
    • Empregado.Historico.ListaBeneficioFornecido
    • beneficioPPPGBL.PercentualDesconto
    • BC_PP_PGBL.
  • Condições Especiais:

    • if (Solicitacao.Cliente.ToLower() == "salesforce"): Ativa a lógica específica para Salesforce.
    • if (Func_ValidarExistenciaLancamento(Lancamento) == true && Lancamento.Percentual > 0M): Condição para cálculo em Salesforce.
    • else if (Solicitacao.Cliente.ToLower() == "ccab" || Solicitacao.Cliente.ToLower() == "liugong"): Ativa a lógica específica para CCAB e Liugong.
    • if (beneficioPPPGBL != null): Condição para cálculo em CCAB/Liugong, exige benefício configurado.
    • if (Solicitacao.Cliente.ToLower() == "ccab" && HV887.ValorTotal != 0): Condição para gerar a verba de custo empresa (1743) apenas para CCAB.
  • Funções Identificadas:

    • SysFunc_GeraDescontoBeneficio(HoleriteVerba): Função de sistema que automatiza a geração de descontos de benefícios, buscando as configurações de benefício do empregado.

🔔 Eventos/Gatilhos

  • Quando a verba é calculada:
    • Automaticamente, durante o cálculo da folha regular (IdProcesso = 1).
    • Para Salesforce: quando há um lançamento manual com percentual > 0.
    • Para CCAB/Liugong: quando há um benefício de “Previdência Privada PGBL - Básica” configurado para o empregado.
    • Para outros clientes: quando a função SysFunc_GeraDescontoBeneficio é acionada, presumivelmente por um benefício configurado.

🔗 Dependências

  • Verbas Relacionadas:
    • Verba 1743: “Previd. Privada PGBL Custo Empresa [BN]” (gerada para o cliente CCAB).
  • Tipo de Relação:
    • A verba 1743 é gerada pela verba 887, especificamente para o cliente CCAB, e seu valor depende do ValorTotal da verba 887.
    • A verba 887 depende de Lancamento (para Salesforce) ou de BeneficioFornecidoBO (para CCAB/Liugong e outros clientes via SysFunc_GeraDescontoBeneficio).

🧩 Funções

  • Func_ValidarExistenciaLancamento(Lancamento): Verifica se um lançamento existe.
  • Negativo(decimal valor): Retorna o valor negativo.
  • Func_ArredondamentoPadrao(decimal valor): Arredonda o valor para o padrão do sistema.
  • Argumento(string valor): Utilizada para registrar argumentos na memória de cálculo.
  • EscreverMemoria(string tipo, string template): Gera a string da memória de cálculo.
  • CriarVerbaHoleriteVerbaBO(string codVerba, string descricao): Cria um objeto de verba de holerite.
  • CriarVerbaHoleriteInformacaoBO(string codVerba, string descricao): Cria um objeto de verba de informação de holerite.
  • Positivo(decimal valor): Retorna o valor positivo.
  • SysFunc_GeraDescontoBeneficio(HoleriteVerba): Função de sistema que calcula e atribui o valor de um desconto de benefício.

🎯 Particularidades por Cliente/Setor

👤 CCAB
  • Define BC_PP_PGBL como o VG_VlrSalNom.
  • Busca no histórico do empregado um benefício com a descrição “PREVIDÊNCIA PRIVADA PGBL - BÁSICA”.
  • Se o benefício for encontrado:
    • Cria uma nova verba de holerite (887) e atribui a descrição final, o percentual de desconto do benefício (beneficioPPPGBL.PercentualDesconto) e o ValorTotal.
    • O ValorTotal é calculado como a base de cálculo (BC_PP_PGBL) multiplicada pelo percentual de desconto do benefício, dividido por 100, arredondado e tornado negativo.
    • Fórmula matemática: HoleriteVerba.ValorTotal = -1 * Func_ArredondamentoPadrao(BC_PP_PGBL * beneficioPPPGBL.PercentualDesconto / 100.00M)
    • As incidências de INSS, FGTS e IRRF para esta verba são definidas como Isentas (EnumTipoIncidenciaBO.ISE).
    • A verba é adicionada à lista de verbas do holerite.
    • Para Cliente “ccab” (e não “liugong”) e se o ValorTotal da verba 887 não for zero:
      • Cria uma verba de informação (1743) “Previd. Privada PGBL Custo Empresa [BN]”.
      • O ValorTotal desta verba é o valor da verba 887 multiplicado por 2, arredondado e tornado positivo.
      • Fórmula matemática: HoleriteInformacaoBO.ValorTotal = Func_ArredondamentoPadrao(HoleriteVerba.ValorTotal * 2M)
      • As incidências de INSS, FGTS e IRRF para esta verba de informação também são definidas como Isentas (EnumTipoIncidenciaBO.ISE).
      • Esta verba de informação é adicionada à lista de informações do holerite.
👤 Jmalucelli
  • Condição de Ativação Inicial: A verba para jmalucelli é calculada apenas se houver algum provento (VG_TemAlgumProvento == true). Na regra geral, a lógica é mais complexa, com blocos específicos para “salesforce”, “ccab” e “liugong” antes de um fallback para SysFunc_GeraDescontoBeneficio.
  • Lógica de Cálculo Simplificada: Para jmalucelli, a verba sempre utiliza a função SysFunc_GeraDescontoBeneficio(HoleriteVerba) para determinar o desconto, desde que a condição inicial seja atendida.
👤 Liugong
  • Define BC_PP_PGBL como o VG_VlrSalNom.
  • Busca no histórico do empregado um benefício com a descrição “PREVIDÊNCIA PRIVADA PGBL - BÁSICA”.
  • Se o benefício for encontrado:
    • Cria uma nova verba de holerite (887) e atribui a descrição final, o percentual de desconto do benefício (beneficioPPPGBL.PercentualDesconto) e o ValorTotal.
    • O ValorTotal é calculado como a base de cálculo (BC_PP_PGBL) multiplicada pelo percentual de desconto do benefício, dividido por 100, arredondado e tornado negativo.
    • Fórmula matemática: HoleriteVerba.ValorTotal = -1 * Func_ArredondamentoPadrao(BC_PP_PGBL * beneficioPPPGBL.PercentualDesconto / 100.00M)
    • As incidências de INSS, FGTS e IRRF para esta verba são definidas como Isentas (EnumTipoIncidenciaBO.ISE).
    • A verba é adicionada à lista de verbas do holerite.
    • Para Cliente “ccab” (e não “liugong”) e se o ValorTotal da verba 887 não for zero:
      • Cria uma verba de informação (1743) “Previd. Privada PGBL Custo Empresa [BN]”.
      • O ValorTotal desta verba é o valor da verba 887 multiplicado por 2, arredondado e tornado positivo.
      • Fórmula matemática: HoleriteInformacaoBO.ValorTotal = Func_ArredondamentoPadrao(HoleriteVerba.ValorTotal * 2M)
      • As incidências de INSS, FGTS e IRRF para esta verba de informação também são definidas como Isentas (EnumTipoIncidenciaBO.ISE).
      • Esta verba de informação é adicionada à lista de informações do holerite.
👤 Salesforce
  • Verifica se existe um lançamento (Func_ValidarExistenciaLancamento) e se o percentual lançado (Lancamento.Percentual) é maior que zero.
  • Se sim, o ValorTotal da verba é calculado como o salário nominal (VG_VlrSalNom) multiplicado pelo percentual lançado, dividido por 100, e o resultado é arredondado (Func_ArredondamentoPadrao) e tornado negativo (Negativo).
  • Fórmula matemática: HoleriteVerba.ValorTotal = -1 * Func_ArredondamentoPadrao(VG_VlrSalNom * Lancamento.Percentual / 100M)
  • É gerada uma memória de cálculo detalhando os valores.

💡 Proposta de Novo Cálculo

Fórmula proposta (padronizada):

ValorTotal = -1 x Func_ArredondamentoPadrao(VG_VlrSalNom x PercentualDesconto/100)


1. Filtros de Elegibilidade e Validação de Proventos (Piso Seguro - Atende: Jmalucelli)

SE ObterParametroContrato(ExigirProventosAtivosParaPrevidencia) = true E VG_TemAlgumProvento = false ENTÃO null SENÃO

2. Determinação da Origem dos Dados (Fallback Seguro - Atende: Salesforce, CCAB, Liugong, Syngenta)

PercentualDesconto = 0 BC_Previdencia = VG_VlrSalNom

SE Func_ValidarExistenciaLancamento(Lancamento) = true E Lancamento.Percentual > 0 ENTÃO PercentualDesconto = Lancamento.Percentual SENÃO BeneficioAtivo = BuscarBeneficioFornecido(Subtipo: “PREVIDÊNCIA PRIVADA PGBL - BÁSICA”) SE BeneficioAtivo <> null ENTÃO PercentualDesconto = BeneficioAtivo.PercentualDesconto

3. Execução do Cálculo e Validação de Saldo

SE PercentualDesconto <= 0 ENTÃO null SENÃO ValorDesconto = BC_Previdencia * (PercentualDesconto / 100)

// Gravação dos Campos e Registro na Memória de Cálculo EfetuarGravacaoCampos(Quantidade = BC_Previdencia, Percentual = PercentualDesconto, ValorReferencia = ValorDesconto) EscreverMemoria(“Cálculo de Previdência PGBL [BN]”, “Base: ” + BC_Previdencia + ” | Percentual: ” + PercentualDesconto)

4. Gatilho Paramétrico para Custo Empresa / Match Dinâmico (Substitui Hardcode CCAB)

SE ObterParametroContrato(GerarContrapartidaPatronalPGBL_BN) = true ENTÃO FatorMatch = ObterParametroContrato(FatorMultiplicadorCustoPatronalPGBL) // Ex: 1.0 (100%), 2.0 (200%), etc. GarantirGeracaoVerbaInformacao(Codigo: “1743”, Valor = ValorDesconto * FatorMatch)

-1 * Func_ArredondamentoPadrao(ValorDesconto)


Impactos

  • Flexibilização do Custo Empresa (Match): A contrapartida patronal deixa de ser engessada em 200%, permitindo que o usuário altere o multiplicador da verba 1743 para qualquer proporção configurada no contrato.
  • Padronização de Logs e Rastreabilidade: Todos os clientes passam a herdar a gravação detalhada da memória de cálculo no holerite, eliminando as diferenças de comportamento entre as marcas.

Benefícios

  • Portabilidade do Motor de Cálculo: Permite a entrada de novos clientes na modalidade de Previdência PGBL com ou sem contrapartida corporativa imediatamente, sem necessidade de novas linhas de código.
  • Segurança na Folha de Rescisão e Férias: O parâmetro de validação de proventos ativos (VG_TemAlgumProvento) passa a ser opcional e configurável, evitando que meses de afastamento ou licenças gerem descontos indevidos.

Parametrizações Propostas para Reestruturação

1. Regras de Ativação e Proteção de Saldo (Substituição de Jmalucelli):

[x] Exigir a existência de ao menos um Provento Ativo no holerite para processar o desconto

(Evita saldos negativos em meses de afastamento integral ou suspensão de contrato)

2. Configuração de Contrapartida Patronal / Match Dinâmico (Substituição de Hardcode CCAB):

[x] Ativar geração automática da rubrica de Custo Empresa [ 1743 - Previd. Privada PGBL Custo Empresa [BN] ]

Fator Multiplicador do Custo Empresa (Match da Patrocinadora):

( ) 1.00 (Custo idêntico ao desconto do trabalhador - 100%)

(x) 2.00 (Dobro do valor descontado do trabalhador - 200% - Padrão CCAB)

( ) Outro Fator: [ ____ ]

3. Prioridade de Captura e Logs (Substituição de Salesforce, Liugong e Syngenta):

[x] Gravar argumentos e base de cálculo (Salário Nominal) na Memória do Holerite

(x) Priorizar Lançamento Manual e utilizar Módulo de Benefícios como Fallback

4. Regulação Cadastral de Encargos (eSocial):

Natureza da Rubrica Homologada: [ 9223 - Previdência complementar - parte do empregado ]

[x] INSS: ISE (Isento) [x] FGTS: ISE (Isento) [x] IRRF: ISE (Isento)

Clientes com mesma regra

  • CCAB e Liugong: Totalmente unificados. O motor realiza a busca pelo benefício básico de PGBL e aplica o desconto sobre o Salário Nominal. Para a CCAB, a geração da verba 1743 com o dobro do valor é preservada por meio da flag de Match parametrizada em $2.0$.
  • Salesforce e Syngenta: Plenamente integrados. O fluxo unificado intercepta os lançamentos em percentual enviados em lote e efetua o cálculo direto, registrando a memória de cálculo padrão para fins de conferência técnica.
  • Jmalucelli: Perfeitamente assistido através da nova flag de segurança que condiciona a execução da previdência à existência de proventos ativos no mês de referência.

Status Documental

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

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