1 puntos por GN⁺ 2024-01-04 | 1 comentarios | Compartir por WhatsApp

La complejidad del cálculo de deducciones de nómina en Canadá

  • La Agencia de Ingresos de Canadá (CRA) publica periódicamente el documento "Payroll Deductions Formulas". Este documento incluye todas las fórmulas de cálculo del Plan de Pensiones de Canadá, el seguro de empleo y el impuesto sobre la renta que recauda la CRA.
  • Colin Percival, quien opera un pequeño negocio en Canadá y no utiliza un proveedor externo de servicios de nómina, implementó estas fórmulas directamente en una hoja de cálculo.
  • Como ocurre con la mayoría de los aspectos del sistema tributario, la complejidad sigue aumentando, y este año el Plan de Pensiones de Canadá incluye no solo una prima "base" y una prima "adicional", sino también una "segunda adicional", lo que obligó a reescribir la hoja de cálculo desde cero.

Creación de un gráfico de dependencias

  • Los autores del documento pasaron por alto un detalle importante del software: que los valores deben calcularse antes de poder usarse. Por eso, al leer el documento, hay que ir y venir para encontrar dónde está cada valor que debe calcularse.
  • Para ayudar con esto, Colin Percival creó un gráfico de dependencias con GraphViz. El gráfico tiene 79 nodos, desde valores como "annual maximum pensionable earnings" ($73200) hasta "total payroll deductions".
  • En lugar de escribir las fórmulas en el gráfico, solo registró los demás valores de los que depende cada fórmula, para que quien lo vea pueda identificar fácilmente qué debe calcular primero.

Supuestos simplificados

  • Para simplificar, Colin Percival asume que no está manejando empleados pagados por comisión, empleados que entran o salen del Plan de Pensiones de Canadá, ni personas que viven en Quebec, Nueva Escocia, Yukón u Ontario, ya que cada uno tiene su propia complejidad fiscal.

Opinión de GN⁺

  • Este artículo muestra muy bien lo complejos que pueden ser los cálculos de deducciones de nómina en Canadá. En particular, destaca los desafíos que enfrentan los dueños de pequeños negocios y un enfoque creativo para resolverlos.
  • Crear un gráfico de dependencias es una herramienta muy útil para comprender y administrar sistemas complejos, y puede aplicarse para resolver problemas no solo en ingeniería de software sino también en muchos otros campos.
  • El artículo muestra el esfuerzo de un empresario por simplificar la complejidad del cálculo de impuestos, y ese esfuerzo también puede servir de inspiración para otros dueños de negocios.

1 comentarios

 
GN⁺ 2024-01-04
Opiniones de Hacker News
  • Es una lástima que el gobierno no proporcione fórmulas públicas en formato de código.

    Usar el formulario web disponible en el sitio de la Agencia Tributaria de Canadá (CRA) es la única forma confiable, y calcularlo manualmente es muy engorroso y propenso a errores.

  • Por experiencia operando una pequeña empresa de nómina en Canadá, cada vez que se actualizaban las reglas ejecutaban un scraper contra la calculadora de la CRA para calcular nóminas de distintas regiones y rangos salariales, y volcaban los resultados con rspec para probar el cumplimiento normativo.

    Usaban un enfoque de "fuerza bruta": cada vez que cambiaban las reglas, calculaban las nóminas con un scraper y mostraban los resultados con rspec para verificar el cumplimiento.

  • La complejidad de la legislación fiscal sigue un ciclo como este:

    1. Se promulga una ley tributaria.
    2. Contadores y abogados fiscalistas hábiles encuentran formas de evitar legalmente esos impuestos.
    3. La autoridad fiscal emite regulaciones para cerrar esos vacíos.
    4. Cambia la administración y baja algunos impuestos o agrega beneficios fiscales para ganar votos o ajustar la economía.
    5. Una nueva administración revierte selectivamente programas de la administración anterior por motivos políticos.
    6. En el caso de los impuestos internacionales, se suman abogados fiscalistas hábiles que usan estrategias complejas para reducir impuestos en múltiples jurisdicciones, gobiernos que agregan incentivos en sus leyes tributarias para atraer multinacionales, intentos de la OCDE por estandarizar asuntos fiscales para impedirlo, tratados fiscales entre países, etc.
  • Hace algunos años hice algo parecido para el IRS.

    Tuve la experiencia de crear una herramienta similar para el IRS de Estados Unidos hace algunos años.

  • Este gráfico muestra por qué existen los proveedores de nómina.

    Hace referencia a una publicación de Bits About Money relacionada con el gráfico que explica la necesidad de los proveedores de nómina.

  • Aplausos al autor por señalar que la CRA debería publicar una implementación de referencia de todas las fórmulas.

    Coincide con la opinión de que la CRA debería publicar una implementación de referencia de todas las fórmulas para que las pequeñas empresas se beneficien.

  • En Francia, estas reglas están disponibles como sitio web, API, paquete de NPM y reglas en bruto en el lenguaje publi.codes.

    Explica que en Francia las reglas fiscales están disponibles como sitio web, API, paquete de NPM y en el lenguaje publi.codes.

  • Aplica a todos, excepto a los residentes de Quebec, Nueva Escocia, Yukón y Ontario, donde vive aproximadamente el 75% de la población canadiense.

    Es una regla que aplica a la mayoría de la población canadiense, excepto a los residentes de Quebec, Nueva Escocia, Yukón y Ontario.

  • Vivo en Estados Unidos, pero esta complejidad es una de las principales razones por las que no contrato empleados para mi LLC.

    Un usuario en Estados Unidos explica que la complejidad relacionada con los impuestos es una de las principales razones para no contratar empleados en su LLC.

  • Cualquier algoritmo, sea software o no, termina convertido en un estado confuso al que se le añade complejidad para obtener el resultado deseado.

    Los algoritmos se convierten en estados confusos a los que se añade complejidad para lograr el resultado deseado, lo que puede confundir a los externos y, en algunos casos, provocar resultados negativos.