351 - Dif. 1/3 Abono Pecun. Férias
⚙️ Metadados
- Código: 351
- Tipo: Provento
- INSS: ISE
- FGTS: ISE
- IRRF: ISE
- Natureza eSocial: 1023 - Férias - Abono pecuniário
- DSR: Não
- Médias: Não
- Impacto Financeiro: Não
- Impacto Contábil: Sim
- Sequência: 245
🧮 Regra Geral
- Lançamento manual em valor.
💡 Proposta de Novo Cálculo
Fórmula proposta (padronizada):
ValorTotal = Se(ModoApuracao == “LANCAMENTO_MANUAL” E ValorInformadoJaEOTerco == Verdadeiro, ValorLancado, Minimo(Se(ModoApuracao == “AUTOMATICO_SISTEMA”, TercoAbonoDevido - TercoAbonoPago, ValorBase * (1 / 3)), TetoMaximo))
1. Filtros de Elegibilidade e Isenções (Piso Seguro)
Se (Configuracao.RubricaInativa == Verdadeiro OU Solicitacao.HoleriteSimulado == Verdadeiro OU 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(“[DIF_TERCO_ABONO_PECUN]”, “Cálculo interrompido: Tipo de folha (” + Solicitacao.TipoFolha + ”) não habilitado.”); HoleriteVerba = null; InterromperCalculo(); }
2. Determinação da Base de Cálculo, Apuração e Fallback de Lançamento
Definir PossuiLancamentoManual = Func_ValidarExistenciaLancamento(Lancamento); Definir ValorBaseCalculo = 0.00; Definir QuantidadeDiasAbono = 0.00;
Se (Configuracao.ModoApuracao == “LANCAMENTO_MANUAL”) { Se (PossuiLancamentoManual == Verdadeiro E Lancamento.ValorTotal > 0.00) { ValorBaseCalculo = Positivo(Lancamento.ValorTotal); QuantidadeDiasAbono = Positivo(Lancamento.Quantidade); } Senao { EscreverMemoria(“[DIF_TERCO_ABONO_PECUN]”, “Cálculo interrompido: Modo manual ativo, mas nenhum lançamento válido foi informado.”); HoleriteVerba = null; InterromperCalculo(); } } Senao Se (Configuracao.ModoApuracao == “AUTOMATICO_SISTEMA”) { Apuração automática da diferença a partir da recalculagem do Abono Pecuniário e seu Terço Definir ValorTercoAbonoDevido = Positivo(VariaveisGlobais.VG_Valor_Terco_Abono_Devido_Recalculado); Definir ValorTercoAbonoPago = Positivo(VariaveisGlobais.VG_Valor_Terco_Abono_Ja_Pago);
QuantidadeDiasAbono = Positivo(VariaveisGlobais.VG_Dias_Abono_Pecuniario);
Definir DiferencaApurada = ValorTercoAbonoDevido - ValorTercoAbonoPago;
Se (DiferencaApurada > 0.00) { ValorBaseCalculo = DiferencaApurada; } Senao Se (Configuracao.PermitirFallbackManual == Verdadeiro E PossuiLancamentoManual == Verdadeiro) { ValorBaseCalculo = Positivo(Lancamento.ValorTotal); QuantidadeDiasAbono = Positivo(Lancamento.Quantidade); } }
Se (ValorBaseCalculo <= 0.00) { EscreverMemoria(“[DIF_TERCO_ABONO_PECUN]”, “Cálculo interrompido: Valor base apurado nulo ou negativo.”); HoleriteVerba = null; InterromperCalculo(); }
3. Aplicação de Percentuais, Limites e Tetos Configuráveis
Definir ValorProventoApurado = 0.00;
Se (Configuracao.ModoApuracao == “LANCAMENTO_MANUAL” E Configuracao.ValorInformadoJaEOTerco == Verdadeiro) { ValorProventoApurado = ValorBaseCalculo; } Senao Se (Configuracao.ModoApuracao == “AUTOMATICO_SISTEMA”) { ValorProventoApurado = ValorBaseCalculo; } Senao { Definir PercentualTerco = Configuracao.PercentualTercoConstitucional ?? (1.00 / 3.00); ValorProventoApurado = ValorBaseCalculo * PercentualTerco; }
Teto e Piso Configuráveis Se (Configuracao.AplicarTetoMaximo == Verdadeiro E Configuracao.ValorTetoMaximo > 0.00) { Se (ValorProventoApurado > Configuracao.ValorTetoMaximo) { ValorProventoApurado = Configuracao.ValorTetoMaximo; } }
Definir ValorProventoFinal = Func_ArredondamentoPadrao(ValorProventoApurado);
Se (ValorProventoFinal <= 0.00) { HoleriteVerba = null; InterromperCalculo(); }
4. Gravação de Campos e Disparo de Verbas Informativas Correlacionadas
RubricaGerada = CriarInstanciaRubrica(Configuracao.CodigoRubricaDestino); RubricaGerada.Quantidade = QuantidadeDiasAbono; RubricaGerada.ValorReferencia = ValorBaseCalculo; RubricaGerada.ValorTotal = Positivo(ValorProventoFinal);
Enquadramento Fiscal Conforme Metadados (Natureza Indenizatória / Isento de Impostos) RubricaGerada.IncideINSS = EnumIncidencia.ISENTO; RubricaGerada.IncideFGTS = EnumIncidencia.ISENTO; RubricaGerada.IncideIRRF = EnumIncidencia.ISENTO;
AdicionarAoHolerite(RubricaGerada);
Disparo de Rubrica Informativa de Base de Cálculo se Configurado Se (Configuracao.GerarRubricaInformativaBase == Verdadeiro E Configuracao.CodigoRubricaInformativa > 0) { RubricaInformativa = CriarInstanciaRubrica(Configuracao.CodigoRubricaInformativa); RubricaInformativa.Quantidade = QuantidadeDiasAbono; RubricaInformativa.ValorTotal = ValorBaseCalculo; RubricaInformativa.TipoCalculo = EnumTipoRubrica.INFORMATIVA; AdicionarAoHolerite(RubricaInformativa); }
Registro da Memória de Cálculo EscreverMemoria(“[DIF_TERCO_ABONO_PECUN]”, “Diferença de 1/3 de Abono Pecuniário de Férias calculada com sucesso. Valor: R$ ” + RubricaGerada.ValorTotal);
Parametrizações Propostas para Reestruturação
1. REGRAS DE ENTRADA E FONTE DE DADOS
[ ] Inativar Rubrica (Desativa o cálculo globalmente) Modo de Apuração da Base de Cálculo: (X) LANCAMENTO_MANUAL (Valor informado diretamente via interface/importação) ( ) AUTOMATICO_SISTEMA (Recalcula a dif. entre o 1/3 devido e o 1/3 pago)
[X] Considerar que o Valor Informado no Lançamento Manual JÁ É o valor do Terço (1/3) └─ (Se desmarcado, o sistema aplicará 1/3 sobre o valor de referência informado) [X] Permitir Fallback de Lançamento Manual caso a Apuração Automática retorne zero [X] Interromper Processamento se o Valor Resultante For Igual a Zero (0,00)
2. DIRETRIZES DE PROTEÇÃO E LIMITES
Percentual do Terço Constitucional: [ 33,3333 ] % [ ] Aplicar Limitador / Teto Máximo de Valor └─ Valor Teto Máximo Permitido: R$ [ 0,00 ]
3. DISPARO DE VERBAS INFORMATIVAS CORRELACIONADAS
[ ] Gerar Rubrica Informativa de Base de Cálculo / Recálculo └─ Código da Rubrica Informativa Destino: [ 0 ]
4. AMBIENTE E TIPOS DE FOLHA PERMITIDOS
Tipos de Processamento Habilitados: [X] Regular / Mensal [X] Férias / Adiantamento de Férias [X] Rescisão / Desligamento [X] Complementar / Retroativa
5. ENCARGOS E ENQUADRAMENTO FISCAL
Enquadramento Fiscal eSocial (Natureza 1023 - Férias - Abono pecuniário): INSS: [ ISE - Isento ] FGTS: [ ISE - Isento ] IRRF: [ ISE - Isento ]
Clientes com mesma regra
- Todos os Clientes (Padrão e Específicos): A regra geral da verba 351 estabelece o processamento via “Lançamento manual em valor”. No modelo dynamic, essa operação é absorvida ao definir o parâmetro
Modo de ApuraçãocomoLANCAMENTO_MANUALcom a flagConsiderar que o Valor Informado no Lançamento Manual JÁ É o valor do Terçoativada. Isso garante a continuidade total das rotinas operacionais e de integração de todos os clientes sem necessidade de ajustes em seus fluxos de trabalho atuais.
Status Documental
- Status: Documentada
- Origem: export do Notion + catálogo da wiki
- Fonte rastreável:
30dc75ea2e838139a8f0c114ac6bf45e