2055 - Prov Média 13º Sal. Mês Atual
⚙️ Metadados
- Código: 2055
- 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: 346
🧮 Regra Geral
-
ID da Fórmula: 312
-
Lógica de Cálculo:
- A verba não é calculada (retorna
null) se:- A variável global
VGP_ProvTransfSaidaMesSeguintefortrue. - A variável global
VGP_Calcula_Provisaoforfalse. - O
Empregadofor do tipoEstagiario. - O motivo da rescisão do
EmpregadoforComJustaCausa.
- A variável global
- Se a variável global
VG_PossuiAvo13T_MesAtualfortrue, o cálculo prossegue:- É inicializada uma lista (
ListaVerbasVariaveis) com os códigos das verbas de origem de média do holerite atual que possuem valor diferente de zero. - As verbas “55” (DSR) e “205” são adicionadas a esta lista.
- Diversas verbas relacionadas a férias, 13º salário (adiantamento, indenizado), aviso prévio e salário-maternidade são removidas explicitamente da
ListaVerbasVariaveis. - Para os demais clientes: O
ValorTotalVerbasVariaveisDoMesé somado a partir das verbas do holerite atual que estão naListaVerbasVariaveis. - É calculado o
DiasMaternMes, que representa a quantidade de dias de licença-maternidade do empregado no mês de referência, considerando diversos subtipos de afastamento. - O
HoleriteProvisao.Quantidaderecebe oValorTotalVerbasVariaveisDoMes. - O
HoleriteProvisao.ValorTotalé calculado como a soma das verbas variáveis do mês dividida por 12 e arredondada. - Se houver
DiasMaternMes(dias de licença-maternidade), oHoleriteProvisao.ValorTotalé ajustado, subtraindo uma proporção referente a esses dias. - O
HoleriteProvisao.ValorTotalfinal é arredondado.
- É inicializada uma lista (
- Se o
HoleriteProvisao.ValorTotalfor menor ou igual a zero, a verba não é gravada (retornanull).
- A verba não é calculada (retorna
-
Fórmula matemática:
ValorTotalVerbasVariaveisDoMes = Σ (Verbas Variáveis do Mês)HoleriteProvisao.ValorTotal = Func_ArredondamentoPadrao(ValorTotalVerbasVariaveisDoMes / 12)- Se
DiasMaternMes > 0:HoleriteProvisao.ValorTotal -= HoleriteProvisao.ValorTotal / 30 * DiasMaternMes HoleriteProvisao.ValorTotal = Func_ArredondamentoPadrao(HoleriteProvisao.ValorTotal)
-
Variáveis Utilizadas:
VGP_ProvTransfSaidaMesSeguinteVGP_Calcula_ProvisaoEmpregado.TipoVinculoEmpregado.Rescisao.MotivoRescisaoSysFunc_RecuperarVG_asBool("VG_PossuiAvo13T_MesAtual")ValorTotalVerbasVariaveisDoMesHolerite.ListaHoleriteVerbaEmpregado.Historico.ListaHoleriteSolicitacao.ClienteSysFunc_RecuperarVG_asBool("VG_DocenteInflux")Empregado.Historico.ListaAfastamentoDiasMaternMesHoleriteProvisao.QuantidadeHoleriteProvisao.ValorTotal.
-
Condições Especiais:
- Verificação inicial para
return nullbaseada em variáveis globais e dados do empregado (estagiário, rescisão com justa causa). - Cálculo condicional ativado por
SysFunc_RecuperarVG_asBool("VG_PossuiAvo13T_MesAtual"). - Customização hardcoded para cliente Influx: Adiciona verba “1374” se
Solicitacao.Clientefor “influx” eVG_DocenteInfluxfortrue. - Customização hardcoded para clientes Monsanto/KWS: Altera a fonte de dados para somar
ValorTotalVerbasVariaveisDoMes(histórico vs. holerite atual). - Ajuste do valor da provisão se houver dias de licença-maternidade (
DiasMaternMes > 0M). - Verificação final para garantir que o
HoleriteProvisao.ValorTotalseja positivo.
- Verificação inicial para
🔗 Dependências
- Verbas Relacionadas:
- Verbas de origem de média (código
hv.VerbaOrigemMedia.Codigo) presentes no holerite. - Verba “55” (DSR) e “205” são adicionadas para compor a base de cálculo.
- Verbas “340”, “327”, “316”, “580”, “337”, “575”, “372”, “406”, “410”, “450”, “1391”, “542”, “526”, “434”, “445”, “297”, “416” são explicitamente removidas da base de cálculo.
- Verba “1374” (DSR - Hora-Aula) é adicionada para o cliente Influx sob condição específica.
- Verbas de origem de média (código
- Tipo de Relação: As verbas listadas são dependências para o cálculo da base da média. Elas compõem ou são excluídas da soma que define o
ValorTotalVerbasVariaveisDoMes. - Fluxo de Cálculo: O cálculo desta verba depende que as verbas variáveis do mês já tenham sido processadas e seus valores estejam disponíveis no holerite ou histórico do empregado.
🧩 Funções
SysFunc_RecuperarVG_asBool("VG_PossuiAvo13T_MesAtual"): Recupera o valor booleano de uma variável global de sistema.SysFunc_RecuperarVG_asBool("VG_DocenteInflux"): Recupera o valor booleano de uma variável global de sistema específica para o cliente Influx.Func_ArredondamentoPadrao(decimal valor): Realiza o arredondamento padrão do sistema para valores monetários.dtcAux.DataPertencePeriodo(DateTime data): Verifica se uma data específica pertence ao período de cálculo.
🎯 Particularidades por Cliente/Setor
👤 Influx
- Se Solicitacao.Cliente.ToLower() == “influx” e SysFunc_RecuperarVG_asBool(“VG_DocenteInflux”) for true, a verba “1374” (DSR - Hora-Aula) é adicionada à lista de verbas variáveis que compõem a base de cálculo.
👤 KWS
- A soma das verbas variáveis (ValorTotalVerbasVariaveisDoMes) é feita a partir do histórico do empregado (verbas do mês de referência em folhas Regular ou Rescisão), em vez do holerite atual.
👤 Monsanto
- A soma das verbas variáveis (ValorTotalVerbasVariaveisDoMes) é feita a partir do histórico do empregado (verbas do mês de referência em folhas Regular ou Rescisão), em vez do holerite atual.
💡 Proposta de Novo Cálculo
Fórmula proposta (padronizada):
ValorTotalVerbasVariaveisDoMes = SUM(VerbasValidasOrigem)
ValorProporcionalMedia = ValorTotalVerbasVariaveisDoMes / 12
DeducaoMaternidade = (ValorProporcionalMedia / 30) * MIN(30, DiasMaternidadeMes)
ValorTotal_2055 = ARRED(MAX(0, ValorProporcionalMedia - DeducaoMaternidade))
1. Filtros de Elegibilidade e Isenções (Piso Seguro)
SE NOT tabela_parametros.obter_flag(“HABILITAR_VERBA_2055”) ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2055 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 2055 ignorada: Transferência ativa ou cálculo de provisão desativado.”) RETORNAR_VALOR(NULO) FIM_SE
SE tabela_parametros.obter_lista_inteiros(“MOTIVOS_RESCISAO_ELEGIVEIS_PROVISAO”).CONTEM(colaborador.motivo_rescisao_id) ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2055 ignorada: Motivo de rescisão inelegível para provisão de médias.”) RETORNAR_VALOR(NULO) FIM_SE
SE tabela_parametros.obter_lista_inteiros(“VINCULOS_EXCLUIDOS_PROVISAO”).CONTEM(colaborador.tipo_vinculo_id) ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2055 ignorada: Tipo de vínculo excluído do cálculo de provisão.”) RETORNAR_VALOR(NULO) FIM_SE
2. Apuração do Direito ao Avo do Mês
possui_avo_mes = holerite_atual.obter_variavel_global_booleano(“VG_PossuiAvo13T_MesAtual”) SE NOT possui_avo_mes ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2055 encerrada: Colaborador não atingiu a fração de dias mínima para avos de 13º no mês corrente.”) RETORNAR_VALOR(NULO) FIM_SE
3. Formação Dynamic da Lista de Verbas de Média do Mês Efetivo
Substituição de exclusões/inclusões hardcoded por acumuladores parametrizados lista_verbas_origem = BUSCAR_VERBAS_MEDIAS_ELEGIVEIS(holerite_atual, tabela_parametros)
Determinação da Origem dos Dados (Holerite Atual vs. Histórico Processado) origem_dados_historico = tabela_parametros.obter_flag(“OBTER_MEDIAS_HISTORICO_PROCESSADO”)
SE origem_dados_historico ENTAO valor_total_variaveis = colaborador.obter_soma_verbas_historico( holerite_atual.periodo_referencia, lista_verbas_origem, tabela_parametros.obter_lista_inteiros(“TIPOS_FOLHA_ELEGIVEIS_MEDIAS”) ) SENAO valor_total_variaveis = holerite_atual.obter_soma_verbas(lista_verbas_origem) FIM_SE
SE valor_total_variaveis <= 0.00 ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2055: Total de verbas variáveis para composição de média no mês é zerado.”) RETORNAR_VALOR(NULO) FIM_SE
4. Apuração de Abatimento por Licença Maternidade no Mês
dias_maternidade_mes = 0 tipos_afastamento_maternidade = tabela_parametros.obter_lista_inteiros(“TIPOS_AFASTAMENTO_MATERNIDADE”)
PARA CADA afastamento EM colaborador.historico_afastamentos FACA SE tipos_afastamento_maternidade.CONTEM(afastamento.tipo_id) E afastamento.intersecciona_periodo(holerite_atual.periodo_referencia) ENTAO dias_maternidade_mes = dias_maternidade_mes + afastamento.obter_dias_no_periodo(holerite_atual.periodo_referencia) FIM_SE FIM_PARA
5. Cálculo Proporcional e Ajustes Legal/Contratual
valor_proporcional_media = valor_total_variaveis / 12.00
SE dias_maternidade_mes > 0 ENTAO dias_efetivos_maternidade = MINIMO(30, dias_maternidade_mes) deducao_maternidade = (valor_proporcional_media / 30.00) * dias_efetivos_maternidade valor_proporcional_final = valor_proporcional_media - deducao_maternidade SENAO valor_proporcional_final = valor_proporcional_media FIM_SE
valor_proporcional_final = ARREDONDAR_PADRAO(MAXIMO(0.00, valor_proporcional_final))
SE valor_proporcional_final <= 0.00 ENTAO REGISTRAR_LOG_INFORMATIVO(“Verba 2055: Valor proporcional final de média de 13º resultou em R$ 0,00.”) RETORNAR_VALOR(NULO) FIM_SE
6. Instanciação e Gravação do Item de Provisão
instancia_provisao = holerite_atual.criar_instancia_provisao(“2055”) instancia_provisao.descricao_final = tabela_parametros.obter_string_default(“TEXTO_DESCRICAO”, “Prov Média 13º Sal. Mês Atual”) instancia_provisao.quantidade = ARREDONDAR_PADRAO(valor_total_variaveis) instancia_provisao.valor_integral = valor_proporcional_final instancia_provisao.valor_total = valor_proporcional_final
instancia_provisao.incidencia_inss = ENUM_INCIDENCIA.ISENTO instancia_provisao.incidencia_fgts = ENUM_INCIDENCIA.ISENTO instancia_provisao.incidencia_irrf = ENUM_INCIDENCIA.ISENTO
memoria_calculo = “Provisão de Média de 13º Salário Mês Atual” + ” | Base Total Variáveis Mês: R$ ” + CONVERTER_PARA_TEXTO(valor_total_variaveis) + ” | Avos Mês: 1/12” + ” | Dias Licença Maternidade no Mês: ” + CONVERTER_PARA_TEXTO(dias_maternidade_mes) + ” | Valor Proporcional Final: R$ ” + CONVERTER_PARA_TEXTO(valor_proporcional_final)
instancia_provisao.memoria_calculo = memoria_calculo holerite_atual.adicionar_verba_provisao(instancia_provisao)
REGISTRAR_LOG_INFORMATIVO(“Verba 2055 - Processamento concluído. Valor gerado: R$ ” + CONVERTER_PARA_TEXTO(valor_proporcional_final))
RETORNAR_VALOR(instancia_provisao) FIM_FUNCAO
Parametrizações Propostas para Reestruturação
1. REGRAS DE ENTRADA E ELEGIBILIDADE DE CONTRATO
[X] Habilitar Processamento da Verba 2055
[X] Respeitar Flag Global de Cálculo de Provisão (VGP_Calcula_Provisao)
[X] Bloquear Execução em Transferências de Saída no Mês Seguinte
Tipos de Vínculos Excluídos da Provisão …: [ 901-Estagiário, 902-Menor Aprendiz v ]
Motivos de Rescisão sem Provisão …: [ 11-Justa Causa Empregador v ]
2. DIRETRIZES DE COMPOSIÇÃO DA BASE DE MÉRITO/MÉDIAS
Fonte de Dados das Variáveis do Mês …: [ Holerite Atual v ]
└─ Opções: [ Holerite Atual | Histórico de Folha Processada ]
Tipos de Folha Elegíveis (caso Histórico) …: [ Regular, Rescisão ]
[X] Compor Base Automaticamente com Verbas Mapeadas na Origem de Média
Verbas Adicionais Forçadas na Base …: [ 55, 205, 1374 ]
Verbas Excluídas Explicitamente da Base …: [ 340, 327, 316, 580, 337, 575, 372, ] [ 406, 410, 450, 1391, 542, 526, 434, ] [ 445, 297, 416 ]
3. DEDUÇÕES E ENCARGOS ESOCIAL
Tipos de Afastamento Maternidade (Abatimento de Provisão Direta):
[X] LM_INSSNormal [X] LM_Sequela_Neurologica [X] LM_Aborto_nao_Criminoso
[X] LM_INSSAdotante [X] Antec_Prorrog_por_Atest_Medico
[X] Permitir Sobregravação de Descrição no Holerite via Configuração
└─ Descrição Personalizada …: [ Prov Média 13º Sal. Mês Atual ]
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
- Cliente Influx: A inclusão condicional da verba
1374(DSR - Hora-Aula), que dependia do nome do cliente (influx) e de flag de docente, foi incorporada ao campo parametrizávelVerbas Adicionais Forçadas na Basedentro do perfil do cliente. - Clientes Monsanto e KWS: A exigência de buscar a soma das verbas variáveis no histórico de folha processada em vez do holerite atual foi abstraída para a opção de seleção
Fonte de Dados das Variáveis do Mês(configurada comoHistórico de Folha Processadapara estes perfis). - Demais Clientes da Base: Funcionam diretamente utilizando a verificação padrão de verbas de origem de média no holerite corrente, aplicando as listas parametrizadas de inclusão e exclusão de rubricas.
Status Documental
- Status: Documentada
- Origem: export do Notion + catálogo da wiki
- Fonte rastreável:
30dc75ea2e8381688a77d08411a4aef2