1 Punkte von GN⁺ 2024-01-04 | 1 Kommentare | Auf WhatsApp teilen

Die Komplexität der Berechnung kanadischer Lohnabzüge

  • Die kanadische Steuerbehörde (CRA) veröffentlicht regelmäßig das Dokument „Payroll Deductions Formulas“. Dieses Dokument enthält alle Berechnungsformeln für den Canada Pension Plan, die Arbeitslosenversicherung und die Einkommensteuer, die von der CRA eingezogen werden.
  • Colin Percival, der in Kanada ein kleines Unternehmen betreibt und keinen externen Gehaltsabrechnungsdienstleister nutzt, implementierte diese Formeln direkt in einer Tabellenkalkulation.
  • Wie bei den meisten Aspekten des Steuersystems nimmt die Komplexität weiter zu, und in diesem Jahr umfasst der Canada Pension Plan nicht nur eine „Grund“-Prämie und eine „zusätzliche“ Prämie, sondern auch eine „zweite zusätzliche“ Prämie, sodass die Tabellenkalkulation von Grund auf neu geschrieben werden musste.

Erstellung eines Abhängigkeitsdiagramms

  • Die Autoren des Dokuments haben ein wichtiges Detail der Software übersehen: Ein Wert muss berechnet werden, bevor er verwendet werden kann. Dadurch muss man beim Lesen des Dokuments ständig hin- und herblättern, um nachzuvollziehen, wo sich jeder zu berechnende Wert befindet.
  • Um dabei zu helfen, erstellte Colin Percival mit GraphViz ein Abhängigkeitsdiagramm. Der Graph umfasst 79 Knoten, beginnend bei Werten wie dem „jährlichen maximalen rentenfähigen Einkommen“ ($73200) bis hin zu den „gesamten Lohnabzügen“.
  • Das Diagramm enthält keine Formeln, sondern nur die anderen Werte, von denen jede Formel abhängt, damit man leicht erkennen kann, was zuerst berechnet werden muss.

Vereinfachende Annahmen

  • Zur Vereinfachung nimmt Colin Percival an, dass keine provisionsbasiert bezahlten Angestellten, keine Beschäftigten, die in den Canada Pension Plan eintreten oder ihn verlassen, und keine Personen berücksichtigt werden, die in Quebec, Nova Scotia, Yukon oder Ontario leben, da dort jeweils eigene steuerliche Komplexitäten bestehen.

Meinung von GN⁺

  • Dieser Beitrag zeigt gut, wie komplex die Berechnung kanadischer Lohnabzüge ist. Besonders hervorgehoben werden die Herausforderungen, mit denen kleine Unternehmer konfrontiert sind, sowie ein kreativer Ansatz zu deren Lösung.
  • Das Erstellen eines Abhängigkeitsdiagramms ist ein sehr nützliches Werkzeug, um komplexe Systeme zu verstehen und zu verwalten, und kann nicht nur im Software Engineering, sondern auch in vielen anderen Bereichen zur Problemlösung eingesetzt werden.
  • Der Beitrag zeigt die Bemühungen eines Unternehmers, die Komplexität von Steuerberechnungen zu vereinfachen, und diese Bemühungen können auch andere Unternehmer inspirieren.

1 Kommentare

 
GN⁺ 2024-01-04
Hacker-News-Kommentare
  • Es ist bedauerlich, dass die Regierung keine offenen Formeln in Codeform bereitstellt.

    Die Nutzung des Webformulars auf der Website der kanadischen Steuerbehörde (CRA) ist die einzige verlässliche Methode, und eine manuelle Berechnung ist sehr mühsam und fehleranfällig.

  • Aus meiner Erfahrung mit dem Betrieb eines kleinen kanadischen Payroll-Unternehmens habe ich bei jeder Aktualisierung der Regeln einen Scraper gegen den CRA-Rechner laufen lassen, um Löhne für verschiedene Regionen und Gehaltsspannen zu berechnen, und die Ausgabe mit rspec genutzt, um die Compliance zu testen.

    Bei jeder Regeländerung wurde eine „Brute-Force“-Methode verwendet: ein Scraper berechnete die Löhne, und die Ergebnisse wurden mit rspec ausgegeben, um die Einhaltung der Vorschriften zu testen.

  • Die Komplexität des Steuerrechts durchläuft den folgenden Kreislauf:

    1. Steuergesetze werden erlassen.
    2. Fähige Buchhalter und Steueranwälte finden Wege, Steuern legal zu vermeiden.
    3. Die Steuerbehörden erlassen Vorschriften, um Schlupflöcher zu schließen.
    4. Die Regierung wechselt und senkt einige Steuern oder fügt Steuervergünstigungen hinzu, um Stimmen zu gewinnen oder die Wirtschaft zu steuern.
    5. Eine neue Regierung nimmt Programme der vorherigen Regierung aus politischen Gründen selektiv zurück.
    6. Bei internationalen Steuern kommen noch versierte Steueranwälte hinzu, die komplexe Strategien zur Senkung von Steuern über mehrere Jurisdiktionen hinweg nutzen, Regierungen, die Anreize im Steuerrecht schaffen, um multinationale Unternehmen anzuziehen, die OECD, die versucht, steuerbezogene Aspekte zu standardisieren, um dies zu verhindern, sowie Steuerabkommen zwischen einzelnen Ländern.
  • Ich habe vor einigen Jahren etwas Ähnliches für den IRS gebaut.

    Jemand berichtet von der Erfahrung, vor einigen Jahren ein ähnliches Tool für den US-Steuerdienst IRS gebaut zu haben.

  • Das ist ein Diagramm, das zeigt, warum es Payroll-Anbieter gibt.

    Verwiesen wird auf einen Bits About Money-Beitrag im Zusammenhang mit dem Diagramm, das die Notwendigkeit von Payroll-Anbietern erklärt.

  • Applaus für den Autor dafür, dass er darauf hinweist, dass die CRA Referenzimplementierungen für alle Formeln veröffentlichen sollte.

    Zustimmung zu der Ansicht, dass die CRA Referenzimplementierungen für alle Formeln veröffentlichen sollte, damit kleine Unternehmen davon profitieren können.

  • In Frankreich werden diese Regeln als Website, API, NPM-Paket und als Rohregeln in der Sprache publi.codes bereitgestellt.

    Es wird erläutert, dass die Steuervorschriften in Frankreich als Website, API, NPM-Paket und in der Sprache publi.codes verfügbar sind.

  • Gilt für alle außer für Einwohner von Québec, Nova Scotia, Yukon und Ontario, wo etwa 75 % der kanadischen Bevölkerung leben.

    Es handelt sich um Regeln, die für die Mehrheit der kanadischen Bevölkerung gelten, mit Ausnahme der Einwohner von Québec, Nova Scotia, Yukon und Ontario.

  • Ich lebe in den USA, aber diese Komplexität ist einer der Hauptgründe, warum ich in meiner LLC keine Mitarbeiter einstelle.

    Ein Nutzer aus den USA erklärt, dass die steuerliche Komplexität einer der Hauptgründe ist, in seiner LLC keine Angestellten einzustellen.

  • Jeder Algorithmus, ob Software oder nicht, wird in einen verwirrenden Zustand gebracht, in dem durch das Hinzufügen von Komplexität das gewünschte Ergebnis erzielt werden kann.

    Algorithmen werden durch zusätzliche Komplexität in einen verwirrenden Zustand versetzt, in dem gewünschte Ergebnisse erzielt werden können; das verwirrt Außenstehende und kann in manchen Fällen negative Folgen haben.