Wiki / SuperCalculo ~4 min

1107 - Dif. Dissídio Férias (IRRF)

⚙️ Metadados

  • Código: 1107
  • Tipo: Provento
  • INSS: ISE
  • FGTS: ISE
  • IRRF: FEG
  • Natureza eSocial: 1099 - Outras verbas salariais
  • DSR: Não
  • Médias: Não
  • Impacto Financeiro: Não
  • Impacto Contábil: Sim
  • Sequência: 777

🧮 Regra Geral

  • Lógica de Cálculo: A fórmula da regra geral não contém lógica para o cálculo do valor da verba. Apenas verifica se existe um lançamento para a verba (Func_ValidarExistenciaLancamento(Lancamento)).

  • Variáveis Utilizadas:

    • Lancamento
    • Solicitacao.Cliente
    • HoleriteVerba.DescricaoFinal.

🔗 Dependências

  • Verbas Relacionadas: Verba 227 (1/3 Abono Pecun. de Férias (IRRF)).
  • Tipo de Relação: A verba 227 é mencionada como a verba que origina a verba 1107 no motor de dissídio. Isso indica uma relação de geração, onde o cálculo da verba 227 em um contexto de dissídio pode levar à criação ou ajuste da verba 1107.

🧩 Funções

  • Func_ValidarExistenciaLancamento(Lancamento): Verifica se existe um lançamento para a verba no contexto atual.
  • Solicitacao.Cliente.ToLower(): Converte o nome do cliente para minúsculas para uma comparação de string não sensível a maiúsculas/minúsculas.

🎯 Particularidades por Cliente/Setor

👤 Syngenta
  • A DescricaoFinal da verba é alterada para “Dif. Dissídio Férias (I)” se houver um lançamento existente.

💡 Proposta de Novo Cálculo

Fórmula proposta (padronizada):

ValorTotal = Se( ExisteLancamentoManual == Ativo E ValorLancamento > 0, Func_ArredondamentoPadrao( ValorLancamento ), Se( ValorRecalculadoOrigem > ValorOriginalOrigem, Func_ArredondamentoPadrao( ValorRecalculadoOrigem - ValorOriginalOrigem ), 0.00 ) )

Onde:

  • ValorOriginalOrigem = ObterHistoricoDissidio( Matricula, CodigoVerbaOrigem )
  • ValorRecalculadoOrigem = ObterRecalculoDissidio( Matricula, CodigoVerbaOrigem )

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

Se (Configuracao.RubricaInativa == Verdadeiro) { HoleriteVerba = null; InterromperCalculo(); }

Bloqueio de Tipos de Processo Não Elegíveis Se (Solicitacao.TipoFolha == EnumTipoFolhaBO.AdiantamentoComplementar OU Solicitacao.TipoFolha == EnumTipoFolhaBO.RescisaoComplementar) { Definir ExisteLancManualProc = Func_ValidarExistenciaLancamento(Lancamento); Se (ExisteLancManualProc == Falso OU Lancamento.ValorTotal <= 0.00) { HoleriteVerba = null; InterromperCalculo(); } }

2. Apuração do Lançamento e/ou Cálculo de Diferença do Motor de Dissídio

Definir ExisteLancamento = Func_ValidarExistenciaLancamento(Lancamento); Definir ValorDiferencaApurado = 0.00; Definir OrigemEntrada = “Nenhuma”;

Se (ExisteLancamento == Verdadeiro E Lancamento.ValorTotal > 0.00) { Sobregravação direta via lançamento informado/manual ValorDiferencaApurado = Lancamento.ValorTotal; OrigemEntrada = “LancamentoManual”; } Senao Se (Configuracao.PermitirCalculoAutomaticoDissidio == Verdadeiro) { Apuração Automática via Motor de Dissídio Relacionada à Verba Origem (ex: Verba 227 - 1/3 Abono Pecuniário) Definir ValorBaseOriginal = SysFunc_ObterValorHistoricoDissidio(Empregado.Matricula, Configuracao.CodigoVerbaOrigem, Solicitacao.CompetenciaDissidio); Definir ValorBaseRecalculado = SysFunc_ObterValorRecalculadoDissidio(Empregado.Matricula, Configuracao.CodigoVerbaOrigem, Solicitacao.CompetenciaDissidio);

Se (ValorBaseRecalculado > ValorBaseOriginal) { ValorDiferencaApurado = ValorBaseRecalculado - ValorBaseOriginal; OrigemEntrada = “MotorDissidioAutomatico”; } }

Se (ValorDiferencaApurado <= 0.00) { HoleriteVerba = null; InterromperCalculo(); }

Definir ValorFinalRubrica = Func_ArredondamentoPadrao(ValorDiferencaApurado);

3. Aplicação de Descrição Personalizada Dinâmica (Expurgo do Hardcode por Cliente)

Se (Func_TextoNaoVazio(Configuracao.TextoDescricaoPersonalizada)) { HoleriteVerba.DescricaoFinal = Configuracao.TextoDescricaoPersonalizada; } Senao Se (ExisteLancamento == Verdadeiro E Func_TextoNaoVazio(Lancamento.Observacao)) { HoleriteVerba.DescricaoFinal = Lancamento.Observacao; }

4. Gravação de Rubrica, Impactos e Memória de Cálculo

HoleriteVerba.Quantidade = Lancamento.Quantidade > 0.00 ? Lancamento.Quantidade : 1.00; HoleriteVerba.ValorReferencia = Func_ArredondamentoPadrao(ValorDiferencaApurado); HoleriteVerba.ValorTotal = ValorFinalRubrica;

Argumento(ValorDiferencaApurado.ToString(“F2”)); Argumento(ValorFinalRubrica.ToString(“F2”)); Argumento(HoleriteVerba.DescricaoFinal); Argumento(OrigemEntrada);

EscreverMemoria(“[DIF_DISSIDIO_FERIAS_IRRF]”, “Valor Apurado: R$ {0} | Valor Final Aprovado: R$ {1} | Descrição: {2} | Origem: {3}”);

AdicionarAoHolerite(HoleriteVerba);


Parametrizações Propostas para Reestruturação

1. STATUS DA RUBRICA E DIRETRIZES DE ENTRADA

[ ] Inativar Rubrica (Desativa o cálculo globalmente no sistema) [X] Permitir Lançamento Manual/Informado [X] Ativar apuração automática via Motor de Dissídio Coletivo └─ Código da Verba Origem do Reajuste: [ 227 - 1/3 Abono Pecun. de Férias ]

2. CUSTOMIZAÇÃO DE EXIBIÇÃO E ROTULAGEM

[X] Permitir sobregravação de Descrição no Holerite via Configuração └─ Descrição Personalizada: [ Dif. Dissídio Férias (I) ] [X] Herdar descrição customizada do campo de observação do Lançamento (se preenchido)

3. PARÂMETROS DE CONTROLE E LIMITES

[ ] Aplicar Teto Máximo de Valor por Lançamento: └─ Valor Limite Máximo: R$ [ 0.00 ]

4. IMPACTOS OPERACIONAIS E INTEGRAÇÃO

[X] Ativar Impacto Financeiro (Ajuste para Integração Bancária/Liquidação) [X] Ativar Impacto Contábil (Lançamento de Débito/Crédito)

5. ENCARGOS ESOCIAL E CONFIGURAÇÃO TRIBUTÁRIA

Código da Rubrica Destino: [ 1107 ] Natureza eSocial: [ 1099 - Outras verbas salariais ] Incidência INSS: [ ISE - Isento ] DSR: [ Não ] Incidência FGTS: [ ISE - Isento ] Médias: [ Não ] Incidência IRRF: [ FEG - Férias (Tributável) ] Impacto Financeiro: [ Sim ]

Clientes com mesma regra

  • Syngenta: O cliente realizava a verificação da string "syngenta" no código-fonte legado exclusivamente para modificar o rótulo de exibição da rubrica para "Dif. Dissídio Férias (I)". Com a nova arquitetura Dynamic Engine, esta necessidade é suprida através da chave “Descrição Personalizada” no painel de parametrização do tenant, sem necessidade de lógica hardcoded.
  • Regra Geral / Demais Clientes: Operavam com dependência de lançamento manual ou apuração direta da diferença de dissídio vinculada ao recálculo do abono de férias (verba 227). A nova estrutura suporta perfeitamente a digitação manual e automatiza o recálculo via motor de dissídio parametrizável.

Status Documental

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

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