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.
- Se não houver lançamento (
-
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