Wiki / SuperCalculo ~5 min

907 - FGTS Rescisão (GRRF)

⚙️ Metadados

  • Código: 907
  • Tipo: Encargos
  • INSS: ISE
  • FGTS: ISE
  • IRRF: ISE
  • Natureza eSocial: -
  • DSR: Não
  • Médias: Não
  • Impacto Financeiro: Sim
  • Impacto Contábil: Sim
  • Sequência: 9051

🧮 Regra Geral

  • Lógica de Cálculo:

    1. A verba inicia recuperando o valor total da base de cálculo do FGTS Salário, identificada pelo código 3000, e armazena em BCFGTSSalario.
    2. Verifica se BCFGTSSalario é maior que zero. Se não for, o cálculo da verba é encerrado.
    3. Se BCFGTSSalario for positivo, a verba verifica duas condições simultaneamente:
      • O TipoFolha da solicitação deve ser Rescisão ou Rescisão Complementar.
      • O MotivoRescisao do empregado deve ser um dos seguintes: Sem Justa Causa, Contrato Experiência Empresa, Término Contrato, Rescisão Indireta, Rescisão Por Motivo de Acordo ou Motivo Força Maior.
    4. Se todas as condições forem atendidas, o sistema considera que o depósito do FGTS será via GRRF (Guia de Recolhimento Rescisório do FGTS).
    5. Mensagens informativas são adicionadas ao cálculo, exibindo os valores de VG_FGTS_via_SEFIP e VG_FGTS_via_GRRF.
    6. A descrição final da verba (HoleriteEncargo.DescricaoFinal) é formatada para incluir a alíquota do FGTS (VG_AliquotaFGTS).
    7. A base de cálculo (HoleriteEncargo.ValorBase) é definida como BCFGTSSalario.
    8. A alíquota (HoleriteEncargo.Aliquota) é definida como VG_AliquotaFGTS.
    9. O valor do encargo (HoleriteEncargo.ValorEncargo) é calculado aplicando a alíquota à base de cálculo e truncando o resultado.
    10. A memória de cálculo é gerada, detalhando a base, a alíquota e o valor final.
  • Fórmula matemática:

    • ValorEncargo = Truncar(BCFGTSSalario × VG_AliquotaFGTS ÷ 100)
  • Variáveis Utilizadas:

    • BCFGTSSalario: Base de cálculo do FGTS Salário (recuperada do código “3000”).
    • Solicitacao.TipoFolha: Tipo de folha de pagamento em processamento (ex: Rescisão).
    • Empregado.Rescisao.MotivoRescisao: Motivo da rescisão do contrato de trabalho.
    • VG_FGTS_via_SEFIP: Variável de controle para FGTS via SEFIP.
    • VG_FGTS_via_GRRF: Variável de controle para FGTS via GRRF.
    • VG_AliquotaFGTS: Alíquota do FGTS.
    • HoleriteEncargo.DescricaoFinal: Descrição final da verba no holerite.
    • HoleriteEncargo.ValorBase: Base de cálculo da verba.
    • HoleriteEncargo.Aliquota: Alíquota aplicada à verba.
    • HoleriteEncargo.ValorEncargo: Valor final do encargo.
    • HoleriteEncargo.MemoriaCalculo: Texto da memória de cálculo.
  • Condições Especiais:

    • A verba só é calculada se a base de cálculo do FGTS Salário (BCFGTSSalario) for maior que zero.
    • O cálculo do FGTS via GRRF é ativado apenas para folhas de tipo Rescisão ou Rescisão Complementar e para motivos de rescisão específicos (Sem Justa Causa, Contrato Experiência Empresa, Término Contrato, Rescisão Indireta, Rescisão Por Motivo de Acordo, Motivo Força Maior).

🔗 Dependências

  • Verbas Relacionadas: A verba depende da existência e do valor da base de cálculo do FGTS Salário (código “3000”).
  • Tipo de Relação: Dependência. O cálculo desta verba requer que a base de cálculo do FGTS Salário já tenha sido apurada.

🧩 Funções

  • RecuperarValorTotalBase("3000"): Recupera o valor total de uma base de cálculo específica (neste caso, a base 3000).
  • AdicionarMensagemInfoPublicaCalculo(): Adiciona mensagens informativas ao log de cálculo, visíveis ao usuário.
  • string.Format(): Formata strings, utilizada para construir a descrição final da verba.
  • Func_Truncar(): Trunca um valor decimal, removendo as casas decimais excedentes sem arredondar.
  • Argumento(): Utilizada para registrar argumentos na memória de cálculo.
  • EscreverMemoria(): Escreve o texto formatado da memória de cálculo.

💡 Proposta de Novo Cálculo

Fórmula proposta (padronizada):

BaseCalculo = RecuperarValorTotalBase(“3000”)

CondicaoElegibilidade = (TipoFolha EM [Rescisao, RescisaoComplementar]) E (MotivoRescisao EM Config.MotivosGRRF) E (BaseCalculo > 0)

ValorEncargo = SE(CondicaoElegibilidade, TRUNCAR((BaseCalculo * AliquotaFGTS) / 100), 0)


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

Validação Dinâmica de Tipos de Processo/Folha Permitidos (Padrão: Rescisão e Rescisão Complementar) SE NAO Config.TiposFolhaPermitidos.Contem(Solicitacao.TipoFolha) ENTÃO RETORNAR NULO FIM_SE

2. Determinação da Base de Cálculo

CodigoBaseFGTSSalario = Config.CodigoBaseFGTSSalario // Padrão: “3000” BCFGTSSalario = Holerite.RecuperarValorTotalBase(CodigoBaseFGTSSalario)

SE BCFGTSSalario == NULO OU BCFGTSSalario <= 0 ENTÃO RETORNAR NULO FIM_SE

Validação Regrada dos Motivos de Desligamento Elegíveis para Depósito via GRRF/FGTS Digital MotivoRescisaoAtual = Empregado.Rescisao.MotivoRescisao

SE MotivoRescisaoAtual == NULO OU NAO Config.MotivosRescisaoElegiveisGRRF.Contem(MotivoRescisaoAtual) ENTÃO AdicionarMensagemInfoPublicaCalculo(“Cálculo suspenso: Motivo de rescisão não atende aos critérios configurados para recolhimento de FGTS Salário via GRRF/FGTS Digital.”) RETORNAR NULO FIM_SE

3. Determinação da Alíquota e Cálculo do Encargo

AliquotaFGTS = VG_AliquotaFGTS SE AliquotaFGTS == NULO OU AliquotaFGTS <= 0 ENTÃO AliquotaFGTS = Empregado.AliquotaFGTS FIM_SE SE AliquotaFGTS == NULO OU AliquotaFGTS <= 0 ENTÃO AliquotaFGTS = Config.AliquotaFGTSPadrao // Fallback padrão: 8.00% FIM_SE

VlrEncargoBruto = BCFGTSSalario * (AliquotaFGTS / 100.0)

Aplicação de Truncamento Regulamentar da GRRF/FGTS Digital SE Config.TipoAjusteDecimal == “TRUNCAR” ENTÃO VlrEncargoFinal = Func_Truncar(VlrEncargoBruto) SENÃO VlrEncargoFinal = Func_ArredondamentoPadrao(VlrEncargoBruto) FIM_SE

SE VlrEncargoFinal <= 0 E NAO Config.GravarEncargoZerado ENTÃO RETORNAR NULO FIM_SE

Mensagens Informativas de Rastreabilidade e Guia SE Config.ExibirMensagensAuditoriaGRRF ENTÃO AdicionarMensagemInfoPublicaCalculo(String.Format(“FGTS via SEFIP: R$ {0} | FGTS via GRRF: R$ {1}”, VG_FGTS_via_SEFIP, VG_FGTS_via_GRRF)) FIM_SE

4. Gravação de Campos e Registro do Encargo (907)

NovoEncargo = CriarVerbaHoleriteEncargoBO(“907”, Config.DescricaoPadrao) NovoEncargo.Aliquota = AliquotaFGTS NovoEncargo.ValorBase = BCFGTSSalario NovoEncargo.ValorEncargo = VlrEncargoFinal

SE Config.FormatarDescricaoComAliquota ENTÃO NovoEncargo.DescricaoFinal = String.Format(“{0} ({1:F2}%)”, Config.DescricaoPadrao, AliquotaFGTS).Trim() SENÃO NovoEncargo.DescricaoFinal = Config.DescricaoPadrao.Trim() FIM_SE

NovoEncargo.TipoImposto = Config.TipoImpostoTributavel // Padrão: FGTS Rescisão (GRRF) NovoEncargo.TipoIncidencia = Config.TipoIncidencia // Padrão: Isento (ISE)

CopiarIncidencias(VerbaOriginal(“907”), NovoEncargo)

NovoEncargo.ImpactoFinanceiro = Config.ImpactoFinanceiro // Conforme ficha técnica: Sim NovoEncargo.ImpactoContabil = Config.ImpactoContabil // Conforme ficha técnica: Sim

SE Config.AtualizarAcumuladorFGTSGRRF ENTÃO VG_TotalFGTSSalario_GRRF = VG_TotalFGTSSalario_GRRF + VlrEncargoFinal FIM_SE

Registro de Memória de Cálculo Transparente EscreverMemoria(“FGTS_RESC_GRRF”, String.Format(“Base FGTS Salário (3000): R$ {0}, Alíquota: {1}%, Valor Truncado: R$ {2}”, BCFGTSSalario.ToString(“N2”), AliquotaFGTS.ToString(“F2”), VlrEncargoFinal.ToString(“N2”)))

Holerite.ListaHoleriteEncargo.Adicionar(NovoEncargo)

FIM


Parametrizações Propostas para Reestruturação

1. REGRAS DE ENTRADA E FILTROS DE ELEGIBILIDADE

[X] Respeitar Flag Global de Encargos Patronais (VG_CalculaEncargos == true)

[ ] Permitir Execução no Processo de Provisões

Tipos de Folha Permitidos …: [X] Rescisão [X] Rescisão Complementar [ ] Regular

2. MOTIVOS DE RESCISÃO ELEGÍVEIS (GRRF / FGTS DIGITAL)

Motivos de Desligamento Habilitados …: [X] Sem Justa Causa [X] Término de Contrato [X] Contrato Experiência pela Empresa [X] Rescisão Indireta [X] Acordo Entre as Partes (Art. 484-A) [X] Motivo de Força Maior

3. DEPENDÊNCIAS DE BASES E ALÍQUOTAS

Código Base FGTS Salário Rescisório …: [ 3000 ]

Alíquota Padrão do FGTS (Fallback) …: [ 8.0000 ] %

[ ] Permitir Gravação do Encargo com Valor Zerado

4. FORMATAÇÃO, ARREDONDAMENTO E CRITÉRIOS DE GRAVAÇÃO

Descrição Padrão da Rubrica …: [ FGTS Rescisão (GRRF) ]

[X] Formatar Descrição Exibindo Alíquota Aplicada (Ex: FGTS Rescisão (GRRF) (8.00%))

Regra de Arredondamento/Ajuste …: [ Truncamento Oficial GRRF (Func_Truncar) v ]

Impacto Financeiro …: [X] Sim [ ] Não

Impacto Contábil …: [X] Sim [ ] Não

[X] Exibir Mensagens Informativas de Auditoria no Log do Cálculo

[X] Atualizar Acumulador Global de FGTS Salário GRRF

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 parametrizável absorve integralmente a apuração do encargo de FGTS devido sobre o saldo de salário e verbas salariais da rescisão contratual (base 3000). A regra atende rigorosamente às exigências normativas para geração de guia rescisória via GRRF e FGTS Digital.
  • Os metadados de Impacto Financeiro “Sim”, Impacto Contábil “Sim”, isenção das demais incidências (INSS/IRRF/FGTS) e a sequência de execução 9051 permanecem totalmente preservados.
  • O truncamento numérico oficial de guias rescisórias (Func_Truncar) é mantido estritamente para garantir o alinhamento de centavos nas guias de recolhimento oficial do Governo Federal.

Status Documental

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

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