1 pontos por GN⁺ 2024-01-04 | 1 comentários | Compartilhar no WhatsApp

A complexidade do cálculo das deduções da folha de pagamento no Canadá

  • A Agência de Receita do Canadá (CRA) publica regularmente o documento "Payroll Deductions Formulas". Esse documento inclui todas as fórmulas de cálculo do Plano de Pensão do Canadá, do seguro-emprego e do imposto de renda arrecadados pela CRA.
  • Colin Percival, que administra uma pequena empresa no Canadá sem usar um provedor externo de serviços de folha de pagamento, implementou essas fórmulas diretamente em uma planilha.
  • Como na maior parte dos aspectos do sistema tributário, a complexidade está aumentando, e neste ano o Plano de Pensão do Canadá passou a incluir não apenas um prêmio "básico" e um prêmio "adicional", mas também um prêmio "segundo adicional", o que exigiu reescrever a planilha do zero.

Criação de um gráfico de dependência

  • Os autores do documento deixaram passar um detalhe importante de software: um valor precisa ser calculado antes de poder ser usado. Por causa disso, ao consultar o documento, é preciso ficar indo e voltando para localizar onde está cada valor necessário para o cálculo.
  • Para ajudar nisso, Colin Percival desenhou um gráfico de dependência usando GraphViz. O grafo tem 79 nós, começando por valores como "annual maximum pensionable earnings" ($73200) e chegando até "total payroll deductions".
  • Em vez de escrever as fórmulas no gráfico, ele registrou apenas os outros valores dos quais cada fórmula depende, para que quem olhar o gráfico possa entender facilmente o que precisa ser calculado primeiro.

Hipóteses simplificadas

  • Para simplificar, Colin Percival assume que não está lidando com funcionários comissionados, funcionários que entram ou saem do Plano de Pensão do Canadá, nem pessoas que moram em Quebec, Nova Escócia, Yukon ou Ontário, cada um com suas próprias complexidades tributárias.

Opinião do GN⁺

  • Este texto mostra bem o quão complexos são os cálculos das deduções da folha de pagamento no Canadá. Em especial, destaca os desafios enfrentados por pequenos empresários e uma abordagem criativa para resolvê-los.
  • Criar um gráfico de dependência é uma ferramenta muito útil para entender e administrar sistemas complexos, podendo ser aplicado à resolução de problemas em várias áreas, não apenas na engenharia de software.
  • O texto mostra o esforço de um empresário para simplificar a complexidade do cálculo tributário, e esse esforço pode servir de inspiração para outros empreendedores.

1 comentários

 
GN⁺ 2024-01-04
Comentários do Hacker News
  • É uma pena que o governo não forneça fórmulas públicas em formato de código.

    Usar o formulário web disponibilizado no site da Agência de Receita do Canadá (CRA) é a única forma confiável, e calcular manualmente é muito trabalhoso e propenso a erros.

  • Pela experiência de ter operado uma pequena empresa de folha de pagamento no Canadá, sempre que as regras eram atualizadas, eu executava um scraper no calculador da CRA para calcular a folha em várias regiões e faixas salariais, e gerava a saída com rspec para testar a conformidade.

    Sempre que as regras mudavam, eu usava um método de “força bruta”, calculando a folha com um scraper e imprimindo os resultados com rspec para testar a conformidade.

  • A complexidade da legislação tributária passa pelo seguinte ciclo:

    1. A legislação tributária é criada.
    2. Contadores e advogados tributaristas habilidosos encontram formas de evitar legalmente os impostos.
    3. As autoridades fiscais emitem regras para fechar brechas.
    4. A administração muda e reduz alguns impostos e adiciona benefícios fiscais para ganhar votos ou ajustar a economia.
    5. A nova administração reverte seletivamente os programas da administração anterior por motivos políticos.
    6. No caso de impostos internacionais, somam-se advogados tributaristas habilidosos usando estratégias complexas para reduzir impostos em múltiplas jurisdições, governos adicionando incentivos à legislação tributária para atrair multinacionais, a OCDE tentando padronizar questões tributárias para impedir isso, tratados fiscais entre países individuais etc.
  • Alguns anos atrás, fiz algo parecido para o IRS.

    Tive a experiência de criar uma ferramenta semelhante alguns anos atrás para o IRS, o serviço de receita dos EUA.

  • Este é um gráfico que mostra por que existem provedores de folha de pagamento.

    Faz referência a um post do Bits About Money relacionado a um gráfico que explica a necessidade de provedores de folha de pagamento.

  • Palmas ao autor por destacar que a CRA deveria publicar uma implementação de referência de todas as fórmulas.

    Concordo com a opinião de que a CRA deveria publicar uma implementação de referência de todas as fórmulas para beneficiar pequenas empresas.

  • Na França, essas regras são disponibilizadas em um site, API, pacote NPM e regras brutas na linguagem publi.codes.

    Explica que, na França, as regras tributárias são fornecidas por meio de um site, API, pacote NPM e na linguagem publi.codes.

  • Aplica-se a todos, exceto aos moradores de Quebec, Nova Escócia, Yukon e Ontário, onde vive cerca de 75% da população do Canadá.

    É uma regra que se aplica à maioria da população do Canadá, exceto aos moradores de Quebec, Nova Escócia, Yukon e Ontário.

  • Moro nos EUA, mas essa complexidade é um dos principais motivos pelos quais não contrato funcionários para a minha LLC.

    Um usuário que vive nos EUA explica que a complexidade relacionada a impostos é um dos principais motivos para não contratar funcionários para sua LLC.

  • Qualquer algoritmo, seja software ou não, acaba sendo transformado em um estado confuso no qual se pode adicionar complexidade para obter o resultado desejado.

    Algoritmos são levados a um estado confuso em que se adiciona complexidade para chegar ao resultado desejado, o que pode confundir pessoas de fora e, em alguns casos, gerar consequências negativas.