2042 - Prov 13º Salário Acum.
⚙️ Metadados
- Código: 2042
- 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: 275
🧮 Regra Geral
-
Lógica de Cálculo:
- A verba não é calculada se a variável
VGP_ProvTransfSaidaMesSeguintefortrueou seVGP_Calcula_Provisaoforfalse. - A verba não prossegue com a lógica principal (retorna um objeto de provisão vazio ou pré-existente) se:
- OU se a solicitação for um holerite simulado (
Solicitacao.HoleriteSimulado == false). - OU se o tipo de folha for Rescisão Complementar (
Solicitacao.TipoFolha == EnumTipoFolhaBO.RescisaoComplementar).
- OU se a solicitação for um holerite simulado (
- Recupera a quantidade de avos de 13º salário da variável global
VG_Avos13Te armazena emVGP_AvosD13T. - Itera sobre as verbas já calculadas no holerite que possuem
ValorTotalmaior que zero e cujos códigos são: “400” (13º Salário), “331” (13º Sal.-Mater. Empresa Cidadã), “361” (13º Sal.-Mater. CCT/ACT) ou “20400” (13º Salário Impatriado). - Para cada uma dessas verbas de 13º salário, um novo item de provisão é criado e adicionado à lista
Holerite.ListaHoleriteProvisao:- A descrição final da provisão é formatada para incluir o tipo de 13º salário (ex: “Prov 13º Salário Acum. [Trabalhado]”).
MemoriaCalculoePercentualsão copiados da verba original.Quantidadeé definida comoVGP_AvosD13T.ValorIntegralé definido comoc.ValorReferenciada verba original.ValorTotalé definido comoc.ValorTotalda verba original, aplicando-se o arredondamento padrão (Func_ArredondamentoPadrao).- Condição Especial: Se o mês da
DataReferenciada solicitação for dezembro (12), oValorTotaldo item de provisão é zerado.
- A verba principal retorna
null, indicando que ela não gera um valor próprio, mas sim popula a lista de provisões.
- A verba não é calculada se a variável
-
Fórmula matemática:
ValorTotal_Provisao = Func_ArredondamentoPadrao(ValorTotal_Verba13Salario)(se o mês não for dezembro);ValorTotal_Provisao = 0(se o mês for dezembro).
-
Variáveis Utilizadas:
VGP_ProvTransfSaidaMesSeguinteVGP_Calcula_ProvisaoSolicitacao.ClienteEmpregado.TipoVinculoSolicitacao.HoleriteSimuladoSolicitacao.TipoFolhaVGP_AvosD13TVG_Avos13THolerite.ListaHoleriteVerbac.Verba.Codigoc.ValorTotalc.MemoriaCalculoc.Percentualc.ValorReferenciaSolicitacao.DataReferencia.Month.
-
Condições Especiais:
if (VGP_ProvTransfSaidaMesSeguinte == true || VGP_Calcula_Provisao == false): Condição inicial para não calcular a verba.c.ValorTotal > 0: Filtra verbas de 13º salário com valor positivo.c.Verba.Codigo == "400" || c.Verba.Codigo == "331" || c.Verba.Codigo == "361" || c.Verba.Codigo == "20400": Seleciona as verbas de 13º salário a serem provisionadas.if (Solicitacao.DataReferencia.Month == 12): Zera o valor da provisão se o mês de referência for dezembro.
🔗 Dependências
- Verbas Relacionadas: “400” (13º Salário), “331” (13º Sal.-Mater. Empresa Cidadã), “361” (13º Sal.-Mater. CCT/ACT), “20400” (13º Salário Impatriado).
- Tipo de Relação: A verba 2042 possui dependência das verbas de 13º salário mencionadas, utilizando seus valores para criar os itens de provisão. Ela gera novos itens na
ListaHoleriteProvisao.
🧩 Funções
SysFunc_RecuperarVG_asDecimal("VG_Avos13T"): Recupera o valor da variável globalVG_Avos13Tcomo um tipo decimal.CriarVerbaHoleriteProvisaoBO(codigo, descricao, Lancamento): Função interna para instanciar um novo objeto de provisão de verba.Func_ArredondamentoPadrao(c.ValorTotal): Aplica a regra de arredondamento padrão do sistema ao valor.
🎯 Particularidades por Cliente/Setor
👤 Jmalucelli
- Empregados do tipo Estagiario, a lógica principal de cálculo da provisão é ignorada, retornando um objeto de provisão sem preencher os itens específicos de 13º salário.
💡 Proposta de Novo Cálculo
Fórmula proposta (padronizada):
Quantidade_Provisao = VG_Avos13T
ValorTotal_Provisao_Item = (MesReferencia == 12) ? 0.00 : ARRED(ValorTotal_Verba13SalarioElegivel, 2)
1. Filtros de Elegibilidade e Isenções (Piso Seguro)
SE NOT tabela_parametros.obter_flag(“HABILITAR_VERBA_2042”) ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2042 desabilitada em parâmetros gerais.”) RETORNAR_VALOR(NULO) FIM_SE
SE holerite_atual.obter_variavel_global(“VGP_ProvTransfSaidaMesSeguinte”) OU NOT holerite_atual.obter_variavel_global(“VGP_Calcula_Provisao”) ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2042 ignorada: Flag de transferência ativa ou cálculo de provisão desativado.”) RETORNAR_VALOR(NULO) FIM_SE
vinculos_inelegiveis = tabela_parametros.obter_lista_strings(“LISTA_VINCULOS_INELEGIVEIS”) SE CONTEM(vinculos_inelegiveis, colaborador.tipo_vinculo) ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2042 ignorada: Tipo de vínculo inelegível configurado na matriz.”) RETORNAR_VALOR(NULO) FIM_SE
SE holerite_atual.eh_holerite_simulado() ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2042 ignorada: Processamento em modo de simulação.”) RETORNAR_VALOR(NULO) FIM_SE
tipos_folha_inelegiveis = tabela_parametros.obter_lista_strings_default(“LISTA_TIPOS_FOLHA_INELEGIVEIS”, LISTA(“RescisaoComplementar”)) SE CONTEM(tipos_folha_inelegiveis, holerite_atual.tipo_folha) ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2042 ignorada: Tipo de folha inelegível para acumulação de 13º.”) RETORNAR_VALOR(NULO) FIM_SE
2. Determinação da Base de Cálculo por Verbas do Holerite
verbas_13_elegiveis = tabela_parametros.obter_lista_strings_default( “LISTA_VERBAS_13_ELEGIVEIS”, LISTA(“400”, “331”, “361”, “20400”) )
avos_13 = holerite_atual.obter_variavel_global_decimal_default(“VG_Avos13T”, 0.00) holerite_atual.definir_variavel_global(“VGP_AvosD13T”, avos_13)
eh_mes_zeramento = (holerite_atual.obter_mes_referencia() == tabela_parametros.obter_inteiro_default(“MES_ZERAMENTO_PROVISAO”, 12))
3. Iteração e Gerenciamento de Itens de Provisão
itens_gerados = 0 PARA CADA verba_holerite EM holerite_atual.obter_verbas_calculadas() FACA SE CONTEM(verbas_13_elegiveis, verba_holerite.codigo) E verba_holerite.valor_total > 0.00 ENTAO
valor_provisao = eh_mes_zeramento ? 0.00 : ARREDONDAR_PADRAO(verba_holerite.valor_total)
instancia_item_provisao = holerite_atual.criar_instancia_provisao(“2042”)
sufixo_descricao = ” [” + verba_holerite.descricao + ”]” instancia_item_provisao.descricao_final = tabela_parametros.obter_string_default(“TEXTO_DESCRICAO_BASE”, “Prov 13º Salário Acum.”) + sufixo_descricao
instancia_item_provisao.quantidade = ARREDONDAR_PADRAO(avos_13) instancia_item_provisao.percentual = verba_holerite.percentual instancia_item_provisao.valor_integral = verba_holerite.valor_referencia instancia_item_provisao.valor_total = valor_provisao
instancia_item_provisao.incidencia_inss = ENUM_INCIDENCIA.ISENTO instancia_item_provisao.incidencia_fgts = ENUM_INCIDENCIA.ISENTO instancia_item_provisao.incidencia_irrf = ENUM_INCIDENCIA.ISENTO
instancia_item_provisao.memoria_calculo = “Provisão Acumulada via Verba ” + verba_holerite.codigo + ” | Avos: ” + CONVERTER_PARA_TEXTO(avos_13) + ” | Mês Dezembro (Zeramento): ” + CONVERTER_PARA_TEXTO(eh_mes_zeramento) + ” | Valor Final: R$ ” + CONVERTER_PARA_TEXTO(valor_provisao)
holerite_atual.adicionar_item_lista_provisao(instancia_item_provisao) itens_gerados = itens_gerados + 1 FIM_SE FIM_PARA
4. Gravação de Campos e Disparo Informativo (A verba pai não possui valor próprio)
REGISTRAR_LOG_INFORMATIVO(“Verba 2042 - Processamento concluído. Total de itens de provisão acumulados gerados: ” + CONVERTER_PARA_TEXTO(itens_gerados))
RETORNAR_VALOR(NULO) FIM_FUNCAO
Parametrizações Propostas para Reestruturação
1. REGRAS DE ENTRADA E ELEGIBILIDADE
[X] Habilitar Processamento da Verba 2042
[X] Respeitar Flag Global de Cálculo de Provisão (VGP_Calcula_Provisao)
[X] Bloquear Processamento em Holerite Simulado
Tipos de Vínculos Inelegíveis (Exclusão por Matriz) …: [ Estagiario ]
Tipos de Folha Inelegíveis …: [ RescisaoComplementar ]
2. MATRIZ DE ELEGIBILIDADE DE VERBAS DE 13º SALÁRIO
Verbas Origem do 13º Salário a Provisionar …: [ 400, 331, 361, 20400 ] ├─ 400: 13º Salário
├─ 331: 13º Sal.-Mater. Empresa Cidadã
├─ 361: 13º Sal.-Mater. CCT/ACT
└─ 20400: 13º Salário Impatriado
3. DIRETRIZES DE REGRAS TEMPORAIS E ZERAMENTO
Mês Automático de Zeramento da Provisão Acumulada …: [ 12 ] (Mês de Dezembro)
4. EXIBIÇÃO, IMPACTOS E ENCARGOS ESOCIAL
[X] Permitir Sobregravação de Descrição no Holerite via Configuração
└─ Descrição Base Personalizada …: [ Prov 13º Salário Acum. ]
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
- Clientes Gerais: O mecanismo unificado varre as verbas de 13º salário calculadas (
400,331,361e20400), alimentando diretamente a lista de provisões do holerite com os avos apurados emVG_Avos13Te zerando o saldo total se o mês de competência for dezembro (12). - Jmalucelli: Atendido ao selecionar a opção
Estagiariona matriz deTipos de Vínculos Inelegíveis, removendo a validação explícita por código do cliente (Solicitacao.Cliente.ToLower() == "jmalucelli").
Status Documental
- Status: Documentada
- Origem: export do Notion + catálogo da wiki
- Fonte rastreável:
30dc75ea2e8381c9b932fcc9013fdbbb