937 - SENAR / SESCOOP - 13º Sal.
⚙️ Metadados
- Código: 937
- Tipo: Encargos
- 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: 8451
🧮 Regra Geral
-
Lógica de Cálculo:
- A verba é calculada apenas se a base de cálculo
3080for maior que zero, o empregador não for optante pelo Simples Nacional (Empregador.OptanteSimples == false) e o tomador de serviço não possuir CEI (VG_TomadorTemCEI == false). - É inicializada uma variável
Percentualcom0M. - Se o
Empregador.PercentualSENARfor diferente de zero, oPercentualrecebe esse valor. - Em seguida, se o
Empregador.PercentualSESCOOPfor diferente de zero, oPercentualrecebe esse valor. Atenção: Se ambosPercentualSENARePercentualSESCOOPforem diferentes de zero, oPercentualSESCOOPprevalecerá. - Se, após as verificações anteriores, o
Percentualainda for diferente de zero:- A descrição final do encargo no holerite é atualizada para incluir o percentual aplicado (ex: “SENAR / SESCOOP - 13º Sal. (2.50%)”).
- O
ValorBasedo encargo é definido como oRecuperarValorTotalBase("3080"). - A
Aliquotado encargo é definida como oPercentualencontrado. - O
ValorEncargoé calculado multiplicando oRecuperarValorTotalBase("3080")peloPercentual(dividido por 100) e arredondado usando a funçãoFunc_ArredondamentoPadrao.
- A verba é calculada apenas se a base de cálculo
-
Fórmula matemática:
ValorEncargo = Base_3080 × (Percentual / 100)
-
Variáveis Utilizadas:
RecuperarValorTotalBase("3080"): Valor da base de cálculo 3080.Empregador.OptanteSimples: Indica se o empregador é optante pelo Simples Nacional.VG_TomadorTemCEI: Indica se o tomador de serviço possui CEI.Empregador.PercentualSENAR: Percentual de SENAR configurado para o empregador.Empregador.PercentualSESCOOP: Percentual de SESCOOP configurado para o empregador.HoleriteEncargo.DescricaoFinal: Descrição da verba no holerite.HoleriteEncargo.ValorBase: Base de cálculo da verba.HoleriteEncargo.Aliquota: Alíquota aplicada.HoleriteEncargo.ValorEncargo: Valor final do encargo.
-
Condições Especiais:
- A verba só é calculada se a
Base_3080for positiva, o empregador não for do Simples Nacional e o tomador não tiver CEI. - O cálculo só prossegue se um percentual (SENAR ou SESCOOP) for configurado e diferente de zero.
- Há uma prioridade implícita: se
Empregador.PercentualSESCOOPfor diferente de zero, ele sobrescreveEmpregador.PercentualSENAR.
- A verba só é calculada se a
🔗 Dependências
- Verbas Relacionadas: A verba depende da Base de Cálculo 3080.
- Tipo de Relação: Dependência. O valor da verba 937 é calculado com base no valor total da verba/base 3080.
🧩 Funções
RecuperarValorTotalBase("3080"): Função para obter o valor total de uma base de cálculo específica (neste caso, a base 3080).Func_ArredondamentoPadrao(): Função para arredondar o valor calculado do encargo para o padrão do sistema.
💡 Proposta de Novo Cálculo
Fórmula proposta (padronizada):
AliquotaEfetiva = COALESCE(ExcecaoColaborador.AliquotaDiferenciada, Empregador.PercentualSESCOOP, Empregador.PercentualSENAR, AliquotaFallback)
ValorEncargo = ARRED_PADRAO(RecuperarValorTotalBase(“3080”) * (AliquotaEfetiva / 100))
1. Filtros de Elegibilidade e Isenções (Piso Seguro)
SE VG_CalculaEncargos == FALSO OU NAO Config.CalcularEncargosPatronais ENTÃO RETORNAR NULO FIM_SE
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 de Exceção de Negócio: Expatriados (Isenção do Sistema “S” / SENAR / SESCOOP) SE Empregado.IndicadorExpatriado == VERDADEIRO E Config.IsentarExpatriados ENTÃO RETORNAR NULO FIM_SE
Validação Paramétrica de Tomador de Serviço com CEI/CNO SE (Empregador.TemTomadorCEI OU VG_TomadorTemCEI == VERDADEIRO) E Config.BloquearSeTomadorCEI ENTÃO RETORNAR NULO FIM_SE
Validação de Isenção por Enquadramento Tributário (Simples Nacional vs Exceções Anexo/CNPJ) PermiteSimplesNacional = FALSO
SE Empregador.OptanteSimples == VERDADEIRO ENTÃO SE Config.PermitirEmpresaSimplesNacional OU Config.CodigosSimplesExcecao.Contem(Empregador.CodigoSimples) ENTÃO PermiteSimplesNacional = VERDADEIRO FIM_SE SENÃO PermiteSimplesNacional = VERDADEIRO FIM_SE
Validação de Exceções Paramétricas por Colaborador/Vínculo TemExcecaoValida = Config.AtivarExcecaoColaborador E Config.ListaExcecoesColaborador.Contem(Empregado.Id) E (Config.DataExcecaoBloqueio == NULO OU Config.DataExcecaoBloqueio == Solicitacao.DataReferencia)
SE NAO PermiteSimplesNacional E NAO TemExcecaoValida ENTÃO RETORNAR NULO FIM_SE
2. Determinação Dinâmica da Base de Cálculo
VlrBaseSENARSESCOOP13 = Holerite.RecuperarValorTotalBase(Config.CodigoVerbaBaseSistemaS13) Padrão: Base 3080 (Base INSS 13º Salário)
SE (VlrBaseSENARSESCOOP13 == NULO OU VlrBaseSENARSESCOOP13 <= 0) E NAO TemExcecaoValida ENTÃO RETORNAR NULO FIM_SE
3. Apuração Dinâmica e Hierárquica da Alíquota do SENAR / SESCOOP sobre 13º Salário
AliquotaCalculada = 0
-
Prioridade 1: Exceção Paramétrica Específica por Colaborador SE TemExcecaoValida ENTÃO SE Config.ExcecaoTipoFolha == NULO OU Config.ExcecaoTipoFolha == Solicitacao.TipoFolha ENTÃO SE Config.ExcecaoAliquotaDiferenciada > 0 ENTÃO AliquotaCalculada = Config.ExcecaoAliquotaDiferenciada FIM_SE FIM_SE FIM_SE
-
Prioridade 2: Cadastro do Empregador (Mapeamento de Entidade com Regra de Precedência Parametrizada) SE AliquotaCalculada == 0 ENTÃO ESCOLHA (Config.PrioridadeEntidadeRuralCooperativa) CASO “SESCOOP_PRIORITARIO”: AliquotaCalculada = COALESCE(Empregador.PercentualSESCOOP, Empregador.PercentualSENAR, Config.AliquotaFallbackSistemaS) CASO “SENAR_PRIORITARIO”: AliquotaCalculada = COALESCE(Empregador.PercentualSENAR, Empregador.PercentualSESCOOP, Config.AliquotaFallbackSistemaS) PADRAO: AliquotaCalculada = COALESCE(Empregador.PercentualSESCOOP, Empregador.PercentualSENAR, Config.AliquotaFallbackSistemaS) FIM_ESCOLHA FIM_SE
SE AliquotaCalculada <= 0 ENTÃO RETORNAR NULO FIM_SE
Mensagens Informativas de Rastreabilidade AdicionarMensagemInfoPublicaCalculo(String.Format(“Base INSS Outras Entidades SENAR/SESCOOP 13º Sal. (3080): R$ {0}”, VlrBaseSENARSESCOOP13.ToString(“N2”))) AdicionarMensagemInfoPublicaCalculo(String.Format(“Alíquota Aplicada SENAR/SESCOOP 13º Sal.: {0}%”, AliquotaCalculada.ToString(“F2”)))
4. Aplicação de Arredondamento e Gravação do Encargo
VlrEncargoBruto = VlrBaseSENARSESCOOP13 * (AliquotaCalculada / 100) VlrEncargoArredondado = Func_ArredondamentoPadrao(VlrEncargoBruto)
SE VlrEncargoArredondado <= 0 E NAO Config.GravarEncargoZerado ENTÃO RETORNAR NULO FIM_SE
5. Gravação da Rubrica de Encargo e Notificação de Acumuladores
NovoEncargo = CriarVerbaHoleriteEncargoBO(“937”, “SENAR / SESCOOP - 13º Sal.”) NovoEncargo.Aliquota = AliquotaCalculada NovoEncargo.ValorBase = VlrBaseSENARSESCOOP13 NovoEncargo.ValorEncargo = VlrEncargoArredondado
NovoEncargo.DescricaoFinal = String.Format(“{0} ({1}%)”, Config.DescricaoPadrao, AliquotaCalculada.ToString(“F2”))
NovoEncargo.TipoImposto = Config.TipoImpostoTributavel // Padrão: Terceiros / Outras Entidades 13º Salário NovoEncargo.TipoIncidencia = Config.TipoIncidencia // Padrão: Isento
CopiarIncidencias(VerbaOriginal(“937”), NovoEncargo)
NovoEncargo.ImpactoFinanceiro = Config.ImpactoFinanceiro // Padrão: Falso (Não) NovoEncargo.ImpactoContabil = Config.ImpactoContabil // Padrão: Verdadeiro (Sim)
SE Config.AtualizarAcumuladorEncargoINSS ENTÃO VG_TotalEncargoSENARSESCOOP13_Liquidacao = VG_TotalEncargoSENARSESCOOP13_Liquidacao + VlrEncargoArredondado FIM_SE
Holerite.ListaHoleriteEncargo.Adicionar(NovoEncargo)
FIM
Parametrizações Propostas para Reestruturação
1. REGRAS DE ENTRADA E ELEGIBILIDADE
[X] Respeitar Flag Global de Encargos Patronais (VG_CalculaEncargos == true)
[ ] Permitir Execução no Processo de Provisões
[ ] Permitir Cálculo Geral para Empresas Optantes pelo Simples Nacional
Codigos do Simples Permitidos como Exceção: [ 5 ] (Ex: Anexo V / Obras de CNO)
[X] Bloquear Cálculo se Tomador do Serviço Possuir CEI/CNO (VG_TomadorTemCEI == true)
[X] Aplicar Isenção Automática para Trabalhadores Expatriados / Não Residentes
Tipos de Folha Permitidos …: [X] Adiant. 13º [X] Parc. Final 13º [X] Rescisão
2. BASES DE CÁLCULO E HIERARQUIA DE ALÍQUOTAS PATRONAIS
Verba Base Outras Entidades 13º Integrante: [ 3080 ] (Base de INSS - 13º Salário)
Ordem de Precedência de Alíquotas …: (X) SESCOOP > SENAR ( ) SENAR > SESCOOP
Alíquota Padrão de Fallback …: [ 2.5000 ] %
3. REGRA DE EXCEÇÃO E ALÍQUOTA DIFERENCIADA
[ ] Ativar Regra de Exceção Paramétrica por Colaborador/Vínculo
Lista de Exceção de Colaboradores …: [ Nenhuma Selecionada ] [Gerenciar]
Data de Referência Específica …: [ ] (Deixar em branco para qualquer data)
Tipo de Folha Específico …: [ ] (Deixar em branco para qualquer folha)
Alíquota Diferenciada de Exceção …: [ 0.0000 ] %
[ ] Ignorar Trava de Elegibilidade do Simples Nacional para Colaboradores na Lista
4. FORMATAÇÃO E CRITÉRIOS DE GRAVAÇÃO
Descrição Padrão da Rubrica …: [ SENAR / SESCOOP - 13º Sal. ]
[X] Formatar Descrição Exibindo Alíquota Aplicada (Ex: SENAR / SESCOOP - 13º Sal. (2.50%))
Impacto Financeiro …: [ ] Sim [X] Não
Impacto Contábil …: [X] Sim [ ] Não
Arredondamento Padrão …: [X] Sim [ ] Não
Tratamento para Resultado Zero …: (X) Ignorar Gravação ( ) Gravar com R$ 0,00
[X] Atualizar Acumulador Global de Encargos Patronais (Terceiros / SENAR / SESCOOP 13º)
5. TRIBUTAÇÃO E ENVIOS ESOCIAL
Natureza eSocial …: [ Isento / Não Informar ]
Incidência INSS …: [ Isento ]
Incidência FGTS …: [ Isento ]
Incidência IRRF …: [ Isento ]
Clientes com mesma regra
- Regra Geral / Todos os Clientes: A nova arquitetura absorve plenamente a apuração da contribuição patronal direcionada ao SENAR ou SESCOOP sobre as verbas relativas ao 13º Salário (base de cálculo
3080). O motor dinâmico valida a flag de cálculo de encargos (VG_CalculaEncargos), a restrição legal de empresas optantes pelo Simples Nacional sem exceções parametrizadas e o bloqueio para prestação de serviços vinculada a tomadores com CEI/CNO (VG_TomadorTemCEI). A determinação da alíquota respeita rigorosamente a hierarquia cadastral configurada na interface, atualizando o demonstrativo de holerite com a descrição formatada e garantindo a integração contábil.
Status Documental
- Status: Documentada
- Origem: export do Notion + catálogo da wiki
- Fonte rastreável:
30dc75ea2e83818797fed49f72ebcdde