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:
- A verba inicia recuperando o valor total da base de cálculo do FGTS Salário, identificada pelo código
3000, e armazena emBCFGTSSalario. - Verifica se
BCFGTSSalarioé maior que zero. Se não for, o cálculo da verba é encerrado. - Se
BCFGTSSalariofor positivo, a verba verifica duas condições simultaneamente:- O
TipoFolhada solicitação deve ser Rescisão ou Rescisão Complementar. - O
MotivoRescisaodo 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.
- O
- 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).
- Mensagens informativas são adicionadas ao cálculo, exibindo os valores de
VG_FGTS_via_SEFIPeVG_FGTS_via_GRRF. - A descrição final da verba (
HoleriteEncargo.DescricaoFinal) é formatada para incluir a alíquota do FGTS (VG_AliquotaFGTS). - A base de cálculo (
HoleriteEncargo.ValorBase) é definida comoBCFGTSSalario. - A alíquota (
HoleriteEncargo.Aliquota) é definida comoVG_AliquotaFGTS. - O valor do encargo (
HoleriteEncargo.ValorEncargo) é calculado aplicando a alíquota à base de cálculo e truncando o resultado. - A memória de cálculo é gerada, detalhando a base, a alíquota e o valor final.
- A verba inicia recuperando o valor total da base de cálculo do FGTS Salário, identificada pelo código
-
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).
- A verba só é calculada se a base de cálculo do FGTS Salário (
🔗 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
9051permanecem 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