Files
sigrhapf/Documents/sigfip/sigefp/sigefp-document/DEFINICAO_PADRAO_NOVOS_IMPOSTOS.md
2026-05-19 11:41:28 +00:00

4.0 KiB
Raw Permalink Blame History

Definição de Padrão para Configuração de Novos Impostos

Este documento estabelece o protocolo técnico e funcional para a introdução de novos tributos, contribuições ou retenções no Sistema Integrado de Gestão (SIGEFP), garantindo a automatização sem necessidade de refatoração de código.

1. Princípio da Extensibilidade

O sistema foi desenhado para suportar a adição de novas figuras tributárias desde que estas obedeçam a modelos matemáticos pré-definidos (Fixo ou Progressivo). Qualquer imposto que dependa de variáveis exógenas não previstas na entidade Agente ou Tabela Salarial requer desenvolvimento específico.

2. Contrato de Dados (Data Contract)

Para que um novo imposto seja reconhecido e processado automaticamente pelo Motor de Cálculo (PayrollService), este deve ser registado na base de dados obedecendo rigorosamente à seguinte estrutura:

2.1. Entidade: Tipo de Desconto (deduction_type)

Representa a "Categoria" do tributo.

  • Identificador (Code): Deve ser único, curto e em caixa alta (Ex: TSAN).
  • Nome (Name): O nome amigável que aparecerá nas abas de configuração e nos recibos de vencimento.
  • Mandatório (Mandatory): TRUE se for aplicado a todos automaticamente.

2.2. Entidade: Regra de Escalão (tax_bracket)

Define a lógica matemática. O sistema interpreta cada registo como uma regra condicional: "Se o salário base estiver entre X e Y, aplique Z".

Campo Obrigatoriedade Descrição Técnica
deduction_type_id Obrigatório Chave estrangeira para o Tipo de Desconto.
lower_limit Obrigatório Limite inferior da faixa de incidência (Inclusive).
upper_limit Opcional Limite superior. Se nulo, considera-se infinito.
fixed_amount Condicional Valor monetário fixo a descontar. Preivalece sobre percentagens.
rate_percentage Condicional Coeficiente decimal (Ex: 0.15 para 15%) aplicado sobre a base tributável.
excess_deduction Opcional "Parcela a Abater". Valor subtraído do resultado da multiplicação da taxa.

3. Modelos Matemáticos Suportados

O motor de cálculo executa a seguinte lógica de decisão para cada escalão encontrado. Ao configurar um novo imposto, deve-se escolher apenas um dos modelos abaixo.

3.1. Modelo A: Tributação Fixa (Flat Fee)

Aplicável a taxas de valor nominal (ex: Taxa de Saneamento, Contribuição Sindical Fixa).

  • Configuração: Preencher apenas fixed_amount.
  • Fórmula: Desconto = Valor Fixo

3.2. Modelo B: Tributação Proporcional Simples (Flat Rate)

Aplicável a impostos de percentagem única ou variável por faixa, sem dedução (ex: Dízimo, Contribuições Especiais).

  • Configuração: Preencher rate_percentage. Deixar excess_deduction e fixed_amount nulos.
  • Fórmula: Desconto = Base Tributável × Taxa

3.3. Modelo C: Tributação Progressiva Completa (padrão IRPS)

Aplicável a impostos sobre rendimento com suavização de curvas.

  • Configuração: Preencher rate_percentage e excess_deduction.
  • Fórmula: Desconto = (Base Tributável × Taxa) - Parcela a Abater

4. Protocolo de Inserção (Procedimento)

Para operacionalizar um novo imposto:

  1. Definição: Insira o registo mestre na tabela deduction_type.
  2. Parametrização: Insira os N escalões necessários na tabela tax_bracket, cobrindo todas as faixas salariais possíveis (de 0 ao infinito).
  3. Verificação:
    • Acesse o módulo de Recursos Humanos -> Configurações -> Escalões.
    • Verifique se uma nova aba com o nome do imposto foi gerada automaticamente.
    • Confirme se os valores aparecem conforme inserido.
  4. Execução: Na próxima execução da folha, o sistema iterará sobre o novo tipo e aplicará as regras aos agentes elegíveis.

Nota Importante: O sistema assume que a base de cálculo para novos impostos progressivos é (Salário Bruto - Segurança Social), salvo configuração específica em contrário nas Regras Globais.