← Arbeit

Case Study · obolus.at

Centgenau, jedes Jahr aufs Neue.

Wie eine Plattform für Gehalt und Steuer gebaut sein muss, damit sie jeden Jahreswechsel ohne Umbau übersteht und jede Zahl belegen kann, die sie anzeigt.

Rolle
Architektur, Backend, Frontend, Betrieb
Team
1
Seit
2026
Stack
Vue · Nuxt · TypeScript · Nitro · SQLite · Storyblok · Kor · Docker · Traefik · GitLab CI
obolus.at
Ausgangslage

Was die Aufgabe tatsächlich war

Die Rahmenbedingung

Die österreichische Lohn- und Einkommensteuer ist keine Formel, sondern ein Regelwerk, das sich mit jedem Jahreswechsel ändert. Der etablierte Anbieter ist ein kostenloser Rechner der Arbeiterkammer, dem die Leute vertrauen. Ein Neueinsteiger hat unter diesen Umständen genau einen Weg, überhaupt brauchbar zu sein: exakt richtig liegen, die Herleitung offenlegen und früher aktuell sein als alle anderen.

Die Entscheidungen

Eine regelbasierte Engine mit einer versionierten Werte-Registry, eine Version pro Steuerjahr. Die Berechnung läuft im Browser, es wird also nie ein Gehaltswert übertragen. Und die redaktionellen Inhalte werden aus derselben Registry abgeleitet wie die Engine, wodurch es strukturell unmöglich wird, dass eine veröffentlichte Zahl von einer berechneten abweicht.

Die Disziplin

Jeder Satz, jede Grenze und jede Beitragsgrundlage ist auf ihre Primärquelle belegt. Sobald das Ministerium die Werte für das kommende Jahr veröffentlicht, wird eine einzige Registry-Version eingespielt, und die gesamte Seite zeigt das neue Jahr in der Vorschau: Tabellen, Glossar, Rechner, FAQ. Am 1. Jänner schaltet sie um. Das ist die Arbeit, die im Dezember den Unterschied macht, wenn alle anderen ihre Inhalte noch per Hand nachziehen.

Der Betrieb

EU-Hosting, CI/CD, Monitoring, Updates und das jährliche Re-Audit gegen die neuen Veröffentlichungen. Gebaut und betrieben, nicht gebaut und übergeben. Der Unterschied ist der Grund, warum die Architektur so aussieht, wie sie aussieht: Wer die nächsten fünf Jännerwechsel selbst macht, baut anders.

Architektur

Eine Registry, und alles liest dieselbe Version

Veröffentlichte Zahl und berechnete Zahl stammen aus derselben Version. Abweichung ist strukturell ausgeschlossen.
Datenfluss von obolusPrimärquellen werden einmal pro Jahr in eine versionierte Werte-Registry eingespielt. Die Registry speist sowohl die Steuer-Engine, die im Browser läuft, als auch die Content-Schicht. Weil beide dieselbe Registry-Version lesen, können eine veröffentlichte und eine berechnete Zahl nicht voneinander abweichen.BMF · BVAEBPrimärquellen, jährliche VeröffentlichungEINSPIELEN · 1x PRO JAHRWerte-Registryeine Version pro Steuerjahrat-2025at-2026at-2027 · previewDIESELBE VERSIONIM BROWSERKEINE ÜBERTRAGUNGSteuer-Engineregelbasiert, auf den Cent genauContent-SchichtTabellen, Glossar, FAQSeiten auf obolus.at
Die Primärquellen werden einmal jährlich in die Registry eingespielt. Steuerlogik und Content-Schicht lesen dieselbe Version, damit eine Zahl in einer Tabelle und eine Zahl im Ergebnis nicht auseinanderlaufen können.
Übertragbar

Was davon in Ihrem Projekt ankommt

Drei Dinge, und sie hängen nicht am Thema Steuer. Erstens Korrektheitsdisziplin unter regulatorischen Rahmenbedingungen: Herkunft und Version jeder Zahl sind Teil der Architektur, nicht der Dokumentation. Zweitens eine SEO-Fläche, die generiert statt geschrieben wird, wodurch Inhalt und Rechenlogik nicht auseinanderlaufen können. Drittens eine Plattformschicht, die ein sehr kleines Team zu einem tragfähigen Weg macht, ein Produkt dieser Größe zu liefern und über Jahre zu betreiben.

Wenn Ihr Problem so aussieht

Eine E-Mail kostet Sie fünf Minuten, ein Audit einen Zugang und 72 Stunden. Beides sagt Ihnen mehr darüber, wie wir arbeiten, als jede weitere Case Study.