Wiki / SuperCalculo ~5 min

633 - Desc. IRRF Royalties

⚙️ Metadados

  • Código: 633
  • Tipo: Desconto
  • INSS: ISE
  • FGTS: ISE
  • IRRF: ISE
  • Natureza eSocial: 9203 - Imposto de Renda Retido na Fonte
  • DSR: Não
  • Médias: Não
  • Impacto Financeiro: Não
  • Impacto Contábil: Sim
  • Sequência: 7821

🧮 Regra Geral

N/A

🎯 Particularidades por Cliente/Setor

👤 Impeto
  • Lógica de Cálculo:

    1. Recupera o valor total da verba 1178 (Propriedade Intelectual / Direito Autoral) do holerite.
    2. Condição Principal: Se o valor da verba 1178 for maior que zero, o cálculo prossegue.
    3. Recupera a base de cálculo do IRRF Salário (3140) e o valor do IRRF já descontado na própria folha (630).
    4. Calcula a base de cálculo do IRRF Royalties somando a base de cálculo do IRRF Salário com o valor da verba 1178.
    5. Recupera a tabela de IRRF vigente.
    6. Itera pelas faixas da tabela de IRRF para encontrar a faixa aplicável à BC_IRRF_SAL_ROY.
    7. Condição de Faixa: Se a BC_IRRF_SAL_ROY se encaixar na faixa atual (considerando o valor inicial, final e se é a última faixa).
    8. Condição de Valor Mínimo: Calcula o IRRF devido para a faixa ((BC_IRRF_SAL_ROY * Faixa.PercAliquota / 100M) - Faixa.ValorParcelaDedutivel). Se este valor for maior que 10.00M, o cálculo continua.
    9. Define a descrição final da verba, incluindo a alíquota da faixa, e o percentual e quantidade (BC_IRRF_SAL_ROY) da verba.
    10. Calcula o valor total do IRRF no mês (VlrTtl_IRRF_NoMes) aplicando a alíquota e dedução da faixa à BC_IRRF_SAL_ROY e arredonda o resultado.
    11. Calcula o saldo do IRRF a ser descontado (Sld_IRRF_NoMes) subtraindo o VlrVerbaIRRF (IRRF já descontado) do VlrTtl_IRRF_NoMes.
    12. Condição de Desconto: Se o Sld_IRRF_NoMes for maior que zero, o valor da verba é definido como o Sld_IRRF_NoMes arredondado e negativo (pois é um desconto).
    13. Registra a memória de cálculo detalhada.
  • Fórmula matemática:

    • BC_IRRF_ROYALTIES = BC_IRRF_SALARIO + VALOR_VERBA_1178
    • IRRF_DEVIDO_ROYALTIES = (BC_IRRF_ROYALTIES × ALÍQUOTA_IRRF / 100) - PARCELA_DEDUTÍVEL_IRRF
    • VALOR_DESCONTO_VERBA_633 = IRRF_DEVIDO_ROYALTIES - VALOR_VERBA_630 (se VALOR_DESCONTO_VERBA_633 > 0)
  • Variáveis Utilizadas:

    • VlrVerbaPropInte: Valor da verba 1178 (Propriedade Intelectual / Direito Autoral).
    • BC_IRRF_SAL: Base de Cálculo IRRF (verba 3140).
    • VlrVerbaIRRF: Valor do Desc. IRRF da própria folha (verba 630).
    • VlrTtl_IRRF_NoMes: Valor total do IRRF calculado para o mês.
    • Sld_IRRF_NoMes: Saldo do IRRF a ser descontado.
    • BC_IRRF_SAL_ROY: Base de Cálculo IRRF Royalties.
    • Tab_IR: Objeto da tabela de IRRF vigente.
    • Faixa: Objeto de uma faixa da tabela de IRRF.
  • Condições Especiais:

    • A verba só é calculada se houver valor na verba 1178 (VlrVerbaPropInte > 0).
    • O cálculo do IRRF é condicionado à identificação de uma faixa na tabela de IRRF.
    • O valor do IRRF calculado para a faixa deve ser superior a 10.00M para ser considerado.
    • O desconto final só é aplicado se o saldo do IRRF (Sld_IRRF_NoMes) for positivo.
  • Dependências:

    • Verbas Relacionadas:
      • 1178 (Propriedade Intelectual / Direito Autoral): Dependência — o cálculo da verba 633 depende da existência e valor da verba 1178.
      • 3140 (Base Cálculo IRRF): Dependência — utilizada para compor a base de cálculo do IRRF Royalties.
      • 630 (Desc. IRRF própria folha): Dependência — o valor desta verba é deduzido do IRRF total calculado para determinar o saldo a descontar.
  • Funções Identificadas:

    • Func_RecuperarSomaValorTotalHoleriteVerba("1178"): Recupera a soma dos valores totais de uma verba específica no holerite.
    • RecuperarValorTotalBase("3140"): Recupera o valor total de uma base de cálculo específica.
    • Positivo(RecuperarValorTotalVerba("630")): Garante que o valor recuperado da verba 630 seja positivo.
    • SysFunc_RecuperarTabelaIR_Vigente(): Recupera a tabela de IRRF aplicável na data de referência.
    • Func_ArredondamentoPadrao(): Arredonda um valor para o padrão definido pelo sistema.
    • Negativo(Sld_IRRF_NoMes): Converte um valor para negativo, indicando um desconto.
    • Argumento(): Utilizada para registrar valores na memória de cálculo.
    • EscreverMemoria(): Formata e registra a memória de cálculo.

💡 Proposta de Novo Cálculo

Fórmula proposta (padronizada):

BaseUnificada = ObterValorBaseProcessada(CodigoBaseIRRF) + ObterValorProcessado(CodigoVerbaGatilho)

IRRF_Total = (BaseUnificada * AliquotaIRRF / 100) - ParcelaDedutivelIRRF

SaldoIRRF = MAX(0, IRRF_Total - ObterValorProcessado(CodigoVerbaIRRFFolha))

ValorCalculado = SE(ObterValorProcessado(CodigoVerbaGatilho) > 0 E IRRF_Total >= ValorMinimoRetencao, ARREDONDAR(LIMITAR(SaldoIRRF, PisoMinimo, TetoMaximo)), 0)


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

SE Solicitacao.TipoProcesso == PROVISOES E NAO Config.PermitirCalculoEmProvisoes ENTÃO RETORNAR NULO FIM_SE

SE NAO Config.TiposFolhaPermitidos.Contem(Solicitacao.TipoFolha) ENTÃO RETORNAR NULO FIM_SE

Validação da Verba Gatilho (Propriedade Intelectual / Royalties) VlrVerbaPropIntelectual = Holerite.ObterValorProcessado(Config.CodigoVerbaGatilho)

SE VlrVerbaPropIntelectual <= 0.0 ENTÃO RETORNAR NULO FIM_SE

2. Determinação da Base de Cálculo Unificada e Recuperação de Deduções do Mês

VlrBaseIRRFSalario = Holerite.ObterValorBaseProcessada(Config.CodigoBaseIRRF) VlrIRRFJaDescontado = Func_Absoluto(Holerite.ObterValorProcessado(Config.CodigoVerbaIRRFFolha))

BaseUnificadaRoyalties = VlrBaseIRRFSalario + VlrVerbaPropIntelectual

SE BaseUnificadaRoyalties <= 0.0 ENTÃO RETORNAR NULO FIM_SE

3. Apuração da Tabela Progressiva do Imposto de Renda

TabelaIRRF = SysFunc_RecuperarTabelaIR_Vigente(Solicitacao.DataReferencia) FaixaAplicavel = TabelaIRRF.BuscarFaixa(BaseUnificadaRoyalties)

SE FaixaAplicavel == NULO ENTÃO RETORNAR NULO FIM_SE

AliquotaAplicada = FaixaAplicavel.PercAliquota ParcelaDedutivel = FaixaAplicavel.ValorParcelaDedutivel

VlrIRRFTotalMes = (BaseUnificadaRoyalties * (AliquotaAplicada / 100.0)) - ParcelaDedutivel

Validação de Valor Mínimo de Retenção Tributária (Piso Mínimo Legal, ex: R$ 10,00) SE VlrIRRFTotalMes < Config.ValorMinimoRetencao Tabela ENTÃO RETORNAR NULO FIM_SE

Abatimento do IRRF já descontado no mesmo período (Verba 630) SaldoIRRFADescontar = VlrIRRFTotalMes - VlrIRRFJaDescontado

SE SaldoIRRFADescontar <= 0.0 ENTÃO RETORNAR NULO FIM_SE

4. Aplicação de Sinal Numérico, Limites e Arredondamento

ValorAbsoluto = Func_Absoluto(SaldoIRRFADescontar)

SE Config.PossuiTetoMaximo E ValorAbsoluto > Config.ValorTetoMaximo ENTÃO ValorAbsoluto = Config.ValorTetoMaximo SENÃO SE Config.PossuiPisoMinimo E ValorAbsoluto < Config.ValorPisoMinimo ENTÃO ValorAbsoluto = Config.ValorPisoMinimo FIM_SE

ValorDescontoFinal = Func_ArredondamentoPadrao(ValorAbsoluto)

SE ValorDescontoFinal <= 0.0 E NAO Config.GravarVerbaZerada ENTÃO RETORNAR NULO FIM_SE

5. Gravação de Campos, Acumuladores e Registro da Verba (633)

NovaVerba = CriarVerbaHoleriteBO(“633”, Config.DescricaoPadrao) NovaVerba.TipoVerba = “D” // Tipo: Desconto NovaVerba.ValorBase = BaseUnificadaRoyalties NovaVerba.Quantidade = BaseUnificadaRoyalties NovaVerba.Percentual = AliquotaAplicada NovaVerba.ValorTotal = ValorDescontoFinal NovaVerba.DescricaoFinal = String.Format(“{0} ({1}%)”, Config.DescricaoPadrao.Trim(), AliquotaAplicada.ToString(“N2”))

NovaVerba.TipoIncidenciaINSS = Config.IncidenciaINSS // Padrão: ISE (Isento) NovaVerba.TipoIncidenciaFGTS = Config.IncidenciaFGTS // Padrão: ISE (Isento) NovaVerba.TipoIncidenciaIRRF = Config.IncidenciaIRRF // Padrão: ISE (Isento) NovaVerba.NaturezaeSocial = Config.NaturezaeSocial // Padrão: 9203 - Imposto de Renda Retido na Fonte

CopiarIncidencias(VerbaOriginal(“633”), NovaVerba)

NovaVerba.ImpactoFinanceiro = Config.ImpactoFinanceiro // Conforme ficha técnica: Não NovaVerba.ImpactoContabil = Config.ImpactoContabil // Conforme ficha técnica: Sim

SE Config.AtualizarAcumuladorIRRFRoyalties ENTÃO VG_TotalIRRFRoyalties = VG_TotalIRRFRoyalties + ValorDescontoFinal FIM_SE

Registro de Memória de Cálculo Transparente EscreverMemoria(“DESC_IRRF_ROYALTIES”, String.Format(“Base Unificada (Base {0} + Verba {1}): R$ {2}, IRRF Total Calculado: R$ {3}, IRRF Já Descontado (Verba {4}): R$ {5}, Saldo a Descontar: R$ {6}”, Config.CodigoBaseIRRF, Config.CodigoVerbaGatilho, BaseUnificadaRoyalties.ToString(“N2”), VlrIRRFTotalMes.ToString(“N2”), Config.CodigoVerbaIRRFFolha, VlrIRRFJaDescontado.ToString(“N2”), ValorDescontoFinal.ToString(“N2”)))

Holerite.ListaHoleriteVerba.Adicionar(NovaVerba)

FIM


Parametrizações Propostas para Reestruturação

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

[ ] Permitir Execução no Processo de Provisões

Código da Verba Gatilho (Propriedade Intelectual) .: [ 1178 ]

Código da Base de IRRF Salário …: [ 3140 ]

Código da Verba de IRRF Própria Folha (Abatimento) : [ 630 ]

Tipos de Folha Permitidos …: [X] Regular [X] Rescisão [X] Rescisão Complementar

2. BASES DE CÁLCULO E REGRAS TRIBUTÁRIAS

Tabela Tributária Utilizada …: [ Tabela Progressiva IRRF Vigente v ]

Valor Mínimo para Retenção Tributária (Piso Legal) : [ 10,00 ]

Formato da Descrição Final …: [ {Descrição Verba} ({Alíquota}%) v ]

3. DIRETRIZES DE PROTEÇÃO, LIMITES E ARREDONDAMENTO

[ ] Aplicar Teto Máximo de Desconto

Valor Teto Máximo …: [ 0,00 ]

[ ] Aplicar Piso Mínimo de Desconto

Valor Piso Mínimo …: [ 0,00 ]

Regra de Arredondamento/Ajuste …: [ Arredondamento Padrão (Func_ArredondamentoPadrao) v ]

[ ] Permitir Gravação da Rubrica com Valor Zerado

4. FORMATAÇÃO E IMPACTOS

Descrição Padrão da Rubrica …: [ Desc. IRRF Royalties ]

Tipo da Rubrica …: [ Desconto ]

Impacto Financeiro …: [ ] Sim [X] Não

Impacto Contábil …: [X] Sim [ ] Não

[X] Atualizar Acumulador Global de IRRF Royalties

5. TRIBUTAÇÃO E ENVIOS ESOCIAL

Natureza eSocial …: [ 9203 - Imposto de Renda Retido na Fonte ]

Incidência INSS …: [ Isento (ISE) ]

Incidência FGTS …: [ Isento (ISE) ]

Incidência IRRF …: [ Isento (ISE) ]

Clientes com mesma regra

  • Impeto / Padrão de Mercado: O motor parametrizável absorve integralmente a regra do cliente Impeto, combinando a base de cálculo de IRRF Salário (base 3140) com os proventos de propriedade intelectual/direitos autorais (verba 1178), buscando a faixa equivalente na tabela progressiva e deduzindo o IRRF retido na folha regular (verba 630).
  • Preserva rigorosamente a sequência de execução 7821 e os metadados cadastrais originais da ficha técnica: Tipo “Desconto”, isenções tributárias de INSS/FGTS/IRRF, Natureza eSocial 9203, DSR “Não”, Médias “Não”, Impacto Financeiro “Não” e Impacto Contábil “Sim”.

Status Documental

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

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