994 - Retenção SENAI - Férias
⚙️ Metadados
- Código: 994
- Tipo: Encargos
- INSS: ISE
- FGTS: ISE
- IRRF: ISE
- Natureza eSocial: -
- DSR: Não
- Médias: Não
- Impacto Financeiro: Não
- Impacto Contábil: Sim
- Sequência: 8328
🧮 Regra Geral
-
Lógica de Cálculo:
- Verifica se o percentual de retenção SENAI (
VG_PRCRetencaoSENAI) é maior que zero. - Verifica se o valor total do encargo da verba
931(obtido viaRecuperarValorTotalEncargo("931")) é maior que zero. - Se ambas as condições forem verdadeiras:
- A descrição final do encargo é formatada para incluir o percentual de retenção.
- A base de cálculo (
HoleriteEncargo.ValorBase) é definida como o valor total do encargo da verba931. - A alíquota (
HoleriteEncargo.Aliquota) é definida como o percentualVG_PRCRetencaoSENAI. - O valor do encargo (
HoleriteEncargo.ValorEncargo) é calculado multiplicando a base pela alíquota (dividida por 100) e arredondado usando a funçãoFunc_ArredondamentoPadrao.
- Caso contrário, a verba não é calculada e retorna
null.
- Verifica se o percentual de retenção SENAI (
-
Fórmula matemática:
ValorEncargo = Func_ArredondamentoPadrao(ValorBase * (Aliquota / 100))
-
Variáveis Utilizadas:
VG_PRCRetencaoSENAIHoleriteEncargo.DescricaoFinalHoleriteEncargo.ValorBaseHoleriteEncargo.AliquotaHoleriteEncargo.ValorEncargo.
-
Condições Especiais:
- A verba só é calculada se
VG_PRCRetencaoSENAIfor maior que0ME se o valor total do encargo da verba931for maior que0M.
- A verba só é calculada se
🔗 Dependências
- Verbas Relacionadas: Verba
931(mencionada emRecuperarValorTotalEncargo("931")). - Tipo de Relação: Dependência. A verba 994 depende do valor da verba 931 para sua base de cálculo.
🧩 Funções
RecuperarValorTotalEncargo("931"): Recupera o valor total de um encargo específico (verba 931).Func_ArredondamentoPadrao(): Aplica o arredondamento padrão do sistema ao valor calculado.
💡 Proposta de Novo Cálculo
Fórmula proposta (padronizada):
PercentualEfetivo = SE(Config.UsarPercentualGlobalEmpregador, VG_PRCRetencaoSENAI, Config.PercentualRetencaoFixo)
ValorBase = RecuperarValorTotalEncargo(CodigoEncargoOrigem)
ValorEncargo = ARRED_PADRAO(ValorBase * (PercentualEfetivo / 100))
1. Filtros de Elegibilidade e Isenções (Piso Seguro)
SE VG_CalculaEncargos == FALSO OU NAO Config.CalcularEncargosPatronais ENTÃO RETORNAR NULO FIM_SE
SE Solicitacao.TipoProcesso == PROVISOES E NAO Config.PermitirCalculoEmProvisoes ENTÃO RETORNAR NULO FIM_SE
SE NAO Config.TiposFolhaPermitidos.Contem(Solicitacao.TipoFolha) ENTÃO RETORNAR NULO FIM_SE
Validação de Isenção Temporária / Desativação por Período SE Config.AtivarControleIsencaoPeriodo ENTÃO SE Config.DataInicioIsencao != NULO E Config.DataFimIsencao != NULO ENTÃO SE Solicitacao.DataReferencia >= Config.DataInicioIsencao E Solicitacao.DataReferencia <= Config.DataFimIsencao ENTÃO AdicionarMensagemInfoPublicaCalculo(“Verba 994 suspensa devido a período de isenção vigente cadastrado.”) RETORNAR NULO FIM_SE FIM_SE FIM_SE
Validação de Vigência Histórica Parametrizada SE Config.AtivarVigenciaHistorica ENTÃO SE (Config.DataVigenciaInicio != NULO E Solicitacao.DataReferencia < Config.DataVigenciaInicio) OU (Config.DataVigenciaFim != NULO E Solicitacao.DataReferencia > Config.DataVigenciaFim) ENTÃO RETORNAR NULO FIM_SE FIM_SE
Validação da Alíquota de Retenção SENAI PrcRetencaoSENAI = 0
SE Config.UsarPercentualGlobalEmpregador ENTÃO SE VG_PRCRetencaoSENAI != NULO E VG_PRCRetencaoSENAI > 0 ENTÃO PrcRetencaoSENAI = VG_PRCRetencaoSENAI FIM_SE SENÃO SE Config.PercentualRetencaoFixo > 0 ENTÃO PrcRetencaoSENAI = Config.PercentualRetencaoFixo FIM_SE
SE PrcRetencaoSENAI <= 0 ENTÃO RETORNAR NULO FIM_SE
2. Determinação Dinâmica da Base de Cálculo (Dependência de Encargo de Férias)
CodigoEncargoOrigem = Config.CodigoEncargoOrigem // Padrão: “931” (Encargo SENAI - Férias) VlrBaseRetencao = Holerite.RecuperarValorTotalEncargo(CodigoEncargoOrigem)
SE VlrBaseRetencao == NULO OU VlrBaseRetencao <= 0 ENTÃO RETORNAR NULO FIM_SE
Mensagens Informativas de Rastreabilidade AdicionarMensagemInfoPublicaCalculo(String.Format(“Valor do Encargo de Origem Férias ({0}): R$ {1}”, CodigoEncargoOrigem, VlrBaseRetencao.ToString(“N2”))) AdicionarMensagemInfoPublicaCalculo(String.Format(“Percentual de Retenção SENAI Aplicado: {0}%”, PrcRetencaoSENAI.ToString(“F2”)))
3. Aplicação do Cálculo e Arredondamento
VlrEncargoBruto = VlrBaseRetencao * (PrcRetencaoSENAI / 100) VlrEncargoArredondado = Func_ArredondamentoPadrao(VlrEncargoBruto)
SE VlrEncargoArredondado <= 0 E NAO Config.GravarEncargoZerado ENTÃO RETORNAR NULO FIM_SE
4. Gravação da Rubrica de Retenção SENAI - Férias
NovoEncargo = CriarVerbaHoleriteEncargoBO(“994”, Config.DescricaoPadrao) NovoEncargo.Aliquota = PrcRetencaoSENAI NovoEncargo.ValorBase = VlrBaseRetencao NovoEncargo.ValorEncargo = VlrEncargoArredondado
SE Config.FormatarDescricaoComPercentual ENTÃO NovoEncargo.DescricaoFinal = String.Format(“{0} {1}%”, Config.DescricaoPadrao, PrcRetencaoSENAI.ToString(“N2”)).Trim() SENÃO NovoEncargo.DescricaoFinal = Config.DescricaoPadrao.Trim() FIM_SE
NovoEncargo.TipoImposto = Config.TipoImpostoTributavel // Padrão: Outras Entidades / SENAI NovoEncargo.TipoIncidencia = Config.TipoIncidencia // Padrão: Isento (ISE)
CopiarIncidencias(VerbaOriginal(“994”), NovoEncargo)
NovoEncargo.ImpactoFinanceiro = Config.ImpactoFinanceiro // Conforme ficha técnica: Não NovoEncargo.ImpactoContabil = Config.ImpactoContabil // Conforme ficha técnica: Sim
SE Config.AtualizarAcumuladorRetencaoSENAIFerias ENTÃO VG_TotalRetencaoSENAIFerias = VG_TotalRetencaoSENAIFerias + VlrEncargoArredondado FIM_SE
Holerite.ListaHoleriteEncargo.Adicionar(NovoEncargo)
FIM
Parametrizações Propostas para Reestruturação
1. REGRAS DE ENTRADA E ELEGIBILIDADE TRIBUTÁRIA
[X] Respeitar Flag Global de Encargos Patronais (VG_CalculaEncargos == true)
[ ] Permitir Execução no Processo de Provisões
[X] Usar Alíquota de Retenção SENAI do Inicializador do Cliente (VG_PRCRetencaoSENAI)
Alíquota Fixa Alternativa de Retenção SENAI : [ 0.0000 ] %
Tipos de Folha Permitidos …: [X] Mensal [X] Férias [X] Rescisão [X] Complementar
2. ORIGEM DOS DADOS E RUBRICAS RELACIONADAS
Código do Encargo de Origem (Base) …: [ 931 ] (Encargo SENAI - Férias)
[X] Exigir que o Encargo de Origem seja Maior que Zero (Encargo 931 > 0)
[ ] Permitir Gravação do Encargo com Valor Zerado
3. CONTROLE DE VIGÊNCIA E ISENÇÃO TEMPORÁRIA
[ ] Ativar Controle Paramétrico de Vigência Histórica
Data Início Vigência …: [ ]
Data Fim Vigência …: [ ]
[ ] Ativar Período de Isenção / Interrupção de Encargo
Data Início Isenção …: [ ]
Data Fim Isenção …: [ ]
4. FORMATAÇÃO E CRITÉRIOS DE GRAVAÇÃO
Descrição Padrão da Rubrica …: [ Retenção SENAI - Férias ]
[X] Formatar Descrição Exibindo Percentual Aplicado (Ex: Retenção SENAI - Férias 50.00%)
Impacto Financeiro …: [ ] Sim [X] Não
Impacto Contábil …: [X] Sim [ ] Não
Arredondamento Padrão …: [X] Sim [ ] Não
[X] Atualizar Acumulador Global de Retenção SENAI sobre Férias
5. TRIBUTAÇÃO E ENVIOS ESOCIAL
Natureza eSocial …: [ Isento / Não Informar ]
Incidência INSS …: [ Isento ]
Incidência FGTS …: [ Isento ]
Incidência IRRF …: [ Isento ]
Clientes com mesma regra
- Regra Geral / Padrão de Mercado: O motor dinâmico unificado absorve integralmente a mecânica de cálculo da Retenção SENAI sobre Férias a partir do valor apurado no encargo de origem (verba 931) e da alíquota global em
VG_PRCRetencaoSENAI. - O desacoplamento do encargo de origem via parâmetro
CodigoEncargoOrigem(mantendo “931” como padrão) garante flexibilidade operacional para eventuais reestruturações de plano de contas ou rubricas por estabelecimento. - Os metadados operacionais da ficha técnica (Impacto Financeiro “Não” e Impacto Contábil “Sim”), assim como as isenções de INSS, FGTS e IRRF, permanecem rigorosamente preservados via interface de parametrização.
Status Documental
- Status: Documentada
- Origem: export do Notion + catálogo da wiki
- Fonte rastreável:
30dc75ea2e838168b6e5d8e3ddcaef29