211 - Reemb. Desc. Mensalidade Sindical
⚙️ Metadados
- Código: 211
- Tipo: Provento
- INSS: ISE
- FGTS: ISE
- IRRF: ISE
- Natureza eSocial: 9231 - Mensalidade sindical ou associativa
- DSR: Não
- Médias: Não
- Impacto Financeiro: Não
- Impacto Contábil: Sim
- Sequência: 1075
🧮 Regra Geral
ID da Fórmula: 19065
-
Lógica de Cálculo: Esta verba é calculada apenas se houver um lançamento manual existente para ela. O sistema verifica a presença de um lançamento através da função
Func_ValidarExistenciaLancamento. Se não houver lançamento, o cálculo é interrompido (return null), resultando em valor zero para a verba. Caso contrário, o valor da verba será o valor lançado manualmente. -
Fórmula matemática:
Valor = VlrLancado(seFunc_ValidarExistenciaLancamentofor verdadeiro)
-
Variáveis Utilizadas:
Lancamento(representa o objeto de lançamento da verba),VlrLancado(valor lançado manualmente, implícito).
🧩 Funções
Func_ValidarExistenciaLancamento(Lancamento): Verifica se existe um lançamento manual para a verba em questão.
💡 Proposta de Novo Cálculo
Fórmula proposta (padronizada):
ValorTotal = Positivo( Arredondar( Minimo( ValorBaseReembolso, ValorTotalDescontadoHistorico ) ) )
1. Filtros de Elegibilidade e Isenções (Piso Seguro)
Se (Configuracao.RubricaInativa == Verdadeiro O Solicitacao.HoleriteSimulado == Verdadeiro O Solicitacao.TipoProcesso == EnumTipoProcessoBO.Provisoes) { HoleriteVerba = null; InterromperCalculo(); }
Restrição por Tipo de Folha Processada Se (Configuracao.ListaTiposFolhaPermitidos.Tamanho > 0 E Nao Configuracao.ListaTiposFolhaPermitidos.Contem(Solicitacao.TipoFolha)) { EscreverMemoria(“[REEMB_MENS_SIND]”, “Cálculo interrompido: Tipo de folha (” + Solicitacao.TipoFolha + ”) não habilitado para a rubrica.”); HoleriteVerba = null; InterromperCalculo(); }
2. Determinação da Base de Cálculo (Lançamento Manual vs Apuração Automática por Indébito)
Definir PossuiLancamentoManual = Func_ValidarExistenciaLancamento(Lancamento); Definir ValorBaseReembolso = 0.00;
Se (PossuiLancamentoManual == Verdadeiro E Lancamento.ValorTotal > 0.00) { ValorBaseReembolso = Positivo(Lancamento.ValorTotal); } Senao Se (Configuracao.PermitirCalculoAutomaticoReembolso == Verdadeiro) { Apuração Automática: Devolução de Desconto Indevido de Mensalidade Sindical no Mês ou Anterior Definir ValorDescontadoSindical = Holerite.ObterSomaVerbas( Configuracao.ListaRubricasDescontoSindical, Solicitacao.DataReferencia ); Definir ValorDevidoSindical = ModuloSindicato.ObterValorDevidoMensalidade(Empregado.Id, Solicitacao.DataReferencia);
Se (ValorDescontadoSindical > ValorDevidoSindical) { ValorBaseReembolso = ValorDescontadoSindical - ValorDevidoSindical; } }
Validação de Existência de Valor a Processar (Piso Seguro de Entrada) Se (ValorBaseReembolso <= 0.00) { EscreverMemoria(“[REEMB_MENS_SIND]”, “Cálculo interrompido: Nenhum lançamento manual ou valor de reembolso apurado.”); HoleriteVerba = null; InterromperCalculo(); }
3. Aplicação de Limites e Ajuste de Valor Final
Definir ValorTotalDescontadoHistorico = Holerite.ObterSomaVerbasHistorico( Configuracao.ListaRubricasDescontoSindical, Solicitacao.DataReferencia );
Definir ValorMaximoReembolso = ValorTotalDescontadoHistorico > 0.00 ? ValorTotalDescontadoHistorico : ValorBaseReembolso;
Se (Configuracao.AplicarTetoTotalDescontado == Verdadeiro E ValorBaseReembolso > ValorMaximoReembolso) { ValorBaseReembolso = ValorMaximoReembolso; }
Definir ValorProventoFinal = Func_ArredondamentoPadrao(ValorBaseReembolso);
4. Gravação da Rubrica Resultante e Enquadramento Fiscal Conforme Legislação (Devolução de Estorno / Natureza eSocial 9231)
RubricaGerada = CriarInstanciaRubrica(Configuracao.CodigoRubricaDestino); RubricaGerada.Quantidade = 1.00; RubricaGerada.ValorReferencia = ValorBaseReembolso; RubricaGerada.ValorTotal = Positivo(ValorProventoFinal);
Incidências Fiscais (Isenção Integral - Devolução de Valores de Natureza Não Tributável) RubricaGerada.IncideINSS = EnumIncidencia.ISENTO; RubricaGerada.IncideFGTS = EnumIncidencia.ISENTO; RubricaGerada.IncideIRRF = EnumIncidencia.ISENTO;
AdicionarAoHolerite(RubricaGerada); EscreverMemoria(“[REEMB_MENS_SIND]”, “Reembolso do desconto de mensalidade sindical processado com sucesso.”);
Parametrizações Propostas para Reestruturação
1. REGRAS DE ENTRADA E FONTE DE DADOS
[ ] Inativar Rubrica (Desativa o cálculo globalmente) [X] Exigir Lançamento Manual / Importação Externa de Valores [ ] Permitir Apuração Automática por Estorno/Devolução (Descontado - Devido) [X] Interromper Processamento se o Valor Resultante For Igual a Zero (0,00)
2. AMBIENTE E TIPOS DE FOLHA PERMITIDOS
Tipos de Processamento Habilitados: [X] Regular / Mensal [X] Rescisão / Desligamento [ ] Décimo Terceiro (13º Salário) [X] Complementar / Retroativa
3. DIRETRIZES DE VALIDAÇÃO E TETO DE REEMBOLSO
[X] Aplicar Teto MÁXIMO de Reembolso ao Total de Mensalidade Sindical Descontada └─ Rubricas de Desconto Sindical Relacionadas: [ 511, 512, 513 ]
4. ENCARGOS E ENQUADRAMENTO FISCAL
Enquadramento Fiscal eSocial (Natureza 9231 - Mensalidade sindical ou associativa): INSS: [ ISE - Isento ] FGTS: [ ISE - Isento ] IRRF: [ ISE - Isento ]
Clientes com mesma regra
- Clientes Padrão e Empresas com Lançamento Manual: O fluxo dynamic absorve integralmente a operação atual da verba 211. Mantendo a opção “Exigir Lançamento Manual / Importação Externa de Valores” ativada, o motor valida a presença do lançamento por meio de
Func_ValidarExistenciaLancamento(Lancamento)e credita o provento no holerite, mantendo a isenção tributária integral (INSS, FGTS e IRRF) associada à Natureza eSocial 9231.
Status Documental
- Status: Documentada
- Origem: export do Notion + catálogo da wiki
- Fonte rastreável:
30dc75ea2e838139a8f0c114ac6bf45e