Wiki / SuperCalculo ~4 min

213 - Bônus p/ Sócio

⚙️ Metadados

  • Código: 213
  • Tipo: Provento
  • INSS: ISE
  • FGTS: ISE
  • IRRF: PRO
  • Natureza eSocial: 3508 - Retiradas (pró-labore) de proprietários ou sócios
  • DSR: Não
  • Médias: Não
  • Impacto Financeiro: Não
  • Impacto Contábil: Sim
  • Sequência: 191

🧮 Regra Geral

  • Lógica de Cálculo: A verba é calculada apenas se houver um lançamento manual (Lancamento) existente para ela. Caso contrário, o cálculo é interrompido (return null), e a verba não é gerada. O valor da verba é proveniente do próprio lançamento manual, pois a fórmula não contém lógica de cálculo de valor.

  • Variáveis Utilizadas:

    • Lancamento (representa o lançamento manual da verba).
  • Condições Especiais:

    • A única condição é a validação da existência de um lançamento manual através da função Func_ValidarExistenciaLancamento.

🧩 Funções

  • Func_ValidarExistenciaLancamento(Lancamento): Verifica se existe um lançamento manual para a verba.

💡 Proposta de Novo Cálculo

Fórmula proposta (padronizada):

ValorBase = SE(OrigemCalculo == “LancamentoManual”, ValorDigitado, SE(PermitirAutomatico == Verdadeiro, SE(TipoValoracao == “Percentual”, BaseProLabore * (PercentualBonus / 100), ValorFixoBonus), 0))

ValorFinal213 = Func_ArredondamentoPadrao(MAX(PisoMinimo, MIN(ValorBase, SE(PossuiTeto == Verdadeiro, TetoMaximo, ValorBase))))


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

SE Config.ValidarElegibilidadeSocio E NAO (Empregado.CategoriaeSocial == “701” OU Empregado.CategoriaeSocial == “702” OU Empregado.EhSocio) ENTÃO RETORNAR NULO FIM_SE

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

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

SE Func_ValidarExistenciaLancamento(LancamentoManual) E LancamentoManual.ValorTotal > 0.0 ENTÃO ValorBaseCalculado = ABS(LancamentoManual.ValorTotal) OrigemValoracao = “LANCAMENTO_MANUAL_VALOR” SENÃO SE Config.PermitirCalculoAutomaticoBonusSocio ENTÃO SE Config.TipoValoracaoAutomatica == “PERCENTUAL_PROLABORE” ENTÃO BaseProLabore = Holerite.ObterValorTotalVerba(Config.CodigoVerbaProLabore) ValorBaseCalculado = BaseProLabore * (Config.PercentualBonus / 100.0) SENÃO SE Config.TipoValoracaoAutomatica == “VALOR_FIXO” ENTÃO ValorBaseCalculado = Config.ValorFixoBonus FIM_SE

OrigemValoracao = “AUTOMATICO_PARAMETRO” 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

ValorFinal213 = Func_ArredondamentoPadrao(ValorBrutoCalculado)

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

4. Gravação de Campos e Acumuladores Fiscais (Natureza eSocial 3508 - Retiradas de proprietários ou sócios)

RubricaBonusSocioIsentoINSS = CriarVerbaHoleriteBO(“213”, “Bônus p/ Sócio”) RubricaBonusSocioIsentoINSS.TipoVerba = “P”

RubricaBonusSocioIsentoINSS.Quantidade = SE(LancamentoManual != NULO E LancamentoManual.Quantidade > 0.0, LancamentoManual.Quantidade, 1.0) RubricaBonusSocioIsentoINSS.ValorReferencia = Func_ArredondamentoPadrao(ValorBaseCalculado) RubricaBonusSocioIsentoINSS.ValorTotal = ValorFinal213

Encargos Sociais Conforme Metadados (INSS: ISE, FGTS: ISE, IRRF: PRO) SE Config.TributarINSS ENTÃO Holerite.AcumularBase(“BASE_INSS_PRO_LABORE”, ValorFinal213) SENÃO Holerite.AcumularBase(“BASE_INSS_ISENTA_FOLHA”, ValorFinal213) FIM_SE

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

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

Repercussão de Reflexos: DSR e Médias (Sem DSR e Sem Médias Conforme Metadados) SE Config.ComporDSR E SysFunc_VerbaPossuiDSR(“213”) ENTÃO Holerite.AcumularBase(“BASE_HORAS_VARIAVEIS_DSR”, ValorFinal213) Func_DSR(“213”, “DSR s/ Bônus p/ Sócio”, “213”, ValorFinal213, RubricaBonusSocioIsentoINSS, VERDADEIRO) FIM_SE

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

Holerite.ListaHoleriteVerba.Adicionar(RubricaBonusSocioIsentoINSS)

Registro em memória de cálculo detalhada Argumento(“ORIGEM_VALORACAO_213”, OrigemValoracao) Argumento(“VALOR_BASE_213”, ValorBaseCalculado) Argumento(“VALOR_FINAL_213”, ValorFinal213)

EscreverMemoria(“BONUS_SOCIO_ISENTO_INSS”, String.Format(“Bônus p/ Sócio: Origem: {0} | Valor Base R$ {1} | Valor Final R$ {2}”, OrigemValoracao, ValorBaseCalculado.ToString(“N2”), ValorFinal213.ToString(“N2”)))

RETORNAR RubricaBonusSocioIsentoINSS

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 ] [ Apuração Automática por Diretoria/Sócio]

[ ] Exigir Filtro de Elegibilidade por Empresa / Cliente

[X] Validar Categoria eSocial do Trabalhador (Apenas Sócios / Diretores)

2. DIRETRIZES DE VALORAÇÃO AUTOMÁTICA

[ ] Permitir Apuração Automática de Bônus a Sócios

Tipo de Valoração Automática …: [ Percentual sobre Pró-Labore Base v ] [ Valor Fixo Parametrizado Tabela ]

Base Pró-Labore Referência …: [ Verba Pró-Labore Principal (Cód. 201) v ]

Percentual do Bônus (%) …: [ 0,00 % ]

Valor Fixo de Bônus 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 …: [ 3508 - Retiradas (pró-labore) de sócios v ]

Incidência INSS …: [ Isento (ISE) ]

Incidência FGTS …: [ Isento (ISE) ]

Incidência IRRF …: [ Pró-Labore / Contribuinte Individual (PRO) ]

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

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

Clientes com mesma regra

  • Padrão Geral (Todos os Clientes): O cálculo legado da verba 213 limita-se a validar a existência de lançamento manual por meio do método Func_ValidarExistenciaLancamento. Na nova arquitetura, o comportamento operacional permanece idêntico quando o modo de apuração for “Lançamento Manual em Valor”. A ausência de valor digitado encerra o processamento retornando nulo, garantindo compatibilidade total com os fluxos vigentes.

Status Documental

  • Status: Documentada
  • 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