909 - FGTS Aux. Acid. / Serv. Militar / Adotante (GRRF)
⚙️ Metadados
- Código: 909
- 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: 9056
🧮 Regra Geral
- Lógica de Cálculo:
- A verba inicia recuperando o valor total da base de cálculo para FGTS de afastamentos, identificada pelo código
"3050", e armazena-o na variávelBCFGTSAfastam. - Verifica se
BCFGTSAfastamé maior que zero. Se não houver base, o cálculo é encerrado. - Em seguida, verifica duas condições simultaneamente:
- O tipo de folha (
Solicitacao.TipoFolha) deve serEnumTipoFolhaBO.Rescisao. - O motivo da rescisão (
Empregado.Rescisao.MotivoRescisao) deve ser um dos seguintes:SemJustaCausa,ContratoExperienciaEmpresa,TerminoContrato,RescisaoIndireta,RescisaoPorMotivoDeAcordo, ouMotivoForcaMaior.
- O tipo de folha (
- Se todas as condições forem verdadeiras, a verba é considerada como FGTS a ser recolhido via GRRF.
- A
DescricaoFinaldo encargo é formatada para incluir a descrição original da verba e a alíquota do FGTS (VG_AliquotaFGTS). - O
ValorBasedo encargo é definido comoBCFGTSAfastam. - A
Aliquotado encargo é definida comoVG_AliquotaFGTS. - O
ValorEncargoé calculado multiplicandoBCFGTSAfastampelaVG_AliquotaFGTSe dividindo por 100, com o resultado final truncado (sem arredondamento). - Argumentos e memória de cálculo são gerados para detalhamento.
- A verba inicia recuperando o valor total da base de cálculo para FGTS de afastamentos, identificada pelo código
- Fórmula matemática:
ValorEncargo = Func_Truncar(BCFGTSAfastam * VG_AliquotaFGTS / 100) - Variáveis Utilizadas:
BCFGTSAfastam,Solicitacao.TipoFolha,Empregado.Rescisao.MotivoRescisao,VG_AliquotaFGTS. - Condições Especiais:
BCFGTSAfastam > 0M: A verba só é calculada se houver uma base de cálculo positiva.Solicitacao.TipoFolha == EnumTipoFolhaBO.Rescisao: O cálculo é exclusivo para folhas de rescisão.Empregado.Rescisao.MotivoRescisaodeve ser um dos seis tipos de rescisão listados, que indicam recolhimento via GRRF.
🔗 Dependências
- Verbas Relacionadas: A verba depende da existência e do valor da base de cálculo “3050” (Base Cálculo FGTS Afastamento).
- Tipo de Relação: Dependência. A verba 909 calcula um encargo com base em um valor de base pré-existente.
🧩 Funções
RecuperarValorTotalBase("3050"): Obtém o valor total de uma base de cálculo específica.Func_Truncar(decimal): Trunca um valor decimal, removendo as casas decimais sem arredondamento.string.Format(): Utilizada para formatar a descrição final da verba e os valores na memória de cálculo.ToString("N2"): Formata valores decimais para duas casas decimais.Argumento(): Adiciona valores à lista de argumentos para a memória de cálculo.EscreverMemoria(): Gera a string final da memória de cálculo.
💡 Proposta de Novo Cálculo
Fórmula proposta (padronizada):
BaseCalculo = RecuperarValorTotalBase(“3050”)
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
CodigoBaseFGTSAfastam = Config.CodigoBaseFGTSAfastam // Padrão: “3050” BCFGTSAfastam = Holerite.RecuperarValorTotalBase(CodigoBaseFGTSAfastam)
SE BCFGTSAfastam == NULO OU BCFGTSAfastam <= 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 Afastamento 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 = BCFGTSAfastam * (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
4. Gravação de Campos e Registro do Encargo (909)
NovoEncargo = CriarVerbaHoleriteEncargoBO(“909”, Config.DescricaoPadrao) NovoEncargo.Aliquota = AliquotaFGTS NovoEncargo.ValorBase = BCFGTSAfastam 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 Aux. Acid. / Serv. Militar / Adotante (GRRF) NovoEncargo.TipoIncidencia = Config.TipoIncidencia // Padrão: Isento (ISE)
CopiarIncidencias(VerbaOriginal(“909”), 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_TotalFGTSAfastam_GRRF = VG_TotalFGTSAfastam_GRRF + VlrEncargoFinal FIM_SE
Registro de Memória de Cálculo Transparente EscreverMemoria(“FGTS_AFASTAM_RESC_GRRF”, String.Format(“Base FGTS Afastamento (3050): R$ {0}, Alíquota: {1}%, Valor Truncado: R$ {2}”, BCFGTSAfastam.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 Afastamento …: [ 3050 ]
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 Aux. Acid. / Serv. Militar / Adotante (GRRF) ]
[X] Formatar Descrição Exibindo Alíquota Aplicada (Ex: FGTS Aux. Acid… (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] Atualizar Acumulador Global de FGTS Afastamento 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 patronal de FGTS devido sobre proventos de trabalhadores afastados por auxílio-acidente, serviço militar ou licença-adotante no momento da rescisão contratual (base
3050), cujo recolhimento deva ocorrer via guia rescisória (GRRF / FGTS Digital Rescisório). - Os metadados originais de Impacto Financeiro “Sim”, Impacto Contábil “Sim”, isenções tributárias (INSS/IRRF/FGTS) e a sequência de execução
9056permanecem integralmente preservados. - O truncamento numérico oficial de guias rescisórias (
Func_Truncar) é mantido estritamente para garantir a paridade de centavos com os sistemas de arrecadação do Governo Federal.
Status Documental
- Status: Documentada
- Origem: export do Notion + catálogo da wiki
- Fonte rastreável:
30dc75ea2e8381c9a282d026ebd3241b