Wiki / SuperCalculo ~5 min

3060 - Base INSS Empregador, sem limite

⚙️ Metadados

  • Código: 3060
  • Tipo: Bases
  • INSS: ISE
  • FGTS: ISE
  • IRRF: ISE
  • Natureza eSocial: -
  • DSR: Não
  • Médias: Não
  • Impacto Financeiro: Não
  • Impacto Contábil: Sim
  • Sequência: 7511

🧮 Regra Geral

  • Lógica de Cálculo:

    1. A verba HoleriteBase.ValorBase é inicializada.
    2. A partir de 01/02/2021: Se a Solicitacao.DataReferencia for igual ou posterior a 01/02/2021, o HoleriteBase.ValorBase é calculado como a soma de VG_SCSalario (Salário de Contribuição) e VG_SCProLabore (Pró-Labore de Contribuição), subtraindo VG_INSSBasePatronal_RescPagasMesmoMes3060SAL (base patronal de INSS de rescisões pagas no mesmo mês). O resultado é arredondado.
    3. Isenção de Maternidade: Se a variável VG_SC_INSS_Matern_ParteEmpresaIsenta for true (indicando que a parte da empresa na maternidade é isenta), o sistema calcula o VlrMatern somando os valores das verbas de Salário-Maternidade (30, 297, 346, 31, 472).
      • Maternidade Empresa Cidadã: Se VG_MaternCidada_SemCPP for true, são adicionadas ao VlrMatern as verbas de Salário-Maternidade Empresa Cidadã (33, 298, 347, 473).
      • O VlrMatern total é então subtraído de HoleriteBase.ValorBase.
    4. Isenção de Paternidade: Se a variável VG_Paternidade_Sem_CPP for true (indicando licença-paternidade isenta de Contribuição Previdenciária Patronal - CPP), o valor da verba 1930 (Licença-Paternidade (isento CPP)) é subtraído de HoleriteBase.ValorBase.
    5. Validação de Valor Negativo: Se, após todos os cálculos, HoleriteBase.ValorBase for menor que 0 (zero) e o Solicitacao.TipoProcesso não for Provisoes, o sistema dispara um erro (SysFunc_Panico).
  • Fórmula matemática:

    • HoleriteBase.ValorBase = Func_ArredondamentoPadrao(VG_SCSalario + VG_SCProLabore - VG_INSSBasePatronal_RescPagasMesmoMes3060SAL) HoleriteBase.ValorBase -= VlrMatern HoleriteBase.ValorBase -= RecuperarValorTotalVerba("1930")
  • Variáveis Utilizadas:

    • HoleriteBase.ValorBase
    • Solicitacao.DataReferencia
    • VG_SCSalario
    • VG_SCProLabore
    • VG_INSSBasePatronal_RescPagasMesmoMes3060SAL
    • VG_SC_INSS_Matern_ParteEmpresaIsenta
    • VlrMatern
    • VG_MaternCidada_SemCPP
    • VG_Paternidade_Sem_CPP
    • Solicitacao.TipoProcesso.
  • Condições Especiais:

    • Cálculo inicial condicionado à Solicitacao.DataReferencia >= SysFunc_NovaData(01, 02, 2021).
    • Ajuste por maternidade condicionado a VG_SC_INSS_Matern_ParteEmpresaIsenta == true.
    • Ajuste por maternidade Empresa Cidadã condicionado a VG_MaternCidada_SemCPP == true.
    • Ajuste por paternidade condicionado a VG_Paternidade_Sem_CPP == true.
    • Validação de HoleriteBase.ValorBase < 0M e Solicitacao.TipoProcesso != EnumTipoProcessoBO.Provisoes para acionar pânico.

🔗 Dependências

  • Verbas Relacionadas:
    • 30 (Salário-Maternidade)
    • 297 (Média Salário-Maternidade)
    • 346 (DSR Média Salário-Maternidade)
    • 31 (Dif. Salário-Maternidade)
    • 472 (Dif. Dissídio Salário-Maternidade)
    • 33 (Sal.-Mater. Empresa Cidadã)
    • 298 (Média Sal.-Mater. Emp. Cidadã)
    • 347 (DSR Média Sal.-Mater. Emp. Cidadã)
    • 473 (Dif. Dissídio Sal.-Mater. Empresa Cidadã)
    • 1930 (Licença-Paternidade (isento CPP))
  • Tipo de Relação: Dependência. O cálculo da verba 3060 utiliza os valores dessas outras verbas para compor sua base.

🧩 Funções

  • SysFunc_NovaData(dia, mes, ano): Cria um objeto DateTime a partir de dia, mês e ano. Usada para comparação de datas.
  • Func_ArredondamentoPadrao(valor): Arredonda um valor numérico conforme o padrão do sistema. Usada para arredondar a base de cálculo.
  • RecuperarValorTotalVerba("codigo"): Obtém o valor total acumulado de uma verba específica. Usada para somar valores de verbas de maternidade e paternidade.
  • SysFunc_Panico("mensagem"): Interrompe o processamento e registra uma mensagem de erro crítico. Usada para sinalizar uma base de cálculo negativa inesperada.

💡 Proposta de Novo Cálculo

Fórmula proposta (padronizada):

BaseBruta = ARRED_PADRAO(VG_SCSalario + VG_SCProLabore - VG_INSSBasePatronal_RescPagasMesmoMes3060SAL)

DeducaoMaternidade = (IsentoMaternidade ? Σ(VerbasMaternidade) : 0) + (IsentoCidada ? Σ(VerbasMaternidadeCidada) : 0)

DeducaoPaternidade = IsentoPaternidade ? Σ(VerbasPaternidade) : 0

BaseLiquida = BaseBruta - DeducaoMaternidade - DeducaoPaternidade

ValorBaseFinal = ARRED_PADRAO(MAX(0, BaseLiquida))


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

SE Solicitacao.TipoProcesso == PROVISOES E NAO Config.PermitirCalculoEmProvisoes ENTÃO RETORNAR NULO FIM_SE

Validação de tipo de folha permitido via parametrização SE NAO Config.TiposFolhaPermitidos.Contem(Solicitacao.TipoFolha) ENTÃO RETORNAR NULO FIM_SE

Validação de Vigência do Cálculo (Substitui validação legada de 01/02/2021) SE Config.ValidarDataVigencia E Solicitacao.DataReferencia < Config.DataInicioVigencia ENTÃO RETORNAR NULO FIM_SE

2. Determinação da Base de Cálculo Bruta (Acumuladores do Mês)

SalarioContribuição = VG_SCSalario != NULO ? VG_SCSalario : 0 ProLaboreContribuição = VG_SCProLabore != NULO ? VG_SCProLabore : 0 DeducaoRescisaoMês = VG_INSSBasePatronal_RescPagasMesmoMes3060SAL != NULO ? VG_INSSBasePatronal_RescPagasMesmoMes3060SAL : 0

BaseBruta = (SalarioContribuição + ProLaboreContribuição) - DeducaoRescisaoMês BaseBrutaArredondada = Func_ArredondamentoPadrao(BaseBruta)

3. Apuração de Deduções e Isenções Previdenciárias Patronais

ValorIsencaoMaternidade = 0 ValorIsencaoPaternidade = 0

A) Dedução de Salário-Maternidade SE Config.IsentarMaternidadePatronal OU VG_SC_INSS_Matern_ParteEmpresaIsenta ENTÃO ValorIsencaoMaternidade = SysFunc_SomarVerbas(Config.VerbasMaternidadePadrao)

Inclusão de Salário-Maternidade Empresa Cidadã SE Config.IsentarMaternidadeCidada OU VG_MaternCidada_SemCPP ENTÃO ValorIsencaoMaternidade = ValorIsencaoMaternidade + SysFunc_SomarVerbas(Config.VerbasMaternidadeCidada) FIM_SE FIM_SE

B) Dedução de Licença-Paternidade (Isenção CPP) SE Config.IsentarPaternidadePatronal OU VG_Paternidade_Sem_CPP ENTÃO ValorIsencaoPaternidade = SysFunc_SomarVerbas(Config.VerbasPaternidade) FIM_SE

4. Apuração da Base Líquida e Tratamento de Exceções/Erros

BaseLiquida = BaseBrutaArredondada - ValorIsencaoMaternidade - ValorIsencaoPaternidade

Tratamento Seguro de Base Negativa (Substitui pânico abrupto no sistema) SE BaseLiquida < 0 ENTÃO SE Solicitacao.TipoProcesso == PROVISOES ENTÃO BaseLiquida = 0 SENÃO SE Config.AcaoBaseNegativa == “BLOQUEAR_E_NOTIFICAR” ENTÃO SysFunc_RegistrarErroCalculo(“Base de INSS Patronal negativa detectada no cálculo.”, Empregado.Id, Solicitacao.Id) RETORNAR NULO SENÃO SE Config.AcaoBaseNegativa == “ZERAL_E_CONTINUAR” ENTÃO BaseLiquida = 0 FIM_SE FIM_SE FIM_SE

SE BaseLiquida <= 0 E NAO Config.GravarBaseZerada ENTÃO RETORNAR NULO FIM_SE

5. Aplicação de Limites, Tetos, Pisos e Arredondamento

ValorFinal = BaseLiquida

SE Config.AplicaTetoMaximo E Config.TetoMaximoPermitido > 0 E ValorFinal > Config.TetoMaximoPermitido ENTÃO ValorFinal = Config.TetoMaximoPermitido FIM_SE

SE Config.AplicaPisoMinimo E Config.PisoMinimoPermitido > 0 E ValorFinal < Config.PisoMinimoPermitido ENTÃO ValorFinal = Config.PisoMinimoPermitido FIM_SE

ValorFinalArredondado = Func_ArredondamentoPadrao(ValorFinal)

6. Gravação da Base de Cálculo e Atualização de Acumuladores Globais

SE ValorFinalArredondado > 0 OU Config.GravarBaseZerada ENTÃO NovaBase = CriarVerbaHoleriteBaseBO(“3060”, “Base INSS Empregador, sem limite”) NovaBase.TipoImposto = Config.TipoImpostoTributavel // Padrão: INSS NovaBase.TipoIncidencia = Config.TipoIncidenciaINSS // Padrão: INSS_EMPREGADOR NovaBase.ValorBase = ValorFinalArredondado

CopiarIncidencias(VerbaOriginal(“3060”), NovaBase)

NovaBase.ImpactoFinanceiro = Config.ImpactoFinanceiro // Padrão: Falso NovaBase.ImpactoContabil = Config.ImpactoContabil // Padrão: Verdadeiro

Alimentação de acumulador do motor de apuração da quota patronal SE Config.AtualizarAcumuladorINSSPatronal ENTÃO VG_BaseINSS_Patronal_SemLimite_Liquidacao = ValorFinalArredondado FIM_SE

Holerite.ListaHoleriteBase.Adicionar(NovaBase) FIM_SE

FIM


Parametrizações Propostas para Reestruturação

1. REGRAS DE ENTRADA E VIGÊNCIA

[ ] Permitir Execução no Processo de Provisões

Tipos de Folha Permitidos …: [X] Regular [X] Férias [X] Rescisão [X] Complementar

[X] Validar Data de Início de Vigência

Data Início Vigência do Cálculo …: [ 01/02/2021 ]

2. ISENÇÕES PREVIDENCIÁRIAS PATRONAIS (ISENÇÃO CPP)

[X] Aplicar Isenção Patronal para Salário-Maternidade

Verbas de Salário-Maternidade Padrão …: [ 30, 297, 346, 31, 472 ]

[X] Aplicar Isenção Patronal para Maternidade Empresa Cidadã

Verbas de Maternidade Empresa Cidadã …: [ 33, 298, 347, 473 ]

[X] Aplicar Isenção Patronal para Licença-Paternidade

Verbas de Licença-Paternidade …: [ 1930 ]

3. TRATAMENTO DE ERROS E SEGURANÇA OPERACIONAL

Ação para Base com Valor Negativo …: (X) Bloquear Folha e Registrar Erro

( ) Zerar Resultado e Continuar

( ) Permitir Valor Negativo

Permitir Execução sem Acumuladores …: [ ] Sim [X] Não

4. MODO DE PROCESSAMENTO E CRITÉRIOS DE GRAVAÇÃO

Impacto Financeiro …: [ ] Sim [X] Não

Impacto Contábil …: [X] Sim [ ] Não

Arredondamento Padrão …: [X] Sim [ ] Não

Tratamento para Base Zero …: (X) Ignorar Gravação ( ) Gravar com R$ 0,00

[X] Atualizar Acumulador Global de INSS Patronal (VG_BaseINSS_Patronal_SemLimite_Liquidacao)

5. LIMITES E PROTEÇÃO DE VALORES

Aplica Teto Máximo Permitido? …: [ ] Sim [X] Não

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

Aplica Piso Mínimo Permitido? …: [ ] Sim [X] Não

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

6. 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 / Todos os Clientes: A engine unificada atende integralmente a todas as operações. O motor compõe a base previdenciária patronal ilimitada somando os salários de contribuição e pró-labore, abatendo as rescisões pagas no mês e aplicando as deduções parametrizadas de salário-maternidade (padrão e empresa cidadã) e licença-paternidade.

Status Documental

  • Status: Documentada
  • Origem: export do Notion + catálogo da wiki
  • Fonte rastreável: 30dc75ea2e838173ac0cd25b6c4b243b

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