Wiki / SuperCalculo ~7 min

2728 - Prov Ajuste Enc. PIS 13º Sal. -

⚙️ Metadados

  • Código: 2728
  • Tipo: Provisão
  • 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: 473

🧮 Regra Geral

  • Lógica de Cálculo:

    1. Verificação de Condições de Saída: O cálculo é interrompido (return null) se a variável global VGP_ProvTransfSaidaMesSeguinte for true OU se a variável global VGP_PIS_sobre_Folha for false.
    2. Cálculo do Valor Base: O valor é determinado pela soma e subtração de valores de provisão de outras verbas:
      • Soma dos valores provisionados das verbas 2722 (Prov Enc. PIS 13º Sal. Acum.), 2724 (Prov Baixa Transf. Enc. PIS 13º Sal. Acum.) e 2723 (Prov Baixa Enc. PIS 13º Sal.).
      • Subtração dos valores provisionados das verbas 2726 (Prov Enc. PIS 13º Sal. Mês Atual), 2721 (Prov Enc. PIS 13º Sal. Acum. Mês Ant.) e 2725 (Prov Receb. Transf. Enc. PIS 13º Sal. Acum.).
    3. Tratamento de Valor Negativo: Se o valor calculado for menor que zero, ele é arredondado (Func_ArredondamentoPadrao) e, em seguida, transformado em positivo (Positivo) antes de ser atribuído a HoleriteProvisao.ValorTotal. Se o valor for zero ou positivo, HoleriteProvisao.ValorTotal não é explicitamente atribuído por este bloco de código.
  • Fórmula matemática:

    • valor = RecuperarValorProvisao("2722") + RecuperarValorProvisao("2724") + RecuperarValorProvisao("2723") - RecuperarValorProvisao("2726") - RecuperarValorProvisao("2721") - RecuperarValorProvisao("2725")
  • Variáveis Utilizadas:

    • VGP_ProvTransfSaidaMesSeguinte: Variável global booleana que indica se há provisão de transferência de saída para o mês seguinte.
    • VGP_PIS_sobre_Folha: Variável global booleana que indica se o PIS incide sobre a folha.
    • valor: Variável local decimal que armazena o resultado intermediário do cálculo.
    • HoleriteProvisao.ValorTotal: Variável de saída que armazena o valor final da provisão.
  • Condições Especiais:

    • if (VGP_ProvTransfSaidaMesSeguinte == true || VGP_PIS_sobre_Folha == false): Condição de guarda que interrompe o cálculo se a provisão de transferência de saída estiver ativa ou se o PIS não incidir sobre a folha.
    • if (valor < 0M): Condição que aplica o arredondamento e a conversão para valor positivo apenas se o resultado do cálculo for negativo.

🔗 Dependências

  • Verbas Relacionadas:
    • 2722 (Prov Enc. PIS 13º Sal. Acum.)
    • 2724 (Prov Baixa Transf. Enc. PIS 13º Sal. Acum.)
    • 2723 (Prov Baixa Enc. PIS 13º Sal.)
    • 2726 (Prov Enc. PIS 13º Sal. Mês Atual)
    • 2721 (Prov Enc. PIS 13º Sal. Acum. Mês Ant.)
    • 2725 (Prov Receb. Transf. Enc. PIS 13º Sal. Acum.)
  • Tipo de Relação: Dependência. O cálculo da verba 2728 depende diretamente dos valores previamente calculados e provisionados das verbas listadas.

🧩 Funções

    • RecuperarValorProvisao(string codigoVerba): Recupera o valor provisionado de uma verba específica.
    • Positivo(decimal valor): Retorna o valor absoluto (positivo) de um número.
    • Func_ArredondamentoPadrao(decimal valor): Arredonda o valor conforme o padrão do sistema.

💡 Proposta de Novo Cálculo

Fórmula proposta (padronizada):

HoleriteProvisao(2728).ValorTotal = (HABILITAR_VERBA_2728 == VERDADEIRO E VGP_PIS_sobre_Folha == VERDADEIRO E VGP_ProvTransfSaidaMesSeguinte == FALSO E TipoVinculo NOT IN TIPOS_VINCULO_EXCLUIDOS E (RecuperarValorProvisao(2722) + RecuperarValorProvisao(2724) + RecuperarValorProvisao(2723) - RecuperarValorProvisao(2726) - RecuperarValorProvisao(2721) - RecuperarValorProvisao(2725)) < 0) ? ARRED_PADRAO(ABS(RecuperarValorProvisao(2722) + RecuperarValorProvisao(2724) + RecuperarValorProvisao(2723) - RecuperarValorProvisao(2726) - RecuperarValorProvisao(2721) - RecuperarValorProvisao(2725))) : 0


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

SE NOT tabela_parametros.obter_flag(“HABILITAR_VERBA_2728”) ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2728 desabilitada em parâmetros gerais.”) RETORNAR_VALOR(NULO) FIM_SE

Validação da variável global de recolhimento de PIS sobre Folha tem_pis_folha = holerite_atual.obter_variavel_global_booleana_default(“VGP_PIS_sobre_Folha”, FALSO) SE NOT tem_pis_folha ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2728 interrompida: VGP_PIS_sobre_Folha é FALSO.”) RETORNAR_VALOR(NULO) FIM_SE

Interrompe processamento em caso de transferência de saída para mês seguinte SE holerite_atual.obter_variavel_global_booleana_default(“VGP_ProvTransfSaidaMesSeguinte”, FALSO) ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2728 interrompida: VGP_ProvTransfSaidaMesSeguinte ativo.”) RETORNAR_VALOR(NULO) FIM_SE

Validação Dinâmica de Exclusão por Tipo de Vínculo tipos_vinculo_bloqueados = tabela_parametros.obter_lista_string(“TIPOS_VINCULO_EXCLUIDOS”) SE tipos_vinculo_bloqueados.contem(colaborador.tipo_vinculo) ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2728 ignorada: Tipo de vínculo ’” + CONVERTER_PARA_TEXTO(colaborador.tipo_vinculo) + ”’ excluído.”) RETORNAR_VALOR(NULO) FIM_SE

2. Determinação dos Componentes de Ajuste (Adições e Subtrações)

Recuperação parametrizada das listas de verbas de adição e subtração lista_cod_somar = tabela_parametros.obter_lista_string(“VERBAS_PROVISAO_SOMAR”) // Padrão: [“2722”, “2724”, “2723”] lista_cod_subtrair = tabela_parametros.obter_lista_string(“VERBAS_PROVISAO_SUBTRAIR”) // Padrão: [“2726”, “2721”, “2725”]

soma_provisoes_positivas = 0.00 PARA CADA cod_verba EM lista_cod_somar FAÇA soma_provisoes_positivas = soma_provisoes_positivas + holerite_atual.recuperar_valor_provisao(cod_verba) FIM_PARA

soma_provisoes_negativas = 0.00 PARA CADA cod_verba EM lista_cod_subtrair FAÇA soma_provisoes_negativas = soma_provisoes_negativas + holerite_atual.recuperar_valor_provisao(cod_verba) FIM_PARA

3. Aplicação da Equação de Ajuste Negativo e Módulo/Inversão de Sinal

resultado_bruto = soma_provisoes_positivas - soma_provisoes_negativas

A verba de ajuste negativo só deve ser gerada se o resultado do confronto for menor que zero SE resultado_bruto >= 0.00 ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2728 interrompida: Ajuste calculado de PIS 13º Salário não é negativo (Resultado: R$ ” + CONVERTER_PARA_TEXTO(resultado_bruto) + ”).”) RETORNAR_VALOR(NULO) FIM_SE

Conversão do valor negativo apurado para módulo (positivo) antes do salvamento valor_final = ARREDONDAR_PADRAO(OBTER_VALOR_ABSOLUTO(resultado_bruto))

4. Instanciação e Gravação da Provisão

instancia_provisao = holerite_atual.criar_instancia_provisao(“2728”) instancia_provisao.descricao_final = tabela_parametros.obter_string_default(“TEXTO_DESCRICAO”, “Prov Ajuste Enc. PIS 13º Sal. -”) instancia_provisao.quantidade = 0.00 instancia_provisao.valor_integral = valor_final instancia_provisao.valor_total = valor_final

instancia_provisao.incidencia_inss = ENUM_INCIDENCIA.ISENTO instancia_provisao.incidencia_fgts = ENUM_INCIDENCIA.ISENTO instancia_provisao.incidencia_irrf = ENUM_INCIDENCIA.ISENTO

memoria_calculo = “Cálculo Dynamic de Ajuste Negativo de Encargos PIS sobre 13º Salário” + ” | Verbas Somadas (Crédito): R$ ” + CONVERTER_PARA_TEXTO(soma_provisoes_positivas) + ” | Verbas Subtraídas (Débito): R$ ” + CONVERTER_PARA_TEXTO(soma_provisoes_negativas) + ” | Saldo Devedor Apurado: R$ ” + CONVERTER_PARA_TEXTO(resultado_bruto) + ” | Valor Módulo Final Gravado: R$ ” + CONVERTER_PARA_TEXTO(valor_final)

instancia_provisao.memoria_calculo = memoria_calculo holerite_atual.adicionar_verba_provisao(instancia_provisao)

REGISTRAR_LOG_INFORMATIVO(“Verba 2728 concluída com sucesso. Valor Total Ajuste Negativo PIS 13º: R$ ” + CONVERTER_PARA_TEXTO(valor_final))

RETORNAR_VALOR(instancia_provisao) FIM_FUNCAO


Parametrizações Propostas para Reestruturação

1. REGRAS DE ELEGIBILIDADE E REGIME DE EXECUÇÃO

[X] Habilitar Processamento da Verba 2728

[X] Exigir Flag Ativo de PIS sobre Folha (VGP_PIS_sobre_Folha = VERDADEIRO)

[X] Interromper quando houver Transferência para Mês Seguinte (VGP_ProvTransfSaidaMesSeguinte)

Tipos de Vínculo Excluídos do Processamento:

[ ] Estagiário

[ ] Aprendiz

[ ] Trabalhador Autônomo / Diretor Não Empregado

2. COMPOSIÇÃO DINÂMICA DA EQUAÇÃO DE AJUSTE

Verbas de Provisão para Somar (Créditos/Bases Acumuladas):

[ 2722, 2724, 2723 ]

Verbas de Provisão para Subtrair (Débitos/Atuais e Mês Anterior):

[ 2726, 2721, 2725 ]

3. DIRETRIZES DE PROTEÇÃO E TRAVAS DE SINAL

[X] Exigir Resultado Bruto Estritamente Negativo (< 0.00)

└─ Ação se Resultado >= 0.00 …: [ Interromper / Retornar Nulo v ]

[X] Converter Saldo Negativo Apurado em Módulo Positivo (ABS) para Gravação

[X] Aplicar Trava de Piso Seguro (Garantir valor mínimo zero)

4. EXIBIÇÃO, IMPACTOS E ENCARGOS ESOCIAL

[X] Permitir Sobregravação de Descrição no Holerite via Configuração

└─ Descrição Personalizada …: [ Prov Ajuste Enc. PIS 13º Sal. - ]

Impacto Financeiro …: [ Não ]

Impacto Contábil …: [ Sim ]

Incidência INSS: : [ 00 - Não é Base de Cálculo (Isento) v ]

Incidência IRRF: : [ 00 - Não é Base de Cálculo (Isento) v ]

Incidência FGTS: : [ 00 - Não é Base de Cálculo (Isento) v ]

Natureza eSocial: : [ Isento / Não Aplicável v ]

Clientes com mesma regra

  • Empresas Sujeitas ao PIS sobre Folha com Reconciliação de Provisão (Regra Padrão): Atendidas perfeitamente pela arquitetura proposta. O motor efetua o confronto matemático entre as verbas acumuladas/baixas (2722, 2724, 2723) e as verbas correntes/resgatadas (2726, 2721, 2725), identificando quando o saldo resulta em uma variação negativa. Nestes casos, aplica a conversão em módulo positivo (ABS) e salva o montante correspondente à reversão de provisão de PIS.
  • Empresas sem Variação Negativa no Ajuste: Atendidas com total integridade. Se o saldo do confronto resultar em valor maior ou igual a zero, as travas operacionais cancelam a execução da verba 2728, garantindo que não haja duplicidade com o ajuste positivo (verba 2727) nem gravação de registros zerados.

Status Documental

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

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