731 - Desc. Adiantamentos Pró-Labore
⚙️ Metadados
- Código: 731
- Tipo: Desconto
- INSS: ISE
- FGTS: ISE
- IRRF: ISE
- Natureza eSocial: 9200 - Desconto de Adiantamentos
- DSR: Não
- Médias: Não
- Impacto Financeiro: Não
- Impacto Contábil: Sim
- Sequência: 190
🧮 Regra Geral
- Lançamento manual em valor.
💡 Proposta de Novo Cálculo
Fórmula proposta (padronizada):
ValorCapturado = SE(ExisteLancamentoManual(731), SE(ValorLancadoDireto > 0, ValorLancadoDireto, BaseProLabore * (QtdLancada / 100)), SE(RecuperarAdiantamentoAnterior, ValorAdiantadoAcumulado, 0))
ValorDescontoFinal = SE(ProcessoPermitido E CategoriaElegivel E ValorCapturado > 0, ARREDONDAR(LIMITAR(ABSOLUTO(ValorCapturado), PisoMinimo, TetoMaximo)), 0)
1. Filtros de Elegibilidade e Isenções (Piso Seguro)
SE Solicitacao.TipoProcesso == PROVISOES E NAO Config.PermitirCalculoEmProvisoes ENTÃO RETORNAR NULO FIM_SE
SE NAO Config.TiposFolhaPermitidos.Contem(Solicitacao.TipoFolha) ENTÃO RETORNAR NULO FIM_SE
Validação da Categoria do Trabalhador (Pró-Labore / Diretores) SE Config.ValidarCategoriaTrabalhador E NAO Config.CategoriasElegiveis.Contem(Empregado.CategoriaeSocial) ENTÃO RETORNAR NULO FIM_SE
2. Determinação da Base de Cálculo, Captura de Lançamento e Fallbacks
LancamentoValido = Holerite.ObterLancamentoManual(“731”) ValorLancadoDireto = Holerite.ObterValorLancamentoManual(“731”) QtdLancadaDireta = Holerite.ObterQuantidadeLancamentoManual(“731”)
SE Config.ExigirLancamentoManualObrigatorio E NAO Func_ValidarExistenciaLancamento(LancamentoValido) ENTÃO RETORNAR NULO FIM_SE
ValorBrutoCalculado = 0.0 QuantidadeAplicada = 0.0
-
Prioridade 1: Lançamento Manual Direto por Valor SE ValorLancadoDireto != NULO E ValorLancadoDireto > 0.0 ENTÃO ValorBrutoCalculado = ValorLancadoDireto QuantidadeAplicada = QtdLancadaDireta > 0.0 ? QtdLancadaDireta : 0.0
-
Prioridade 2: Lançamento Manual por Percentual sobre o Pró-Labore/Retirada SENÃO SE QtdLancadaDireta != NULO E QtdLancadaDireta > 0.0 ENTÃO BaseProLabore = Holerite.ObterValorBaseCalculo(Config.CodigoBaseProLabore)
SE BaseProLabore <= 0.0 ENTÃO BaseProLabore = Empregado.ObterValorProLaboreContratual() FIM_SE
QuantidadeAplicada = QtdLancadaDireta ValorBrutoCalculado = BaseProLabore * (QtdLancadaDireta / 100.0)
-
Prioridade 3: Recuperação de Adiantamento Concedido no Mês (Processo Anterior) SENÃO SE Config.RecuperarAdiantamentoProcessoAnterior ENTÃO ValorAdiantado = Holerite.ObterValorAcumuladoProcessoAnterior(Config.CodigoVerbaAdiantamentoOrigem) SE ValorAdiantado > 0.0 ENTÃO ValorBrutoCalculado = ValorAdiantado FIM_SE SENÃO RETORNAR NULO FIM_SE
SE ValorBrutoCalculado <= 0.0 ENTÃO RETORNAR NULO FIM_SE
3. Aplicação de Limites, Tetos e Arredondamento
ValorAbsoluto = Func_Absoluto(ValorBrutoCalculado)
SE Config.PossuiTetoMaximo E ValorAbsoluto > Config.ValorTetoMaximo ENTÃO ValorAbsoluto = Config.ValorTetoMaximo SENÃO SE Config.PossuiPisoMinimo E ValorAbsoluto < Config.ValorPisoMinimo ENTÃO ValorAbsoluto = Config.ValorPisoMinimo FIM_SE
ValorDescontoFinal = Func_ArredondamentoPadrao(ValorAbsoluto)
SE ValorDescontoFinal <= 0.0 E NAO Config.GravarVerbaZerada ENTÃO RETORNAR NULO FIM_SE
4. Gravação de Campos, Acumuladores e Registro da Verba (731)
NovaVerba = CriarVerbaHoleriteBO(“731”, Config.DescricaoPadrao) NovaVerba.TipoVerba = “D” // Tipo: Desconto NovaVerba.ValorBase = ValorBrutoCalculado NovaVerba.Quantidade = QuantidadeAplicada NovaVerba.ValorTotal = ValorDescontoFinal NovaVerba.DescricaoFinal = Config.DescricaoPadrao.Trim()
NovaVerba.TipoIncidenciaINSS = Config.IncidenciaINSS // Padrão: ISE (Isento) NovaVerba.TipoIncidenciaFGTS = Config.IncidenciaFGTS // Padrão: ISE (Isento) NovaVerba.TipoIncidenciaIRRF = Config.IncidenciaIRRF // Padrão: ISE (Isento) NovaVerba.NaturezaeSocial = Config.NaturezaeSocial // Padrão: 9200 - Desconto de Adiantamentos
CopiarIncidencias(VerbaOriginal(“731”), NovaVerba)
NovaVerba.ImpactoFinanceiro = Config.ImpactoFinanceiro // Conforme ficha técnica: Não NovaVerba.ImpactoContabil = Config.ImpactoContabil // Conforme ficha técnica: Sim
SE Config.AtualizarAcumuladorAdiantamentos ENTÃO VG_TotalDescontoAdiantamentoProLabore = VG_TotalDescontoAdiantamentoProLabore + ValorDescontoFinal FIM_SE
Registro de Memória de Cálculo Transparente EscreverMemoria(“DESC_ADIANT_PRO_LABORE”, String.Format(“Desconto Adiantamento Pró-Labore: Valor Base = R$ {0}, Quantidade = {1}, Desconto Final = R$ {2}”, ValorBrutoCalculado.ToString(“N2”), QuantidadeAplicada.ToString(“N2”), ValorDescontoFinal.ToString(“N2”)))
Holerite.ListaHoleriteVerba.Adicionar(NovaVerba)
FIM
Parametrizações Propostas para Reestruturação
1. REGRAS DE ENTRADA E FILTROS DE ELEGIBILIDADE
[X] Exigir Lançamento Manual Obrigatório
[ ] Permitir Execução no Processo de Provisões
Tipos de Folha Permitidos …: [X] Regular [X] Rescisão [X] Complementar
[X] Validar Categoria eSocial do Trabalhador
Categorias Elegíveis …: [ 721 - Director Não Empregado, 722 - Director Empregado, 723 - Empresário/Sócio v ]
2. MODO DE CÁLCULO E CAPTURA DE VALORES
Modo de Captura Predominante …: [ 1. Valor Direto | 2. Percentual | 3. Busca Processo Anterior v ]
Código da Base de Referência do Pró-Labore : [ 3100 ] (Pró-Labore Contratual/Bruto)
[ ] Buscar Automaticamente Adiantamento Concedido no Processo Anterior
Código da Verba de Adiantamento Origem : [ 050 ] (Adiantamento Pró-Labore Concedido)
3. DIRETRIZES DE PROTEÇÃO, LIMITES E ARREDONDAMENTO
[ ] Aplicar Teto Máximo de Desconto
Valor Teto Máximo …: [ 0,00 ]
[ ] Aplicar Piso Mínimo de Desconto
Valor Piso Mínimo …: [ 0,00 ]
Regra de Arredondamento/Ajuste …: [ Arredondamento Padrão (Func_ArredondamentoPadrao) v ]
[ ] Permitir Gravação da Rubrica com Valor Zerado
4. FORMATAÇÃO E IMPACTOS
Descrição Padrão da Rubrica …: [ Desc. Adiantamentos Pró-Labore ]
Tipo da Rubrica …: [ Desconto ]
Impacto Financeiro …: [ ] Sim [X] Não
Impacto Contábil …: [X] Sim [ ] Não
[X] Atualizar Acumulador Global de Adiantamentos Pró-Labore
5. TRIBUTAÇÃO E ENVIOS ESOCIAL
Natureza eSocial …: [ 9200 - Desconto de Adiantamentos ]
Incidência INSS …: [ Isento (ISE) ]
Incidência FGTS …: [ Isento (ISE) ]
Incidência IRRF …: [ Isento (ISE) ]
Clientes com mesma regra
- Padrão Geral (Todos os Clientes): O comportamento legado, caracterizado como “Lançamento manual em valor”, é integralmente assimilado pelo motor unificado selecionando
Exigir Lançamento Manual Obrigatório = SimeModo de Captura Predominante = Valor Direto. - O motor preserva a sequência de execução
190e os metadados cadastrais, fiscais e contábeis: Tipo “Desconto”, ISENÇÃO de INSS, FGTS e IRRF (ISE), Natureza eSocial9200, DSR “Não”, Médias “Não”, Impacto Financeiro “Não” e Impacto Contábil “Sim”.
Status Documental
- Status: Documentada
- Origem: export do Notion + catálogo da wiki
- Fonte rastreável:
30dc75ea2e8381c7895ace6ead055264