Wiki / SuperCalculo ~17 min

637 - Desc. Pensão Aliment. Férias Inden.

⚙️ Metadados

  • Código: 637
  • Tipo: Desconto
  • INSS: ISE
  • FGTS: ISE
  • IRRF: ISE
  • Natureza eSocial: 9213 - Pensão alimentícia
  • DSR: Não
  • Médias: Não
  • Impacto Financeiro: Sim
  • Impacto Contábil: Sim
  • Sequência: 4796

🧮 Regra Geral

Lógica de Cálculo:

  1. A verba não é calculada para processos de Provisões (Solicitacao.TipoProcesso == EnumTipoProcessoBO.Provisoes).

  2. Verifica se há um lançamento manual (Func_ValidarExistenciaLancamento) com valor diferente de zero. Se sim, valida a existência de pensionistas. Se não houver pensionista, dispara um erro (SysFunc_Panico). Caso contrário, retorna o HoleriteVerba existente.

  3. Se não houver lançamento manual, o sistema itera sobre cada pensionista (objPensionista) do empregado e suas regras de pensão (objRegraPensao) que se aplicam a FolhaRescisao e a RemFeriasVencProp ou RemFeriasRefAPI.

  4. Dentro do loop, verifica se o TipoFolha é Rescisao. Se a regra de pensão não se aplica a férias vencidas/proporcionais ou API (objRegraPensao.RemFeriasVencProp == false && objRegraPensao.RemFeriasRefAPI == false), a iteração continua para a próxima regra.

  5. Calcula a quantidade de dias de férias indenizadas, somando dias de períodos vencidos (VG_ListaPeriodosVencidos), dias de férias proporcionais/indenizadas (VG_DiasFeriasPropInd520) e, se aplicável, dias de férias referente a API (VG_DiasFeriasReferenteAPI). A variável resultante é QtdDiasFeriasInden_Venc_Prop_AvosAPI.

  6. O cálculo do ValorPensao varia conforme o TipoCalculoPensao configurado para a regra da pensão:

    • Valor Fixo (EnumTipoCalculoPensaoBO.VlrFixo): Se não for RescisaoComplementar, o valor é calculado proporcionalmente aos dias de férias indenizadas. ValorPensao = objRegraPensao.VlrRegra / 30 * QtdDiasFeriasInden_Venc_Prop_AvosAPI.

    • Quantidade de Salário Mínimo (EnumTipoCalculoPensaoBO.QtdeSalarioMinimo): Se não for RescisaoComplementar, o valor é calculado com base na quantidade de salários mínimos e dias de férias indenizadas. ValorPensao = (objRegraPensao.QtdRegra * VG_VlrSalMin) / 30M * QtdDiasFeriasInden_Venc_Prop_AvosAPI.

    • Percentual do Salário Mínimo (EnumTipoCalculoPensaoBO.PrcSalarioMinimo): Se não for RescisaoComplementar, o valor é calculado como um percentual do salário mínimo, proporcional aos dias de férias indenizadas. ValorPensao = (VG_VlrSalMin * objRegraPensao.PrcRegra / 100M) / 30M * QtdDiasFeriasInden_Venc_Prop_AvosAPI.

    • Percentual do Salário Nominal (EnumTipoCalculoPensaoBO.PrcSalarioNominal): Se for RescisaoComplementar, dispara um erro. Caso contrário, o valor é calculado como um percentual do salário nominal, proporcional aos dias de férias indenizadas. ValorPensao = ((objRegraPensao.PrcRegra * VG_VlrSalNom) / 100M) / 30M * QtdDiasFeriasInden_Venc_Prop_AvosAPI.

    • Percentual do Salário Líquido (EnumTipoCalculoPensaoBO.PrcSalarioLiquido): Se for RescisaoComplementar e houver valor na verba 600, dispara um erro. Caso contrário, calcula uma base de cálculo (BCPAlimFeInden) somando diversas verbas de provento (515, 580, 582, 520, 575, 585, 370, 372, 374) e subtraindo valores de outras verbas de origem específicas. ValorPensao = BCPAlimFeInden * objRegraPensao.PrcRegra / 100M.

    • Nenhum (EnumTipoCalculoPensaoBO.None): Dispara um erro.

  7. Se a regra de pensão RemTercoFeriasVencProp for verdadeira, adiciona 1/3 do ValorPensao ao ValorPensao e arredonda.

  8. O ValorPensao é arredondado (Func_ArredondamentoPadrao).

  9. Cria uma nova verba de holerite (NovaPensao) com o código e descrição da verba 637.

  10. Se houver DesProcesso na regra de pensão, a descrição final da nova verba é concatenada.

  11. Define o percentual ou quantidade da nova verba com base na regra de pensão.

  12. O ValorTotal da NovaPensao é definido como o ValorPensao arredondado e negativo (Negativo).

  13. Se o ValorTotal for zero, a iteração continua para a próxima regra.

  14. As incidências de INSS, FGTS e IRRF da NovaPensao são herdadas da verba original.

  15. A NovaPensao é adicionada à lista de verbas do holerite (Holerite.ListaHoleriteVerba) e a função func_InserirPensaoVerba é chamada.

  16. Se o TipoFolha for RescisaoComplementar, cria uma nova verba de holerite.

  • Fórmula matemática:

    • QtdDiasFeriasInden_Venc_Prop_AvosAPI = VG_ListaPeriodosVencidos.Sum(p => p.DiasPendentes) + VG_DiasFeriasPropInd520 + (objRegraPensao.RemFeriasRefAPI ? VG_DiasFeriasReferenteAPI : 0M)
    • ValorPensao (VlrFixo) = objRegraPensao.VlrRegra / 30 * QtdDiasFeriasInden_Venc_Prop_AvosAPI
    • ValorPensao (QtdeSalarioMinimo) = (objRegraPensao.QtdRegra * VG_VlrSalMin) / 30M * QtdDiasFeriasInden_Venc_Prop_AvosAPI
    • ValorPensao (PrcSalarioMinimo) = (VG_VlrSalMin * objRegraPensao.PrcRegra / 100M) / 30M * QtdDiasFeriasInden_Venc_Prop_AvosAPI
    • ValorPensao (PrcSalarioNominal) = ((objRegraPensao.PrcRegra * VG_VlrSalNom) / 100M) / 30M * QtdDiasFeriasInden_Venc_Prop_AvosAPI
    • ValorPensao (PrcSalarioLiquido) = BCPAlimFeInden * objRegraPensao.PrcRegra / 100M
    • ValorPensao (com 1/3) = ValorPensao + Func_ArredondamentoPadrao(ValorPensao / 3M)
  • Variáveis Utilizadas:

    • Solicitacao.TipoProcesso: Tipo de processo de cálculo (ex: Provisões).
    • Lancamento: Objeto de lançamento manual da verba.
    • Lancamento.ValorTotal: Valor do lançamento manual.
    • Empregado.Historico.ListaPensionista: Lista de pensionistas do empregado.
    • objPensionista: Objeto de um pensionista específico.
    • objRegraPensao: Objeto de uma regra de pensão específica.
    • objRegraPensao.FolhaRescisao: Indica se a regra se aplica à folha de rescisão.
    • objRegraPensao.RemFeriasVencProp: Indica se a regra se aplica a férias vencidas/proporcionais.
    • objRegraPensao.RemFeriasRefAPI: Indica se a regra se aplica a férias referente a API.
    • Solicitacao.TipoFolha: Tipo de folha de pagamento (ex: Rescisão, RescisãoComplementar).
    • VG_ListaPeriodosVencidos: Lista de períodos vencidos do empregado.
    • VG_DiasFeriasPropInd520: Dias de férias proporcionais indenizadas (verba 520).
    • VG_DiasFeriasReferenteAPI: Dias de férias referente a API.
    • objRegraPensao.TipoCalculoPensao: Tipo de cálculo da pensão (VlrFixo, QtdeSalarioMinimo, PrcSalarioMinimo, PrcSalarioNominal, PrcSalarioLiquido).
    • objRegraPensao.VlrRegra: Valor fixo da regra de pensão.
    • objRegraPensao.QtdRegra: Quantidade da regra de pensão (para salário mínimo).
    • VG_VlrSalMin: Valor do salário mínimo.
    • objRegraPensao.PrcRegra: Percentual da regra de pensão.
    • VG_VlrSalNom: Valor do salário nominal.
    • Empregado.CPF: CPF do empregado.
    • Solicitacao.Cliente: Nome do cliente.
    • objRegraPensao.RemTercoFeriasVencProp: Indica se a regra inclui 1/3 de férias vencidas/proporcionais.
    • Empregador.CNPJEmpregador: CNPJ do empregador.
    • HoleriteVerba: Objeto da verba no holerite.
    • Holerite.ListaHoleriteVerba: Lista de verbas do holerite.
    • codigo, descricao: Código e descrição da verba.
  • Condições Especiais:

    • if (Solicitacao.TipoProcesso == EnumTipoProcessoBO.Provisoes): Exclui cálculo para provisões.
    • if (Func_ValidarExistenciaLancamento(Lancamento) == true && Lancamento.ValorTotal != 0M): Trata lançamentos manuais.
    • if ((int)Empregado.Historico.ListaPensionista.Count == 0): Valida a existência de pensionistas para lançamentos manuais.
    • foreach (PensionistaBO objPensionista in Empregado.Historico.ListaPensionista): Itera sobre pensionistas.
    • foreach (RegraPensaoBO objRegraPensao in objPensionista.ListaRegraPensao.Where(r => r.FolhaRescisao == true && (r.RemFeriasVencProp == true || r.RemFeriasRefAPI == true))): Filtra regras de pensão aplicáveis.
    • if (Solicitacao.TipoFolha == EnumTipoFolhaBO.Rescisao && objRegraPensao.FolhaRescisao): Condição para cálculo em rescisão.
    • if (objRegraPensao.RemFeriasVencProp == false && objRegraPensao.RemFeriasRefAPI == false): Condição para pular regras não aplicáveis.
    • switch (objRegraPensao.TipoCalculoPensao): Seleciona a lógica de cálculo conforme o tipo de pensão.
    • if (Solicitacao.TipoFolha == EnumTipoFolhaBO.RescisaoComplementar): Condições para pular cálculo em rescisão complementar para alguns tipos de pensão ou aplicar valores fixos.
    • if (objRegraPensao.RemTercoFeriasVencProp == true): Adiciona 1/3 de férias se configurado.
    • if (NovaPensao.ValorTotal == 0M) continue;: Pula a adição da verba se o valor for zero.
    • Diversas condições hardcoded baseadas em Empregado.CPF, Solicitacao.Cliente e Empregador.CNPJEmpregador para ajustar a base de cálculo ou o valor final da pensão.

🔔 Eventos/Gatilhos

  • Quando a verba é calculada:
    • Quando há um lançamento manual da verba com valor.
    • Automaticamente, em processos de Rescisão ou Rescisão Complementar, para empregados que possuem pensionistas com regras de pensão configuradas para incidir sobre férias indenizadas (vencidas, proporcionais ou referentes a API).

🔗 Dependências

  • Verbas Relacionadas:
    • Verbas de Provento (base de cálculo para PrcSalarioNominal/Liquido): 520 (Férias Proporcionais Indenizadas), 370 (Férias Referente API), 515, 580, 582, 575, 585, 372, 374.
    • Verbas de Desconto (excluídas da base de cálculo para PrcSalarioLiquido): 1066, 1328, 1656, 1069, 13, 85, 1312, 1468, 11, 12, 80, 72, 172, 17, 53, 105, 10002, 10010, 262, 1175, 116, 5, 205.
    • Verba de Desconto (condição para erro em Rescisão Complementar): 600.
  • Tipo de Relação:
    • Dependência: A verba 637 depende dos valores de outras verbas de provento para compor sua base de cálculo, especialmente nos tipos de pensão por percentual.
    • Exclusão: A verba 637 exclui valores de outras verbas de desconto de sua base de cálculo em cenários específicos.
    • Geração: A verba 637 cria uma nova verba de holerite (NovaPensao) com suas próprias características e a adiciona à lista de verbas do holerite.

🧩 Funções

  • Func_ValidarExistenciaLancamento(Lancamento): Verifica se existe um lançamento manual para a verba.
  • SysFunc_Panico(string mensagem): Dispara um erro no sistema com a mensagem fornecida.
  • CriarVerbaHoleriteVerbaBO(codigo, descricao): Cria um novo objeto de verba para o holerite.
  • Negativo(decimal valor): Retorna o valor como negativo.
  • Func_ArredondamentoPadrao(decimal valor): Arredonda um valor para o padrão do sistema.
  • RecuperarValorTotalVerba(string codigoVerba): Recupera o valor total de uma verba específica já calculada.
  • SysFunc_RecuperarTotalVerbaInformandoVerba_e_VerbaOrigem(string verba, string verbaOrigem): Recupera o valor total de uma verba específica, considerando sua verba de origem.
  • Func_RecuperarSomaValorTotalHoleriteVerba(string codigoVerba): Recupera a soma do valor total de uma verba no holerite.
  • SysFunc_NovaData(int dia, int mes, int ano): Cria um objeto DateTime com a data especificada.
  • func_InserirPensaoVerba(objPensionista, objRegraPensao, NovaPensao): Função customizada para inserir detalhes da pensão na verba.

🎯 Particularidades por Cliente/Setor

👤 Acal
  • CNPJ “1045430600” (Acal, Intelie), define o percentual da nova verba se PrcRegra for maior que zero.

  • PrcSalarioLiquido (Percentual do Salário Líquido):

    • Para Baru, CPF 11748146750 ou 78924006720: subtrai valores de verbas de origem 1312 e 1468 (para o primeiro CPF) das verbas 580, 575, 372.
  • Para Intelie (CNPJ 1045430600), se PrcRegra for maior que zero, define o percentual da nova verba.

  • Rescisão Complementar

    • Atribui valores fixos negativos a verba.
👤 Brabus
  • PrcSalarioLiquido (Percentual do Salário Líquido):

    • Para os CPF’s 38271898884 ou 31329202821: subtrai valores de verbas de origem 11, 12, 72 das verbas 580, 582, 575, 585, 372, 374.
  • Rescisão Complementar

    • Atribui valores fixos negativos a verba.
👤 Bundy
  • PrcSalarioLiquido (Percentual do Salário Líquido):
  • Para o CPF 31910207802: subtrai uma longa lista de verbas de origem (11, 12, 13, 17, 53, 80, 85) das verbas 580, 582, 575, 585, 372, 374.
  • Para o CPF 34375715839: subtrai valores de verba de origem 12 das verbas 580, 582, 575, 585, 372, 374.
👤 Clamon
  • Para o CPF 7878874980: Limita o ValorPensao a R$ 450,00 proporcional aos dias de férias indenizadas.
👤 Crasa
  • Para o CPF 47531163870: Garante que o ValorPensao não seja inferior a 35% do salário mínimo, proporcional aos dias.
👤 Employer
  • PrcSalarioLiquido (Percentual do Salário Líquido):

    • Para o CPF 39648792828: subtrai uma longa lista de verbas de origem (11, 12, 13, 80, 85) das verbas 580, 582, 575, 585, 372, 374.
  • Para os CPF’s 18384493880 ou 47837437896: subtrai valores de verbas de origem 11, 12 das verbas 580, 582, 575, 585, 372, 374.

  • Para o CPF 30991654846, ETT: subtrai uma longa lista de verbas de origem (12, 13, 80, 85) das verbas 580, 582, 575, 585, 372, 374.

  • Para o CPF 29279039806, ETT: subtrai valores de verba de origem 12 das verbas 580, 582, 575, 585, 372, 374.

  • Para o CPF 2278461338, ETT: Garante que o ValorPensao não seja inferior a 1/3 do salário mínimo, proporcional aos dias.

  • Para os CPF’s 36545755870, 29279039806, 1387092979: Garante que o ValorPensao não seja inferior a 30% do salário mínimo, proporcional aos dias.

  • Para o CPF 30991654846, ETT: Garante que o ValorPensao não seja inferior a 45% do salário mínimo, proporcional aos dias.

  • Para o CPF 4705540964: Garante que o ValorPensao não seja inferior a 50% do salário mínimo, proporcional aos dias.

  • Para o CPF 12654266788, ETT: Garante que o ValorPensao não seja maior que 50% do salário mínimo, proporcional aos dias.

  • Para os CPF’s 18384493880, 38955043864, 7362517904: Garante que o ValorPensao não seja inferior a 40% do salário mínimo, proporcional aos dias.

  • Rescisão Complementar

    • Atribui valores fixos negativos a verba para ETT.
👤 Froneri
  • PrcSalarioLiquido (Percentual do Salário Líquido):

    • Para o CPF 12423818726: subtrai uma longa lista de verbas de origem (11, 12, 13, 10002, 10010) das verbas 580, 582, 575, 585, 372, 374.
    • Subtrai valores de verba de origem 172 das verbas 580, 372.
  • Rescisão Complementar

    • Atribui valores fixos negativos a verba.
👤 Genec
  • PrcSalarioLiquido (Percentual do Salário Líquido):
  • Para o CPF 10976144840: subtrai valores de verbas de origem 13 e 85 das verbas 580, 582, 575, 585.
👤 Hikvision
  • PrcSalarioNominal (Percentual do Salário Nominal):

    • Para o CPF: a base de cálculo é alterada para a soma das verbas 520 e 370.
  • PrcSalarioLiquido (Percentual do Salário Líquido):

    • Para o CPF 488306310: subtrai valores de verba de origem 172 das verbas 580, 575, 372.
    • Para o CPF 6403478605: subtrai valores de verbas de origem 105, 172 das verbas 580, 575, 372.
  • Rescisão Complementar

    • Atribui valores fixos negativos a verba.
👤 Minipreco
  • PrcSalarioLiquido (Percentual do Salário Líquido):
    • Para o CPF 10198058705: subtrai uma longa lista de verbas de origem (11, 12, 13, 10002, 10010, 80, 85, 262) das verbas 580, 582, 575, 585.
👤 Salesforce
  • PrcSalarioNominal (Percentual do Salário Nominal):

    • Para o CPF: a base de cálculo é uma soma complexa de diversas verbas de provento, com exclusão de valores de verbas de origem específicas.
  • PrcSalarioLiquido (Percentual do Salário Líquido):

    • Para o CPF 23494945861: para a pensionista com IdOriginalPensionista == “20”, subtrai valores de verba de origem 172 das verbas 580, 575, 372.
    • Para o CPF 21955296871: exclui todas as verbas de médias e DSR médias (580, 582, 575, 585, 372, 374) da base de cálculo.
  • Para os CPF’s 22560883830 ou 31051083869:subtrai valores de verbas de origem 116, 172, 1175 das verbas 580, 575, 372. - Para o CPF 31051083869: subtrai valores de verba de origem 1175 das verbas 580, 575, 372. - Para o CPF 31201500885: subtrai valores de verbas de origem 5, 205 das verbas 580, 575. - Para o CPF 34660595854: subtrai valores de verbas de origem 116, 172 das verbas 580, 575, 372. - Para o CPF 22567308830: subtrai valores de verbas de origem 172, 1175 das verbas 575, 580, 372.

    • Se empregado != “21955296871”: subtrai valores de verbas de origem 1656, 1069, 1066, 1328 das verbas 580, 575, 372.
  • Rescisão Complementar

    • Atribui valores fixos negativos a verba.
👤 Syngenta
  • PrcSalarioLiquido (Percentual do Salário Líquido):
    • Para o CPF 37875861802: subtrai valores de verba de origem 12 das verbas 580, 582, 575, 585, 372, 374.
👤 Tiautomotive
    • Exclusão de Provisões: Não possui a condição inicial que impede o cálculo da verba para processos do tipo EnumTipoProcessoBO.Provisoes.
  • Filtro de Regras de Pensão: Itera sobre todas as regras de pensão (objPensionista.ListaRegraPensao) sem o filtro Where(r => r.FolhaRescisao == true && (r.RemFeriasVencProp == true || r.RemFeriasRefAPI == true)) presente na regra geral.
  • Tratamento de Regras de Férias Indenizatórias: Se a regra de pensão não for para férias vencidas/proporcionais (objRegraPensao.RemFeriasVencProp == false && objRegraPensao.RemFeriasRefAPI == false), o cálculo da verba é interrompido (return null), ao invés de continuar para a próxima regra de pensão (continue).
  • Cálculo de Dias de Férias Indenizatórias: A variável QtdDiasFeriasInden_Venc_Prop_AvosAPI sempre inclui VG_DiasFeriasReferenteAPI, sem a condição if (objRegraPensao.RemFeriasRefAPI == true) presente na regra geral.
  • Base de Cálculo para Percentual sobre Salário Nominal: Possui uma base de cálculo específica para o CPF 25905142807 (Matric 103043 SJC), que soma verbas como 515, 580, 582, 520, 575, 585, e aplica o percentual da regra. A regra geral possui diferentes CPFs e lógicas para esta seção.
  • Base de Cálculo para Percentual sobre Salário Líquido:
    • Possui exclusões específicas de verbas para os CPFs 25248123836 (matric 512), 25046387875 (Matric 3156), 15962436865 (Matric 103236), e 27673921855 (Matric 2022).
    • Para os CPFs 22079465848, 32867311888, 82245843304, 22049482841, 21806956837, a base de cálculo (BCPAlimFeInden) é zerada.
    • A regra geral possui um conjunto muito mais extenso e diferente de exclusões e CPFs para esta seção.
  • Cálculo do 1/3 de Férias: O cálculo do 1/3 é feito como ValorPensao = Func_ArredondamentoPadrao(ValorPensao + (ValorPensao / 3M)), aplicando o arredondamento após a soma. A regra geral arredonda ValorPensao / 3M antes de somar.
  • Comparação com Salário Mínimo: Possui uma condição exclusiva para o CPF 27318584863 (Matric 1839 SJC), onde o valor da pensão não pode ser maior que o salário mínimo dividido por 30 e multiplicado pelos dias de férias indenizadas. A regra geral possui diversas outras condições de mínimo/máximo baseadas no salário mínimo para diferentes CPFs.
  • Atribuição de Percentual/Quantidade na Verba Gerada: Não atribui NovaPensao.Percentual ou NovaPensao.Quantidade com base em objRegraPensao.PrcRegra ou objRegraPensao.QtdRegra ao criar a verba, apenas define NovaPensao.Quantidade = 0M.
  • Regras Específicas por CNPJ: Não possui a customização para o CNPJ 1045430600 (Acal, Intelie).
  • Cálculo para Rescisão Complementar: Não possui o bloco else if (Solicitacao.TipoFolha == EnumTipoFolhaBO.RescisaoComplementar) com valores fixos para CPFs e datas específicas.

💡 Proposta de Novo Cálculo

Fórmula proposta (padronizada):

BaseProventos = SUM(V_Proventos_Config) - SUM(V_Deducoes_Config)

ValorPensaobase = Se Tipo = VlrFixo: (VlrRegra / 30) * QtdDias Se Tipo = QtdeSalMin: ((QtdRegra * VlrSalMin) / 30) * QtdDias Se Tipo = PrcSalMin: (((VlrSalMin * PrcRegra) / 100) / 30) * QtdDias Se Tipo = PrcSalNom: (((BaseNominal * PrcRegra) / 100) / 30) * QtdDias Se Tipo = PrcSalLiq: BaseProventos * (PrcRegra / 100)

ValorComTerco = ValorPensaobase + (RemTercoFeriasVencProp ? (ValorPensaobase / 3) : 0)

ValorFinal = MAX(MIN(ValorComTerco, TetoCalculado), PisoCalculado)


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

SE Solicitacao.TipoProcesso == PROVISOES E NAO Config.PermitirCalculoEmProvisoes ENTÃO RETORNAR NULO FIM_SE

SE Func_ValidarExistenciaLancamento(Lancamento) == VERDADEIRO E Lancamento.ValorTotal != 0 ENTÃO SE Empregado.Historico.ListaPensionista.Quantidade == 0 ENTÃO LANÇAR_ERRO(“Lançamento manual informado para empregado sem pensionista cadastrado.”) FIM_SE RETORNAR HoleriteVerbaExistente(Lancamento) FIM_SE

PARA CADA objPensionista EM Empregado.Historico.ListaPensionista FAÇA PARA CADA objRegraPensao EM objPensionista.ListaRegraPensao FAÇA

Filtro unificado de regras aplicáveis SE NAO (objRegraPensao.AplicaFolhaRescisao E (objRegraPensao.AplicaFeriasVencProp OU objRegraPensao.AplicaFeriasRefAPI)) ENTÃO CONTINUAR FIM_SE

2. Determinação de Dias de Férias Indenizadas

QtdDiasFeriasInden = VG_ListaPeriodosVencidos.Somar(DiasPendentes) + VG_DiasFeriasPropInd520

SE objRegraPensao.AplicaFeriasRefAPI OU Config.IncluirAPISempre ENTÃO QtdDiasFeriasInden = QtdDiasFeriasInden + VG_DiasFeriasReferenteAPI FIM_SE

SE QtdDiasFeriasInden == 0 ENTÃO CONTINUAR FIM_SE

ValorPensao = 0

3. Determinação da Base de Cálculo e Valor Conforme Tipo de Cálculo

ESCOLHA (objRegraPensao.TipoCalculoPensao) CASO VALOR_FIXO: SE Solicitacao.TipoFolha != RESCISAO_COMPLEMENTAR ENTÃO ValorPensao = (objRegraPensao.VlrRegra / 30) * QtdDiasFeriasInden FIM_SE

CASO QTDE_SALARIO_MINIMO: SE Solicitacao.TipoFolha != RESCISAO_COMPLEMENTAR ENTÃO ValorPensao = ((objRegraPensao.QtdRegra * VG_VlrSalMin) / 30) * QtdDiasFeriasInden FIM_SE

CASO PRC_SALARIO_MINIMO: SE Solicitacao.TipoFolha != RESCISAO_COMPLEMENTAR ENTÃO ValorPensao = (((VG_VlrSalMin * objRegraPensao.PrcRegra) / 100) / 30) * QtdDiasFeriasInden FIM_SE

CASO PRC_SALARIO_NOMINAL: SE Solicitacao.TipoFolha == RESCISAO_COMPLEMENTAR ENTÃO LANÇAR_ERRO(“Tipo de cálculo Percentual sobre Salário Nominal não suportado em Rescisão Complementar.”) FIM_SE

BaseCalculoNominal = ObterBaseCalculoDinamica(objRegraPensao.IdBaseCalculoNominal, VG_VlrSalNom) ValorPensao = (((objRegraPensao.PrcRegra * BaseCalculoNominal) / 100) / 30) * QtdDiasFeriasInden

CASO PRC_SALARIO_LIQUIDO: SE Solicitacao.TipoFolha == RESCISAO_COMPLEMENTAR E RecuperarValorTotalVerba(“600”) != 0 ENTÃO LANÇAR_ERRO(“Conflito de cálculo de Pensão Alimentícia em Rescisão Complementar com Verba 600.”) FIM_SE

Obtenção da Base de Cálculo Parâmetrizada sem Hardcodes de CPF/CNPJ BaseProventos = ObterSomaVerbasComponiveis(objRegraPensao.ListaVerbasBaseProventos) DeducoesOrigem = ObterSomaVerbasDeducoesOrigem(objRegraPensao.ListaVerbasDeducaoOrigem)

BCPAlimFeInden = BaseProventos - DeducoesOrigem

SE BCPAlimFeInden < 0 ENTÃO BCPAlimFeInden = 0 FIM_SE

ValorPensao = BCPAlimFeInden * (objRegraPensao.PrcRegra / 100)

CASO CONTRARIO: LANÇAR_ERRO(“Tipo de Cálculo de Pensão Alimentícia não configurado ou inválido.”) FIM_ESCOLHA

4. Inclusão do 1/3 Constitucional de Férias

SE objRegraPensao.RemTercoFeriasVencProp ENTÃO SE Config.ModoArredondamentoTerco == “SOMAR_E_ARREDONDAR” ENTÃO ValorPensao = Func_ArredondamentoPadrao(ValorPensao + (ValorPensao / 3)) SENÃO ValorPensao = ValorPensao + Func_ArredondamentoPadrao(ValorPensao / 3) FIM_SE FIM_SE

5. Aplicação de Limites, Tetos e Pisos Configuráveis

SE objRegraPensao.PisoPercentualSalMinimo > 0 ENTÃO PisoValor = ((VG_VlrSalMin * objRegraPensao.PisoPercentualSalMinimo) / 100 / 30) * QtdDiasFeriasInden SE ValorPensao < PisoValor ENTÃO ValorPensao = PisoValor FIM_SE FIM_SE

SE objRegraPensao.TetoPercentualSalMinimo > 0 ENTÃO TetoValor = ((VG_VlrSalMin * objRegraPensao.TetoPercentualSalMinimo) / 100 / 30) * QtdDiasFeriasInden SE ValorPensao > TetoValor ENTÃO ValorPensao = TetoValor FIM_SE FIM_SE

SE objRegraPensao.TetoValorFixo > 0 ENTÃO TetoValorFixoProp = (objRegraPensao.TetoValorFixo / 30) * QtdDiasFeriasInden SE ValorPensao > TetoValorFixoProp ENTÃO ValorPensao = TetoValorFixoProp FIM_SE FIM_SE

ValorPensaoArredondado = Func_ArredondamentoPadrao(ValorPensao)

6. Gravação da Verba e Disparo de Correlacionados

SE ValorPensaoArredondado > 0 ENTÃO NovaPensao = CriarVerbaHoleriteVerbaBO(“637”, ConcatenarDescricao(“Desc. Pensão Aliment. Férias Inden.”, objRegraPensao.DesProcesso)) NovaPensao.Percentual = Config.AtribuirPercentualQuantidade ? objRegraPensao.PrcRegra : 0 NovaPensao.Quantidade = Config.AtribuirPercentualQuantidade ? objRegraPensao.QtdRegra : 0 NovaPensao.ValorTotal = Negativo(ValorPensaoArredondado)

CopiarIncidencias(VerbaOriginal(“637”), NovaPensao)

Holerite.ListaHoleriteVerba.Adicionar(NovaPensao) func_InserirPensaoVerba(objPensionista, objRegraPensao, NovaPensao) FIM_SE

FIM_PARA

FIM_PARA

FIM


Parametrizações Propostas para Reestruturação

1. REGRAS DE ENTRADA E ELEGIBILIDADE

[X] Permitir Execução no Processo de Provisões

[X] Exigir Validação de Pensionista Cadastrado em Lançamentos Manuais

[X] Considerar Dias de Abono Pecuniário (API) Sem Exigência de Flag Específica

[X] Atribuir Percentual/Quantidade na Verba do Holerite Final

3. MODO DE ARREDONDAMENTO E CÁLCULO DE TERCO DE FÉRIAS

Modo de Apuração do 1/3 Constitucional:

( ) Arredondar parcela do 1/3 e somar ao principal [Padrao Geral]

(X) Somar parcela do 1/3 ao principal e arredondar total [Especifico Cliente]

3. CONFIGURAÇÃO DE BASE DE CÁLCULO DINÂMICA (POR REGRA DE PENSÃO)

Tabela de Proventos Componíveis (Base Liquida/Nominal): +-----------------------+----------------------------------------------------+ | Código Verba | Descrição Verba | +-----------------------+----------------------------------------------------+ | [ 520 ] | Férias Proporcionais Indenizadas | | [ 370 ] | Férias Referente API | | [ 515, 580, 582… ] | Médias e Adicionais Indenizatórios | +-----------------------+----------------------------------------------------+

Tabela de Exclusões / Abatimentos por Origem: +-----------------------+----------------------------------------------------+ | Verba Desconto Origem | Descrição da Origem Abatida | +-----------------------+----------------------------------------------------+ | [ 11, 12, 13, 17… ] | DSR, Faltas, Eventos Origem Específicos | | [ 172, 105, 1175… ] | Previdência e Outros Descontos Legais/Judiciais | +-----------------------+----------------------------------------------------+

4. DIRETRIZES DE PROTEÇÃO (PISOS E TETOS CONFIGURÁVEIS POR CADASTRO)

Aplica Teto em Valor Fixo Proporcional aos Dias? …: [X] Sim Valor: [ R$ 450,00 ]

Aplica Piso em % do Salário Mínimo Proporcional? …: [X] Sim % Piso: [ 30,00% ]

Aplica Teto em % do Salário Mínimo Proporcional? …: [X] Sim % Teto: [ 50,00% ]

5. TRATAMENTO DE RESCISÃO COMPLEMENTAR

Permitir Lançamento Negativo Fixo Apenas para Diferenças Diferidas: [X] Sim

6. ENCARGOS E ENVIOS ESOCIAL

Natureza eSocial …: [ 9213 - Pensão alimentícia ]

Incidência INSS …: [ Isento ]

Incidência FGTS …: [ Isento ]

Incidência IRRF …: [ Isento ]

Clientes com mesma regra

  • Acal (Baru e Intelie), Brabus, Bundy, Employer (ETT), Froneri, Genec, Minipreço, Salesforce e Syngenta: As deduções de verbas de origem específicas (ex: 11, 12, 13, 80, 85, 105, 116, 172, 205, 262, 1175, 1312, 1468, 10002, 10010) que eram aplicadas via hardcode por CPF/CNPJ para recompor a base líquida são totalmente absorvidas pela seleção de proventos integrantes e dedutíveis na matriz de composição da base líquida no cadastro do dependente.
  • Clamon, Crasa e Employer: Os limites de teto (Clamon: R$ 450,00 proporcional) e pisos de garantia atrelados a percentuais do salário mínimo (Crasa/Employer: 30%, 35%, 40%, 45%, 50% ou 1/3 do salário mínimo) passam a ser parametrizados diretamente no campo “Piso Mínimo Proporcional” do cadastro do dependente.
  • Hikvision e Salesforce: As regras de base nominal customizada (incluindo ou excluindo verbas de aviso prévio indenizado 370 e férias 520 ou isolando médias/DSR) são configuradas através dos seletores de base de cálculo da regra.
  • Acal, Brabus, Employer (ETT), Froneri, Hikvision e Salesforce (Rescisão Complementar): As atribuições de valores fixos ou restrições em rescisão complementar deixam de disparar exceções fatais (SysFunc_Panico) e passam a seguir as chaves de controle da aba de rescisão complementar.

Status Documental

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

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