Wiki / SuperCalculo ~4 min

182 - Taxa de Serviço

⚙️ Metadados

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

🧮 Regra Geral

N/A

🎯 Particularidades por Cliente/Setor

👤 Acal
  • Lógica de Cálculo: A verba 182 para o cliente acal é uma verba de lançamento. A lógica de cálculo verifica primeiramente se existe um lançamento (manual ou automático) para esta verba.

    • Se não houver lançamento (Func_ValidarExistenciaLancamento(Lancamento) == false), a execução da fórmula é interrompida (return null), resultando em valor zero para a verba.
    • Se houver lançamento, o valor da verba é o valor lançado, pois não há outra lógica de cálculo explícita na fórmula.
  • Variáveis Utilizadas:

    • Lancamento (representa o registro de lançamento da verba).
  • Funções Identificadas:

    • Func_ValidarExistenciaLancamento(Lancamento): Esta função verifica se existe um lançamento (manual ou automático) associado à verba em processamento.

💡 Proposta de Novo Cálculo

Fórmula proposta (padronizada):

ValorCalculado = SE(Origem == “LancamentoManualValor”, ValorDigitado, SE(Origem == “LancamentoManualQuantidade”, Qtd * ValorUnitario, SE(PermitirAutomatico == Verdadeiro, (TotalArrecadado / TotalCotasElegiveis) * CotasEmpregado, 0)))

ValorFinal182 = Func_ArredondamentoPadrao(MAX(PisoMinimo, MIN(ValorCalculado, SE(PossuiTeto == Verdadeiro, TetoMaximo, ValorCalculado))))


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

SE Config.PossuiDataVigenciaInicio E Solicitacao.DataReferencia < Config.DataVigenciaInicio ENTÃO RETORNAR NULO FIM_SE

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

SE Config.ExigirFiltroElegibilidadeEmpresa E NAO Config.EmpresasHabilitadas.Contem(Empregador.Id) ENTÃO RETORNAR NULO FIM_SE

2. Determinação da Base de Cálculo, Lançamentos e Valoração

LancamentoManual = Holerite.ObterLancamento(“182”) ValorBaseCalculado = 0.0 QuantidadeLancada = 0.0 OrigemValoracao = ""

SE Func_ValidarExistenciaLancamento(LancamentoManual) E LancamentoManual.ValorTotal > 0.0 ENTÃO ValorBaseCalculado = ABS(LancamentoManual.ValorTotal) QuantidadeLancada = SE(LancamentoManual.Quantidade > 0.0, LancamentoManual.Quantidade, 1.0) OrigemValoracao = “LANCAMENTO_MANUAL_VALOR”

SENÃO SE Func_ValidarExistenciaLancamento(LancamentoManual) E LancamentoManual.Quantidade > 0.0 ENTÃO QuantidadeLancada = LancamentoManual.Quantidade ValorUnitario = SE(LancamentoManual.ValorReferencia > 0.0, LancamentoManual.ValorReferencia, Config.ValorTaxaServicoPadrao) ValorBaseCalculado = QuantidadeLancada * ValorUnitario OrigemValoracao = “LANCAMENTO_MANUAL_QUANTIDADE”

SENÃO SE Config.PermitirCalculoAutomaticoRateio ENTÃO Apuração automática via rateio de gueltas/gorjetas/taxas de serviço arrecadadas no estabelecimento TotalTaxaArrecadada = ModuloFaturamento.ObterTotalTaxaServicoCompetencia(Empregador.Id, Solicitacao.Competencia) TotalCotasElegiveis = Empregador.ObterTotalCotasRateioElegiveis(Solicitacao.Competencia) CotasEmpregado = Empregado.ObterCotasRateio(Solicitacao.Competencia)

SE TotalTaxaArrecadada > 0.0 E TotalCotasElegiveis > 0.0 E CotasEmpregado > 0.0 ENTÃO ValorBaseCalculado = (TotalTaxaArrecadada / TotalCotasElegiveis) * CotasEmpregado QuantidadeLancada = CotasEmpregado OrigemValoracao = “AUTOMATICO_RATEIO_GUELTA” SENÃO RETORNAR NULO FIM_SE

SENÃO RETORNAR NULO FIM_SE

ValorBrutoCalculado = ValorBaseCalculado

3. Aplicação de Limites, Tetos e Pisos

SE Config.PossuiTetoMaximo E ValorBrutoCalculado > Config.ValorTetoMaximo ENTÃO ValorBrutoCalculado = Config.ValorTetoMaximo SENÃO SE Config.PossuiPisoMinimo E ValorBrutoCalculado < Config.ValorPisoMinimo ENTÃO ValorBrutoCalculado = Config.ValorPisoMinimo FIM_SE

ValorFinal182 = Func_ArredondamentoPadrao(ValorBrutoCalculado)

SE ValorFinal182 <= 0.0 E NAO Config.GravarVerbaZerada ENTÃO RETORNAR NULO FIM_SE

4. Gravação de Campos e Acumuladores Fiscais (Natureza eSocial 1099 - Outras verbas salariais)

RubricaTaxaServico = CriarVerbaHoleriteBO(“182”, “Taxa de Serviço”) RubricaTaxaServico.TipoVerba = “P”

RubricaTaxaServico.Quantidade = Func_ArredondamentoPadrao(QuantidadeLancada) RubricaTaxaServico.ValorReferencia = Func_ArredondamentoPadrao(SE(QuantidadeLancada > 0.0, ValorBaseCalculado / QuantidadeLancada, 0.0)) RubricaTaxaServico.ValorTotal = ValorFinal182

Encargos Sociais Conforme Metadados (INSS: SAL, FGTS: SAL, IRRF: SAL) SE Config.TributarINSS ENTÃO Holerite.AcumularBase(“BASE_INSS_FOLHA”, ValorFinal182) SENÃO Holerite.AcumularBase(“BASE_INSS_ISENTA_FOLHA”, ValorFinal182) FIM_SE

SE Config.TributarFGTS ENTÃO Holerite.AcumularBase(“BASE_FGTS_FOLHA”, ValorFinal182) SENÃO Holerite.AcumularBase(“BASE_FGTS_ISENTA_FOLHA”, ValorFinal182) FIM_SE

SE Config.TributarIRRF ENTÃO Holerite.AcumularBase(“BASE_IRRF_FOLHA”, ValorFinal182) SENÃO Holerite.AcumularBase(“BASE_IRRF_ISENTA_FOLHA”, ValorFinal182) FIM_SE

Repercussão de Reflexos: DSR e Médias (Sem DSR e Sem Médias Conforme Metadados) SE Config.ComporDSR E SysFunc_VerbaPossuiDSR(“182”) ENTÃO Holerite.AcumularBase(“BASE_HORAS_VARIAVEIS_DSR”, ValorFinal182) Func_DSR(“182”, “DSR s/ Taxa de Serviço”, “182”, ValorFinal182, RubricaTaxaServico, VERDADEIRO) FIM_SE

SE Config.IncorporaMedias ENTÃO Holerite.AcumularBase(“BASE_MEDIAS_13”, ValorFinal182) Holerite.AcumularBase(“BASE_MEDIAS_FERIAS”, ValorFinal182) Holerite.AcumularBase(“BASE_MEDIAS_RESCISAO”, ValorFinal182) FIM_SE

Holerite.ListaHoleriteVerba.Adicionar(RubricaTaxaServico)

Registro em memória de cálculo detalhada Argumento(“ORIGEM_VALORACAO_182”, OrigemValoracao) Argumento(“VALOR_BASE_182”, ValorBaseCalculado) Argumento(“VALOR_FINAL_182”, ValorFinal182)

EscreverMemoria(“TAXA_SERVICO”, String.Format(“Taxa de Serviço: Origem: {0} | Valor Base R$ {1} | Valor Final R$ {2}”, OrigemValoracao, ValorBaseCalculado.ToString(“N2”), ValorFinal182.ToString(“N2”)))

RETORNAR RubricaTaxaServico

FIM


Parametrizações Propostas para Reestruturação

1. REGRAS DE ENTRADA E FILTROS DE ELEGIBILIDADE Tipos de Folha Permitidos …: [X] Férias [X] Regular [X] Rescisão [ ] Provisões

Modo Principal de Apuração …: [ Lançamento Manual em Valor v ] [ Lançamento Manual em Valor ] [ Lançamento Manual por Qtd x Valor Unit ] [ Apuração Automática via Rateio Cotas ]

[ ] Exigir Filtro de Elegibilidade por Empresa / Cliente / Estabelecimento

2. DIRETRIZES DE VALORAÇÃO E RATEIO DE GUELTA / GORJETAS

[ ] Permitir Apuração Automática por Rateio de Arrecadação

Valor Padrão da Taxa R$ …: [ 0,00 ]

3. LIMITES E CONTROLE

[ ] Possui Teto Máximo

Valor Teto Máximo R$ …: [ 0,00 ]

[ ] Possui Piso Mínimo

Valor Piso Mínimo R$ …: [ 0,00 ]

[ ] Gravar Verba quando Valor Final for Zero

4. ENCARGOS E NATUREZA ESOCIAL

Natureza eSocial …: [ 1099 - Outras verbas salariais v ]

Incidência INSS …: [ Mensal / Salário (SAL) ]

Incidência FGTS …: [ Mensal / Salário (SAL) ]

Incidência IRRF …: [ Mensal / Salário (SAL) ]

Afeta DSR …: [ ] Sim [X] Não

Incorpora Médias …: [ ] Sim [X] Não

Status Documental

  • Status: Em construção
  • 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