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:
- Recupera o valor total da verba
1178(Propriedade Intelectual / Direito Autoral) do holerite. - Condição Principal: Se o valor da verba
1178for maior que zero, o cálculo prossegue. - Recupera a base de cálculo do IRRF Salário (
3140) e o valor do IRRF já descontado na própria folha (630). - 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. - Recupera a tabela de IRRF vigente.
- Itera pelas faixas da tabela de IRRF para encontrar a faixa aplicável à
BC_IRRF_SAL_ROY. - Condição de Faixa: Se a
BC_IRRF_SAL_ROYse encaixar na faixa atual (considerando o valor inicial, final e se é a última faixa). - 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 que10.00M, o cálculo continua. - Define a descrição final da verba, incluindo a alíquota da faixa, e o percentual e quantidade (
BC_IRRF_SAL_ROY) da verba. - Calcula o valor total do IRRF no mês (
VlrTtl_IRRF_NoMes) aplicando a alíquota e dedução da faixa àBC_IRRF_SAL_ROYe arredonda o resultado. - Calcula o saldo do IRRF a ser descontado (
Sld_IRRF_NoMes) subtraindo oVlrVerbaIRRF(IRRF já descontado) doVlrTtl_IRRF_NoMes. - Condição de Desconto: Se o
Sld_IRRF_NoMesfor maior que zero, o valor da verba é definido como oSld_IRRF_NoMesarredondado e negativo (pois é um desconto). - Registra a memória de cálculo detalhada.
- Recupera o valor total da verba
-
Fórmula matemática:
BC_IRRF_ROYALTIES = BC_IRRF_SALARIO + VALOR_VERBA_1178IRRF_DEVIDO_ROYALTIES = (BC_IRRF_ROYALTIES × ALÍQUOTA_IRRF / 100) - PARCELA_DEDUTÍVEL_IRRFVALOR_DESCONTO_VERBA_633 = IRRF_DEVIDO_ROYALTIES - VALOR_VERBA_630(seVALOR_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.00Mpara ser considerado. - O desconto final só é aplicado se o saldo do IRRF (
Sld_IRRF_NoMes) for positivo.
- A verba só é calculada se houver valor na verba
-
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.
- Verbas Relacionadas:
-
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 (verba1178), buscando a faixa equivalente na tabela progressiva e deduzindo o IRRF retido na folha regular (verba630). - Preserva rigorosamente a sequência de execução
7821e os metadados cadastrais originais da ficha técnica: Tipo “Desconto”, isenções tributárias de INSS/FGTS/IRRF, Natureza eSocial9203, 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