Wiki / SuperCalculo ~14 min

890 - Desc. Seguro Vida [BN]

Metadados

  • Código: 890
  • Tipo: Desconto
  • INSS: ISE
  • FGTS: ISE
  • IRRF: ISE
  • Natureza eSocial: 9250 - Seguro de vida - desconto
  • DSR: Não
  • Médias: Não
  • Impacto Financeiro: Sim
  • Impacto Contábil: Sim
  • Sequência: 7513

🧮 Regra Geral

  • Lógica de Cálculo:
    1. A verba verifica se o Empregado possui TipoVinculo igual a Estagiario.
    2. Em paralelo, verifica se o CNPJEmpregador (após remover espaços em branco com Trim()) não começa com a string "2133983100".
    3. Se ambas as condições forem verdadeiras (empregado é estagiário E o CNPJ do empregador não é 2133983100), o cálculo da verba é interrompido (return null;), ou seja, a verba não é gerada.
    4. Caso contrário (se o empregado não for estagiário, OU se for estagiário mas o CNPJ do empregador for 2133983100), a função SysFunc_GeraDescontoBeneficio é chamada, passando o objeto HoleriteVerba para processar e gerar o valor do desconto.
  • Fórmula matemática: Não aplicável diretamente, pois o cálculo é delegado a uma função de sistema (SysFunc_GeraDescontoBeneficio).
  • Variáveis Utilizadas: Empregado.TipoVinculo, EnumTipoVinculoBO.Estagiario, Empregador.CNPJEmpregador, HoleriteVerba.
  • Condições Especiais: A verba não é calculada para empregados com TipoVinculo igual a Estagiario, a menos que o CNPJEmpregador comece com "2133983100".

🧩 Funções

  • SysFunc_GeraDescontoBeneficio(HoleriteVerba): Função de sistema responsável por processar e gerar o valor do desconto de benefício.
  • Trim(): Método de string utilizado para remover espaços em branco do início e fim do CNPJ do empregador.
  • StartsWith("2133983100"): Método de string utilizado para verificar se o CNPJ do empregador começa com um prefixo específico.

🎯 Particularidades por Cliente/Setor

👤 Crasa
  • Validações de Benefício Específicas: Inclui validações para a existência de benefícios de “SEGURO VIDA - TOKIO” e “SEGURO VIDA - ZURICH” a partir de 01/04/2024. Se ausentes para CNPJs específicos (21339831000324, 21339831000405 ou 21339831000162 para estagiários), dispara um erro fatal (SysFunc_Panico).

  • Verificação de Benefício Geral: Realiza uma verificação explícita pela existência de qualquer benefício de “SEGURO VIDA”. Se não encontrado, a verba não é calculada (return null).

  • Lógica de Cálculo do Valor Base (VlrDescontoSeg): Calcula o valor base do desconto (VlrDescontoSeg) como 25M / 1000M do VG_VlrSalNom (Salário Nominal). Para empregados Horistas, utiliza ((VG_VlrSalHora * 220M) * 25M / 1000M).

  • Definição de Tetos e Percentuais: Define tetos de desconto para titular (TetoDescontoTit) em 55.00M (passando para 60.00M a partir de 01/03/2025) e para dependente (TetoDescontoDep) em 80.00M, além de um percentual de parte empresa (PrcParteEmpresa) de 80.00M.

  • Tratamento Específico para Estagiários:

    • Se o vínculo é Estagiário, a verba 890 tem seu ValorTotal zerado (0M).
    • Gera uma verba de informação 1007 - Seguro Vida - Parte Empresa (HoleriteInformacaoBO) para cada benefício de Seguro Vida encontrado no histórico do empregado no mesmo mês/ano.
    • O valor da verba 1007 é customizado: para “ZURICH”, usa beneficio.ValorUnitario; para “TOKIO”, calcula com Func_ArredondamentoPadrao aplicando o TetoDescontoTit, com valores fixos de 60.00M ou 51.25M para datas e CNPJs específicos a partir de 01/05/2025.
    • As incidências da verba 1007 são definidas como ISE (Isento) para INSS, FGTS e IRRF.
  • Lógica Customizada para Consórcios Específicos:

    • Aplica uma lógica de cálculo diferenciada para os CNPJs 21063590000171 (CONSORCIO CRASA - GHELLA - CONSBEM), 30975347000110 (CONSORCIO BINARIO PORTO DE SANTOS), 33632002000152 (CONSORCIO BR 050) e 36532441000181 (CONSORCIO BR-070).
    • Calcula HoleriteVerba.ValorTotal aplicando o VlrDescontoSeg com TetoDescontoTit ou TetoDescontoDep (se houver dependente).
    • Para o CNPJ 21063590000171 (CONSORCIO CRASA - GHELLA - CONSBEM):
      • Define ValorBaseAprendiz (26.58M) e PerceAprendiz (20.00M).
      • Se o vínculo é Aprendiz, calcula a verba 1007 e a verba 890 com base nesses valores.
      • Caso contrário, calcula a verba 1007 como PrcParteEmpresa do HoleriteVerba.ValorTotal e ajusta o HoleriteVerba.ValorTotal deduzindo o valor da parte empresa.
      • A verba 1007 gerada também tem incidências ISE para INSS, FGTS e IRRF.
    • Cria e adiciona um BeneficioVerbaBO e chama SysFunc_Verifica_PlanoC_Beneficio_Verba.
  • Uso da Regra Geral como Fallback: A função SysFunc_GeraDescontoBeneficio(HoleriteVerba) (que constitui a regra geral) é invocada apenas para o CNPJ 21339831000162 (CRASA INFRAESTRUTURA S/A), quando nenhuma das condições específicas anteriores é atendida.

  • Dependências e Geração de Verbas: A regra do CRASA explicitamente gera a verba de informação 1007 - Seguro Vida - Parte Empresa (HoleriteInformacaoBO) em múltiplos cenários (Estagiários, Consórcios específicos). Também cria e adiciona um BeneficioVerbaBO e chama SysFunc_Verifica_PlanoC_Beneficio_Verba para os Consórcios. A regra geral encapsula seu comportamento na função SysFunc_GeraDescontoBeneficio, sem detalhar a geração de outras verbas no código fornecido.

👤 Credinestle
  • Validações Específicas para NESTLE STORES LTDA (CNPJ contendo “3980271200”): Implementa um bloco de validação complexo que verifica:

    • Se o processo não é de Provisões e o tipo de folha não é Rescisão.
    • A existência de múltiplos planos “FUNEPP - SEGURO DE VIDA” para o empregado, disparando SysFunc_Panico se houver mais de um.
    • A ausência de plano “FUNEPP - SEGURO DE VIDA” e da verba 791 (Desc. Previd. Privada Básica), com verificações adicionais sobre lançamentos da verba 882 (complemento 249) e dias de afastamento por auxílio-doença ou acidente de trabalho, podendo retornar nulo ou disparar SysFunc_Panico.
    • A existência simultânea de plano “FUNEPP - SEGURO DE VIDA” e da verba 791, disparando SysFunc_Panico.
  • Definição de Parâmetros de Cálculo: Define valores padrão para ValorCapitalSeguradoMinimo (93913.78M), ValorCapitalSeguradoMaximo (500000.00M) e Taxaseguro (0.02635M), além de PercentualEmpregado (40.0M).

  • Taxa de Seguro Específica para COOP DE ECON E CRED MUTUO DOS FUNC DA NESTLE (CNPJ “62562012000167”): Altera a Taxaseguro para 0.02899M a partir de “01/05/2022” para este empregador específico.

  • Verificação de Benefício de Seguro de Vida: Busca um benefício fornecido cuja descrição contenha “SEGURO VIDA”. Se não encontrado:

    • Para NESTLE STORES LTDA (CNPJ contendo “3980271200”) com data de admissão a partir de “01/06/2023” e não sendo processo de Provisões, dispara SysFunc_Panico.
    • Caso contrário, retorna nulo.
  • Atualização de Limites de Capital Segurado: Sobrescreve os valores padrão de ValorCapitalSeguradoMinimo e ValorCapitalSeguradoMaximo com os limites definidos no beneficiosegurovida encontrado.

  • Cálculo Diferenciado para Estagiários: Se o vínculo for Estagiário, define ValorCapitalSegurado como 10000.00M e Taxaseguro como 0.0239M.

  • Lógica de Cálculo para Não-Estagiários:

    • Calcula Valorbasecalculo somando VG_VlrSalNom com os valores das verbas 95 (Adicional de Tempo Serviço) e 1151 (Gratificação de Função).
    • Define ValorCapitalSegurado como Valorbasecalculo multiplicado por 30.0M, aplicando arredondamento e respeitando os limites mínimo e máximo.
    • Calcula HoleriteVerba.ValorTotal como o ValorCapitalSegurado multiplicado pela Taxaseguro e pelo PercentualEmpregado, com arredondamento e valor negativo.
    • Para empregadores que não são COOP DE ECON E CRED MUTUO DOS FUNC DA NESTLE, cria um BeneficioVerbaBO e adiciona-o à lista de benefícios do holerite, além de chamar SysFunc_Verifica_PlanoC_Beneficio_Verba.
  • Memória de Cálculo: Inclui uma seção detalhada de MemoriaCalculo para registrar os valores intermediários e a lógica do cálculo.

  • Geração de Verbas de Informação: Se HoleriteVerba.ValorTotal for diferente de zero ou o empregado for estagiário, gera as seguintes verbas de informação com incidências isentas (ISE):

    • Verba 1007 - Seguro Vida - Parte Empresa: Calcula o valor da parte da empresa, com percentual de 60% para não-estagiários e 100% para estagiários (ou 100% para COOP DE ECON E CRED MUTUO DOS FUNC DA NESTLE).
    • Verba 5027 - Seguro Vida Cia.: Gerada para não-estagiários, com Quantidade igual ao ValorCapitalSegurado e ValorTotal calculado.
    • Verba 5033 - Seguro Acid. Estagiários: Gerada para estagiários, com Quantidade igual ao ValorCapitalSegurado e ValorTotal calculado.
  • Anulação da Verba 890 para COOP DE ECON E CRED MUTUO DOS FUNC DA NESTLE: Se o empregador for COOP DE ECON E CRED MUTUO DOS FUNC DA NESTLE (CNPJ começando com “6256201200”), a verba 890 (HoleriteVerba) é anulada (null), significando que o desconto direto não é aplicado, mas as verbas de informação são geradas.

  • Dependências: A verba credinestle depende explicitamente de:

    • Verba 791 (Desc. Previd. Privada Básica) para validações.
    • Verba 882 (complemento 249) para validações.
    • VG_VlrSalNom (Valor Salário Nominal).
    • Verba 95 (Adicional de Tempo Serviço).
    • Verba 1151 (Gratificação de Função).
    • Dados do histórico do empregado (ListaBeneficioFornecido, ListaHolerite) e afastamentos (RecuperarDiasAfastamento).
👤 Employer
  • Cálculo de Dias de Maternidade: Inclui um cálculo detalhado dos DiasMaternidade somando dias de afastamento por licença-maternidade de diversos subtipos (LM_INSSNormal, LM_Sequela_Neurologica, LM_CCTACTLiberalidade, LM_Aborto_nao_Criminoso, Antec_Prorrog_por_Atest_Medico).
  • Condição para Geração do Desconto: A verba só é gerada se a soma de VG_DiasPagosEmpregador, VG_DiasTrab, VG_DiasFeriasNoMesReferencia e os DiasMaternidade calculados for maior que zero. A regra geral não possui essa condição explícita para a geração do desconto, apenas a condição inicial de retorno nulo.
👤 Froneri
  • Lógica de Cálculo Detalhada: Implementa uma lógica de cálculo explícita e complexa para o desconto do seguro de vida, em vez de delegar a uma função genérica do sistema (SysFunc_GeraDescontoBeneficio).
  • Variáveis de Configuração: Define variáveis específicas para o cálculo, como ValorCapitalSeguradoMinimo, ValorCapitalSeguradoMaximo, Taxaseguro e PercentualEmpregado.
  • Ajuste de Taxa por Data: A Taxaseguro é ajustada para 0.02664M a partir de 01/11/2022, com uma taxa específica de 0.0263M para estagiários na mesma data.
  • Busca de Benefício: Recupera o benefício de seguro de vida do histórico do empregado (Empregado.Historico.ListaBeneficioFornecido) para obter limites de capital segurado.
  • Exceção por CPF: Inclui uma condição de exceção para o CPF 9706290796, onde o Valorbasecalculo é derivado de VG_VlrSalNom e verbas 1484/1485, e o ValorCapitalSegurado é fixado em 30 vezes o Valorbasecalculo, ignorando limites.
  • Regras Específicas para Estagiários: Para estagiários, o ValorCapitalSegurado é fixado em 10000.00M e a Taxaseguro é definida como 0.0239M (ou 0.0263M após 01/11/2022).
  • Cálculo Principal do Desconto: Para não-estagiários e não-aprendizes (e sem exceção), o Valorbasecalculo é a soma de VG_VlrSalNom com as verbas 1484 e 1485. O ValorCapitalSegurado é 30 vezes o Valorbasecalculo, limitado por ValorCapitalSeguradoMinimo e ValorCapitalSeguradoMaximo. O ValorTotal da verba é calculado com base nesses valores e no PercentualEmpregado.
  • Geração de Verbas de Informação: Gera as verbas de informação 1007 (Seguro Vida - Parte Empresa), 5027 (Seguro Vida Cia.) para não-estagiários, e 5033 (Seguro Acid. Estagiários) para estagiários, com cálculos e percentuais específicos para cada tipo de vínculo e exceção.
  • Tributação das Verbas de Informação Geradas: As verbas de informação geradas (1007, 5027, 5033) são configuradas com incidência ISE (Isento) para INSS, FGTS e IRRF.
  • Memória de Cálculo Detalhada: Inclui uma memória de cálculo explícita com argumentos formatados para detalhar o processo de cálculo do desconto.
  • Dependências de Verbas: A verba depende dos valores das verbas 1484 (Plano Estímulo) e 1485 (Plano Estímulo - Preser) para compor a base de cálculo do capital segurado. A regra geral não especifica dependências diretas no trecho fornecido.
👤 FundacaoCopel
  • Lógica de Cálculo Principal: A regra para fundacaocopel não utiliza a função SysFunc_GeraDescontoBeneficio. Em vez disso, ela processa lançamentos manuais da verba.
  • Validação de Lançamento: A verba é calculada apenas se houver um lançamento existente (Func_ValidarExistenciaLancamento) e com ValorTotal diferente de zero.
  • Verificação de Complemento de Origem: O cálculo é condicionado ao Lancamento.IdComplementoSistemaOrigem ser “12” (Pecúlio Titular) ou “25” (Pecúlio Dependente).
  • Geração de Erro por Complemento Inválido: Se um lançamento for encontrado, mas o IdComplementoSistemaOrigem não for “12” ou “25”, o sistema dispara um erro fatal (SysFunc_Panico).
  • Atribuição Direta do Valor: O ValorTotal da verba é diretamente atribuído ao Lancamento.ValorTotal quando as condições de complemento são atendidas.
  • Memória de Cálculo Detalhada: A verba inclui uma MemoriaCalculo explícita que registra o valor lançado.
  • Código Comentado Inativo: Contém um bloco de código extenso e complexo que está completamente comentado, com uma nota indicando que pode ser removido em 15/05/2025. Este bloco, se ativo, envolveria cálculo de base, teto, percentuais e criação de novas verbas de holerite, o que difere substancialmente da regra geral.
👤 SPSL
  • Lógica de Cálculo Adicional (Comentada): A regra de SPSL contém um bloco de código C# comentado que, se ativado, implementaria uma lógica de cálculo específica para dois tipos de seguro de vida: “BRADESCO VIDA EM GRUPO” e “BRADESCO ACID PESSOAIS”.
    • Este cálculo baseia-se no VG_VlrSalNom (Valor do Salário Nominal) multiplicado por 24, com um teto de 1.500.000,00.
    • Utiliza fatores específicos (FatorGrupo = 0.2515M, FatorPessoais = 0.0604M) para calcular o valor do desconto.
    • Criaria novas instâncias da verba 890 com descrições finais customizadas (“Desc. Seguro Vida [BN] - Grupo” e “Desc. Seguro Vida [BN] - Pessoais”) e IdComplementoSistemaOrigem (129 e 130).
    • Definiria a incidência de INSS, FGTS e IRRF como EnumTipoIncidenciaBO.ISE (Isento) para essas verbas geradas.
    • Variáveis Utilizadas (se ativado): BC_SEGURO, VlrTeto, FatorGrupo, FatorPessoais, VG_VlrSalNom, Empregado.Historico.ListaBeneficioFornecido.
    • Condições Especiais (se ativado): Verifica a existência de benefícios específicos (BRADESCO VIDA EM GRUPO, BRADESCO ACID PESSOAIS) e aplica um teto ao BC_SEGURO.
👤 Tiautomotive
  • Condição para Geração do Desconto: O desconto é gerado apenas se houver algum provento (VG_TemAlgumProvento for verdadeiro) ou se o empregado tiver dias de férias no mês de referência (VG_DiasFeriasNoMesReferencia for maior que zero). Se nenhuma dessas condições for satisfeita, a verba não é calculada.

💡 Proposta de Novo Cálculo

Fórmula proposta (padronizada):

Definição da Base de Cálculo

Se TipoPagamento = Produção: BaseCalculo = Valor(2) + Valor(55)

Se TipoHorista = TRUE: BaseCalculo = VlrSalHora * MultHorista

Se TipoRegular = TRUE: BaseCalculo = CalcularBase(EnumBaseCalculo) + Soma(RubricasAcessórias)

Cálculo do Capital Segurado

Se existir histórico de exceção para o CPF: CapitalSegurado = OverrideCPF

Se o vínculo for Estagiário: CapitalSegurado = CapitalFixoEstagiário

Caso contrário: CapitalCalculado = BaseCalculo * MultApólice

CapitalSegurado = MaiorValor( PisoCap, MenorValor(CapitalCalculado, TetoCap) )

Cálculo do Prêmio Total

PremioTotal = Arredondar( CapitalSegurado * (TaxaApólice / 1000) )

Cálculo da Verba 890

Se Vínculo = Estagiário ou InibeDesconto = TRUE: ValorFinal = 0,00

Caso o faturamento esteja ativo: ValorEmpregado = PremioTotal * (CotaEmpregado / 100)

ValorFinal = Negativo( MenorValor( ValorEmpregado, TetoTitular ) )

Reflexo Patronal - Verba 1007

ValorReflexoPatronal = PremioTotal - ValorAbsoluto(ValorFinal)

Reflexo Companhia / Estagiário - Verbas 5027 e 5033

ValorReflexo = PremioTotal

Quantidade = CapitalSegurado


INÍCIO Processar_Desconto_Seguro_Vida_Core (DadosEmpregado, ParametrosSistema)

1. Verificações Iniciais e Trava de Faturamento (Atende Tiautomotive)

SE Solicitacao.TipoProcesso == TipoProcesso.Provisao ENTÃO RETORNAR null FIM SE

RegraPlano = MóduloBeneficios.RecuperarPlanoSeguroAtivo(DadosEmpregado.Id, CódigoVerba = 890) SE RegraPlano == null ENTÃO RETORNAR null FIM SE

SE RegraPlano.ExigeFaturamentoNoMes == SIM ENTÃO FaturamentoAtivo = (DadosEmpregado.VG_TemAlgumProvento == TRUE OU DadosEmpregado.VG_DiasFeriasNoMesReferencia > 0) SE NÃO FaturamentoAtivo ENTÃO RETORNAR null FIM SE FIM SE

2. Validação Cadastral e Elegibilidade por Vínculo (Substitui Hardcodes AMC e Crasa)

SE MóduloElegibilidade.VerificarCpfSuspensoBeneficio(DadosEmpregado.CPF, Solicitacao.DataReferencia, CódigoVerba = 890) ENTÃO RETORNAR null FIM SE

3. Matriz de Conflito de Benefícios e Previdência (Substitui Regra Co-Dependente Credinestle)

SE RegraPlano.PossuiTravaPrevidenciaPrivada ENTÃO PossuiPrevidencia = MóduloVerbas.ValidarPresencaVerbaNoHoleriteOuLancamento(DadosEmpregado.Id, ListaVerbas = [“791”, “882”]) SE RegraPlano.ExigeAusenciaPrevidencia E PossuiPrevidencia ENTÃO MóduloLog.RegistrarAvisoErro(DadosEmpregado.Id, “Inconsistência Apólice: Conflito detectado entre Seguro de Vida e Previdência Privada.”) RETORNAR null FIM SE FIM SE

4. Validação de Dias Ativos no Período (Atende Regra Licença Maternidade Employer)

DiasMaternidade = 0 SE RegraPlano.ValidaDiasMinimosFaturamento ENTÃO DiasMaternidade = MóduloAfastamentos.SomarDiasAfastamentoPorSubtipos(DadosEmpregado.Id, [“LM_INSSNormal”, “LM_Sequela_Neurologica”, “LM_CCTACTLiberalidade”, “LM_Aborto_nao_Criminoso”, “Antec_Prorrog_por_Atest_Medico”]) DiasEfetivosCalculo = DadosEmpregado.VG_DiasPagosEmpregador + DadosEmpregado.VG_DiasTrab + DadosEmpregado.VG_DiasFeriasNoMesReferencia + DiasMaternidade SE DiasEfetivosCalculo <= 0 ENTÃO RETORNAR null FIM SE FIM SE

5. Override de Lançamento Manual / Pecúlio via Sistema de Origem (Atende FundacaoCopel)

SE RegraPlano.CalculoExclusivoViaLancamento ENTÃO LancamentoManual = MóduloLancamentos.BuscarLancamentoAtivo(DadosEmpregado.Id, CódigoVerba = 890) SE LancamentoManual != null ENTÃO SE RegraPlano.ValidarComplementoOrigem(LancamentoManual.IdComplementoSistemaOrigem, ListaValidos = [“12”, “25”]) ENTÃO NovaVerbaSeguro = MóduloVerbas.CriarNovaVerbaInstancia(Código = 890) NovaVerbaSeguro.ValorTotal = Negativo(Func_ArredondamentoPadrao(LancamentoManual.ValorTotal)) MóduloVerbas.AdicionarAoHoleriteAtual(DadosEmpregado.Id, NovaVerbaSeguro) MóduloLog.RegistrarAuditoria(DadosEmpregado.Id, “Desconto de Seguro/Pecúlio importado diretamente via lançamento.”) SENÃO MóduloLog.RegistrarAvisoErro(DadosEmpregado.Id, “Falha de Integração Pecúlio: ID de Origem Inválido.”) FIM SE FIM SE RETORNAR null FIM SE

6. Construção da Base de Cálculo do Prêmio (Composição Dinâmica - Atende Credinestle, Froneri e Crasa)

BasePremioApurada = 0.00 SE DadosEmpregado.TipoPagamento == TipoPagamento.Producao ENTÃO BasePremioApurada = MóduloVerbas.RecuperarValorTotalVerba(DadosEmpregado.Id, “2”) + MóduloVerbas.RecuperarValorTotalVerba(DadosEmpregado.Id, “55”) SENÃO SE DadosEmpregado.TipoHorista == TRUE ENTÃO BasePremioApurada = (DadosEmpregado.VG_VlrSalHora * RegraPlano.MultiplicadorHoristaPadrao) SENÃO BasePremioApurada = MóduloBases.BuscarBaseConfigurada(DadosEmpregado.Id, RegraPlano.EnumBaseCalculo) FIM SE

// Incorporação de Verbas Acessórias Parametrizadas (ATS, Gratificações, Planos Estímulo) BasePremioApurada = BasePremioApurada + MóduloVerbas.SomarRubricasConfiguradasNoPlano(DadosEmpregado.Id, RegraPlano.ListaRubricasAcessorias)

7. Apuração do Capital Segurado Contratual (Atende Limites e Exceções por CPF)

CapitalSegurado = 0.00 SE MóduloElegibilidade.PossuiOverrideCapitalFixo(DadosEmpregado.Id, Solicitacao.DataReferencia) ENTÃO CapitalSegurado = MóduloElegibilidade.BuscarOverrideCapitalFixo(DadosEmpregado.Id) SENÃO SE DadosEmpregado.TipoVinculo == Categoria.Estagiario ENTÃO CapitalSegurado = RegraPlano.CapitalSeguradoFixoEstagiario SENÃO CapitalSeguradoCalculado = BasePremioApurada * RegraPlano.MultiplicadorApolic CapitalSegurado = Maximo(Minimo(CapitalSeguradoCalculado, RegraPlano.TetoCapitalSegurado), RegraPlano.PisoCapitalSegurado) FIM SE

8. Cálculo de Custos Atuariais (Prêmio Total)

TaxaAplicada = (DadosEmpregado.TipoVinculo == Categoria.Estagiario) ? RegraPlano.TaxaSeguroEstagiario : RegraPlano.TaxaSeguroPadrao PremioTotalApolice = Func_ArredondamentoPadrao(CapitalSegurado * (TaxaAplicada / 1000.00))

9. Distribuição de Cotas de Custeio e Aplicação de Tetos Individuais

ValorDescontoEmpregado = PremioTotalApolice * (RegraPlano.PercentualCotaEmpregado / 100.00) ValorDescontoFinal = Minimo(ValorDescontoEmpregado, RegraPlano.TetoDescontoTitular)

// Zeramento de desconto em folha para categorias isentas com repasse integral (Atende Estagiários Crasa/Nestle e Cooperativa) SE DadosEmpregado.TipoVinculo == Categoria.Estagiario OU RegraPlano.InibeDescontoEmpregado == TRUE ENTÃO ValorDescontoFinal = 0.00 FIM SE

10. Gravação da Rubrica de Desconto do Funcionário (Verba 890)

SE ValorDescontoFinal > 0.00 ENTÃO NovaVerbaDesconto = MóduloVerbas.CriarNovaVerbaInstancia(Código = 890) NovaVerbaDesconto.ValorTotal = Negativo(Func_ArredondamentoPadrao(ValorDescontoFinal)) NovaVerbaDesconto.Quantidade = CapitalSegurado MóduloVerbas.AdicionarAoHoleriteAtual(DadosEmpregado.Id, NovaVerbaDesconto) FIM SE

11. Emissão Assíncrona de Rubricas Informativas / Custo Empresa (Substitui Criações Diretas no Código)

// Registro em fila de eventos para processamento de reflexos pós-cálculo CotaPatronal = PremioTotalApolice - ValorDescontoFinal SE DadosEmpregado.TipoVinculo == Categoria.Estagiario ENTÃO CotaPatronal = PremioTotalApolice // Custos de estagiário são assumidos integralmente pela empresa FIM SE

MóduloEventos.RegistrarGatilhoReflexo(CódigoOrigem = 890, CódigoDestino = 1007, Valor = CotaPatronal, Quantidade = 0)

SE DadosEmpregado.TipoVinculo == Categoria.Estagiario ENTÃO MóduloEventos.RegistrarGatilhoReflexo(CódigoOrigem = 890, CódigoDestino = 5033, Valor = PremioTotalApolice, Quantidade = CapitalSegurado) SENÃO MóduloEventos.RegistrarGatilhoReflexo(CódigoOrigem = 890, CódigoDestino = 5027, Valor = PremioTotalApolice, Quantidade = CapitalSegurado) FIM SE

RETORNAR null FIM


Impactos

  • Separação Limpa de Responsabilidades: Isolamento total do cálculo do desconto da verba 890 frente à criação das rubricas informativas contábeis (1007, 5027, 5033), eliminando loops de concorrência.
  • Extinção de Hardcodes de CPFs e CNPJs: Exceções salariais de funcionários individuais passam a ser tratadas via preenchimento do campo de “Override de Capital Segurado” em sua respectiva ficha de benefícios.

Benefícios

  • Sustentabilidade Operacional: Alterações em apólices de seguros, reajustes anuais de taxas de sinistralidade corporativas ou alterações de seguradoras (Tokio, Zurich, Bradesco) passam a ser realizadas em tela pelo usuário, sem necessidade de deploy de código.
  • Log de Cálculo Auditável: Substituição de travamentos (SysFunc_Panico) por mensagens informativas detalhadas no painel de avisos do processamento de folha.

Parametrizações Propostas para Reestruturação

  • Painel de Regras Gerais da Apólice e Custos:

    • Campos decimais: Taxa da Apólice (por Milhar) | Multiplicador Salarial do Capital Segurado | Piso de Capital Segurado | Teto de Capital Segurado.
    • Divisão de Custeio: Percentual Cota Empregado (%) e Percentual Cota Empresa (%).
    • Parâmetros de Limitação de Desconto: Valor Teto Titular e Valor Teto Dependente.
  • Matriz de Elegibilidade, Isenções e Condicionantes:

    • Grade de Vínculos Isentos: [X] Estagiário (Desconto do empregado zerado, custo 100% empresa).
    • Filtro de Ativação por Proventos: [X] Exigir presença de proventos ou dias de férias no mês para execução (Atende à Tiautomotive).
    • Validador Maternidade: [X] Considerar dias de licença-maternidade como tempo de faturamento ativo (Atende à Employer).
      • Painel de Incompatibilidade e Conflito de Benefícios (Substitui a regra Nestle):
    • Campo de Bloqueio Dinâmico: Não calcular este plano se o contrato possuir a Verba [791] ou lançamento de controle [882 - Compl 249].
  • Gatilhos de Emissão de Rubricas Informativas (Reflexos):

    • Grid de Configuração:
      • Ao calcular este benefício: Gerar Rubrica Informativa [1007] para a parcela de Custo Empresa.
      • Ao calcular este benefício: Gerar Rubrica Informativa [5027 / 5033] enviando o Capital Segurado no campo Quantidade.

Clientes com mesma regra

  • Credinestle e Froneri: Utilizam a exata modelagem atuarial baseada em múltiplos lineares de salário composto (Salário + Adicionais), limitados por tetos/pisos de capital e divisão proporcional de custeio entre empresa e funcionário.
  • Crasa e SPSL: Baseiam-se na aplicação direta de uma alíquota/fator sobre a base de remuneração vinculada a faixas rígidas de tetos de desconto para titulares e dependentes com repasse de custo empresa fixado em valor ou percentual.

Status Documental

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

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