164 - Abono CCT/ACT [trib. IRRF]
⚙️ Metadados
- Código: 164
- Tipo: Provento
- INSS: ISE
- FGTS: ISE
- IRRF: SAL
- Natureza eSocial: 1401 - Abono
- DSR: Não
- Médias: Não
- Impacto Financeiro: Não
- Impacto Contábil: Sim
- Sequência: 190
🧮 Regra Geral
-
Lançamento manual de valor.
-
Se um lançamento manual existir e o cliente não estiver na lista permitida, o sistema gera um erro (
SysFunc_Panico), impedindo o cálculo. Se o cliente estiver na lista permitida e houver lançamento, o valor da verba é o valor lançado manualmente. -
Variáveis Utilizadas:
Solicitacao.Cliente: Nome do cliente atual.Lancamento: Objeto que representa o lançamento da verba.Pode: Variável booleana que indica se o cliente atual está na lista de clientes permitidos para esta verba.
-
Condições Especiais:
- A verba só prossegue se
Func_ValidarExistenciaLancamento(Lancamento)retornartrue, indicando que há um lançamento manual para a verba. - Existe uma lista de clientes hardcoded (
veibras,tiautomotive,acal,jmalucelli,bundy) que são verificados. Se o cliente atual não for um desses (Pode == false) e houver lançamento, um erro (SysFunc_Panico) é disparado, interrompendo o cálculo.
- A verba só prossegue se
🧩 Funções
Func_ValidarExistenciaLancamento(Lancamento): Verifica se existe um lançamento manual para a verba em questão.Solicitacao.Cliente.ToLower(): Retorna o nome do cliente em letras minúsculas para comparação.SysFunc_Panico("..."): Função que interrompe o cálculo e gera uma mensagem de erro no sistema.SysFunc_TagPossuiConteudo("Cod_Contrato_Filho", new List<string>() { "1.888.7" }): Função comentada, que verificaria a existência de um código de contrato específico.
💡 Proposta de Novo Cálculo
Fórmula proposta (padronizada):
ValorFinal = Func_ArredondamentoPadrao(Lancamento.ValorTotal)
1. Validação de Prevalência e Existência de Lançamento Manual (Piso Seguro)
SE Func_ValidarExistenciaLancamento(Lancamento) == FALSO OU Lancamento.ValorTotal <= 0M ENTÃO RETORNAR // Sem lançamento manual ativo, a verba não gera impacto no holerite FIM_SE
2. Filtro de Elegibilidade Cadastral por Perfil de Empresa (Substitui Lista Hardcoded)
SE Parametro.RestringirUsoPorEmpresa == VERDADEIRO ENTÃO Verifica se a empresa corrente está associada ao grupo de permissão da rubrica SE SysFunc_ValidarEmpresaNaListaParametro(Contexto.EmpresaID, Parametro.ListaEmpresasPermitidas) == FALSO ENTÃO AdicionarMensagemAvisoAuditoria(“Aviso: Lançamento ignorado. Esta empresa não possui o Abono CCT/ACT [trib. IRRF] em seu Acordo Coletivo.”); RETORNAR // Bloqueio preventivo e limpo sem interromper a esteira de cálculo da folha FIM_SE FIM_SE
3. Validação de Exceções Contratuais ou Sub-contratos (Preparação Filiais/Contrato Filho)
SE Parametro.RestringirPorContratoFilho == VERDADEIRO ENTÃO SE SysFunc_VerificarContratoFilhoAtivo(Empregado.ID, Parametro.ListaContratosFilhosValidos) == FALSO ENTÃO AdicionarMensagemAvisoAuditoria(“Aviso: Contrato não atende aos critérios de sub-lotação sindical específicos para a verba 164.”); RETORNAR FIM_SE FIM_SE
4. Gravação de Resultados no Holerite e Aplicação do Perfil Tributário
HoleriteVerba.ValorTotal = Func_ArredondamentoPadrao(Lancamento.ValorTotal) HoleriteVerba.Quantidade = Lancamento.Quantidade
Parametrização Cadastral Fixa da Rubrica (Metadados Regulatórios) HoleriteVerba.INSS = INCIDENCIA_ISE HoleriteVerba.FGTS = INCIDENCIA_ISE HoleriteVerba.IRRF = INCIDENCIA_SAL // Tributação regular de IRRF conforme regra da verba HoleriteVerba.NaturezaeSocial = “1401”
Geração da memória detalhada de cálculo para rastreabilidade GerarMemoriaCalculoAbonoTribIRRF(Lancamento.ValorTotal)
Impactos
- Extinção Total do SysFunc_Panico: O travamento do sistema será substituído por uma validação formal de lote. Se houver um lançamento indevido, o sistema impede a gravação daquele holerite (
GravarHolerite = false) e devolve uma mensagem limpa no painel de inconsistências, permitindo que a folha dos demais funcionários do lote continue calculando normalmente. - Limpeza e Higienização de Código: O bloco comentado da validação de contrato filho (
"1.888.7") será permanentemente expurgado do repositório.
Benefícios
- Autonomia Completa para a Equipe de Implantação/Suporte: Para liberar a verba de Abono para um novo cliente, basta marcar o checkbox
Permite Verba 164na tela de configurações da empresa, eliminando 100% a abertura de chamados para o time de Desenvolvimento. - Estabilidade no Processamento em Lote: Erros de digitação de verbas não bloqueiam mais a operação de fechamento mensal da folha, melhorando a experiência do usuário final.
Parametrizações Propostas para Reestruturação
-
Parâmetros de Permissão da Verba 164 (Abono):
[ ] Liberar uso da Verba 164 para lançamentos manuais neste cliente
-
Avisos de Inconsistência de Digitação:
Ação quando a verba for lançada em cliente não autorizado:
[ ] Ignorar o lançamento silenciosamente (Retornar null)
[ ] Bloquear gravação do holerite e exibir alerta no painel de erros
Clientes com mesma regra
- Veibras, Tiautomotive, Acal, Jmalucelli e Bundy: Todos os clientes listados no código legado passam a usufruir da rubrica nativamente através da simples atribuição de permissão de uso da verba em suas respectivas telas de parametrização da folha. Ao realizarem o lançamento manual do valor por digitação ou importação de lote, o motor unificado executa o repasse integral e o arredondamento comercial sem diferenciação de rotina backend. O risco de queda total do sistema em lote por falha de inclusão textual do nome da empresa no código fonte é mitigado.
Status Documental
- Status: Documentada
- Origem: export do Notion + catálogo da wiki
- Fonte rastreável:
30dc75ea2e838139a8f0c114ac6bf45e