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:
-
A verba não é calculada para processos de
Provisões(Solicitacao.TipoProcesso == EnumTipoProcessoBO.Provisoes). -
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 oHoleriteVerbaexistente. -
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 aFolhaRescisaoe aRemFeriasVencPropouRemFeriasRefAPI. -
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. -
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. -
O cálculo do
ValorPensaovaria conforme oTipoCalculoPensaoconfigurado para a regra da pensão:-
Valor Fixo (
EnumTipoCalculoPensaoBO.VlrFixo): Se não forRescisaoComplementar, 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 forRescisaoComplementar, 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 forRescisaoComplementar, 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 forRescisaoComplementar, 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 forRescisaoComplementare 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.
-
-
Se a regra de pensão
RemTercoFeriasVencPropfor verdadeira, adiciona 1/3 doValorPensaoaoValorPensaoe arredonda. -
O
ValorPensaoé arredondado (Func_ArredondamentoPadrao). -
Cria uma nova verba de holerite (
NovaPensao) com o código e descrição da verba 637. -
Se houver
DesProcessona regra de pensão, a descrição final da nova verba é concatenada. -
Define o percentual ou quantidade da nova verba com base na regra de pensão.
-
O
ValorTotaldaNovaPensaoé definido como oValorPensaoarredondado e negativo (Negativo). -
Se o
ValorTotalfor zero, a iteração continua para a próxima regra. -
As incidências de INSS, FGTS e IRRF da
NovaPensaosão herdadas da verba original. -
A
NovaPensaoé adicionada à lista de verbas do holerite (Holerite.ListaHoleriteVerba) e a funçãofunc_InserirPensaoVerbaé chamada. -
Se o
TipoFolhaforRescisaoComplementar, 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_AvosAPIValorPensao (QtdeSalarioMinimo) = (objRegraPensao.QtdRegra * VG_VlrSalMin) / 30M * QtdDiasFeriasInden_Venc_Prop_AvosAPIValorPensao (PrcSalarioMinimo) = (VG_VlrSalMin * objRegraPensao.PrcRegra / 100M) / 30M * QtdDiasFeriasInden_Venc_Prop_AvosAPIValorPensao (PrcSalarioNominal) = ((objRegraPensao.PrcRegra * VG_VlrSalNom) / 100M) / 30M * QtdDiasFeriasInden_Venc_Prop_AvosAPIValorPensao (PrcSalarioLiquido) = BCPAlimFeInden * objRegraPensao.PrcRegra / 100MValorPensao (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.ClienteeEmpregador.CNPJEmpregadorpara 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 objetoDateTimecom 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.
- Exclusão de Provisões: Não possui a condição inicial que impede o cálculo da verba para processos do tipo
- Filtro de Regras de Pensão: Itera sobre todas as regras de pensão (
objPensionista.ListaRegraPensao) sem o filtroWhere(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_AvosAPIsempre incluiVG_DiasFeriasReferenteAPI, sem a condiçãoif (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), e27673921855(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.
- Possui exclusões específicas de verbas para os CPFs
- 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 arredondaValorPensao / 3Mantes 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.PercentualouNovaPensao.Quantidadecom base emobjRegraPensao.PrcRegraouobjRegraPensao.QtdRegraao criar a verba, apenas defineNovaPensao.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
370e férias520ou 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