Deterministisch Java, TypeScript oder JavaScript aus einer Quelle
— inklusive JUnit-Tests aus den prüfe-Blöcken.
Gesetz als Code —
lesbar für Fachexperten,
ausführbar für Systeme.
FinDSL ist eine domänenspezifische Sprache für die deutsche Finanzverwaltung. Steuerlogik wird mit deutschen Schlüsselwörtern und direktem Paragraphenbezug formuliert — lesbar für die Fachseite, nicht nur für die IT.
Jede Regel wird mit prüfe bit-genau gegen einen Referenz-Interpreter
getestet: grün heißt, die Quelle ist mit dem Gesetz konsistent.
Aus genau dieser einen Quelle entstehen ausführbarer Code (Java, TypeScript, JavaScript) und vollständige Dokumentation (Markdown, HTML, PDF) — automatisch und ohne Drift zwischen Recht, Code und Dokumentation.
1. bis 12 348 Euro (Grundfreibetrag): 0;
2. von 12 349 bis 17 799 Euro: (914,51 · y + 1 400) · y;
3. von 17 800 bis 69 878 Euro: (…)
deutsche Schlüsselwörter, ein Quelltext
Java · TypeScript · JavaScript
Markdown · HTML · PDF · PAP
Quelle → Code → Dokumentation → Test
Steuerrecht wird heute mehrfach geschrieben — und schwer in Einklang gehalten.
Zwischen Paragraph, Programmcode und Bescheid liegen mehrere Übersetzungsschritte. Sie kosten Zeit, lassen die Quellen auseinanderdriften und erschweren die Nachvollziehbarkeit der Berechnung. Im laufenden Betrieb ist deshalb oft schwer zu belegen, dass das System dem aktuellen Rechtsstand entspricht.
Dokumentation driftet vom Code
Was im Gesetz steht, was im Code steht und was in der Dokumentation steht, läuft mit der Zeit auseinander. Welche Fassung verbindlich ist, lässt sich im Alltag schwer belegen.
Schwer lesbar für Fachexperten
Steuerliche Logik wird in eine Programmiersprache übersetzt — für Sachbearbeiter:innen ohne Code-Hintergrund kaum nachvollziehbar. Die fachliche Prüfung verschiebt sich in die IT.
Tests prüfen nicht das Gesetz
Unit-Tests prüfen den Code gegen erwartete Werte, nicht gegen die amtliche Berechnungsvorschrift. Abweichungen fallen oft erst auf, wenn sie im Bescheid landen.
Vendor-Lock-in & Kostenrisiko
Proprietäre Plattformen binden Verwaltungen langfristig. Migrationen werden zu eigenen Großprojekten und sind in der Praxis aufwendig.
Eine Quelle. Lesbar, prüfbar, ausführbar.
FinDSL ist eine Sprache, in der Steuerregeln so geschrieben werden, wie das Gesetz sie formuliert — und gleichzeitig direkt vom Computer ausgeführt werden können. Aus dieser einen Quelle entstehen automatisch Programmcode, Tests und Dokumentation. Was im Gesetz steht, was die Software ausführt und was am Ende im Bescheid landet, bleibt damit konsistent — nachvollziehbar für die Fachseite, prüfbar für die IT und auditierbar für die Revision.
„Gesetz als Code“ ist keine deutsche Erfindung — sondern eine international etablierte Bewegung, an die FinDSL anschließt.
Lesbar wie Gesetz
Deutsche Schlüsselwörter, Paragraphenbezug, kein C-Style. Wer das Gesetz versteht, versteht die Quelle.
Prüfbar wie ein Test
prüfe-Blöcke laufen bit-genau gegen einen Referenz-Interpreter. Grün = mit dem Gesetz konsistent.
Ausführbar wie Software
Aus derselben Quelle: Java, TypeScript, JavaScript sowie Dokumentation als Markdown, HTML und PDF. Kein handgeschriebener Code mehr.
Schreiben. Prüfen. Generieren.
Drei Schritte im Code-Editor — die gleichen drei Schritte, die auch im Playground passieren. Jeder Schritt ist sichtbar, rückverfolgbar und an einen Paragraphen gekoppelt.
Editor mit Gesetzesbezug
VS Code-Extension mit FinDSL-Syntax. Hover zeigt den passenden Paragraphen, Inlay-Hints den Geltungsbereich.
Grüne Play-Pfeile
Jeder prüfe-Block ist ein klickbarer Testfall. Der
Referenz-Interpreter rechnet bit-genau — grün = bestanden, rot =
Abweichung mit Diff.
Eine Quelle, viele Artefakte
Code in Java, TypeScript und JavaScript sowie Dokumentation als Markdown, HTML und PDF — autonom erzeugt und versioniert. Kein Drift, kein Handcode.
Sprich Steuerrecht.
Bekomme FinDSL.
Der findsl-author-Skill verwandelt eine formlose
Beschreibung in Alltagssprache oder einen §-Auszug in ein vollständig
getestetes FinDSL-Modul. Installiert in Claude Code, OpenCode oder Codex
— verifiziert durch findsl parse und
findsl test, nicht durch Versprechen.
„Lohnsteuer ist 14 % vom Brutto, davor 10.000 € Freibetrag pro Jahr, mindestens 0, auf volle Euro abrunden."
§ 11 Abs. 1 Satz 3 GewStG: „Der Gewerbeertrag ist auf volle 100 Euro nach unten abzurunden."
Mach mir eine kleine FinDSL-Funktion daraus.
-- # § 11 Abs. 1 Satz 3 GewStG — Gewerbeertrag abrunden. -- -- Rundungsstufe nach § 11 Abs. 1 Satz 3 GewStG. -- @Quelle("§ 11 Absatz 1 Satz 3 GewStG") konst RUNDUNGSSTUFE: Euro = 100 -- Rundet den Gewerbeertrag auf volle 100 € ab. -- @Quelle("§ 11 Absatz 1 Satz 3 GewStG") fn RundeGewerbeertragAb(ertrag: Euro): Euro = ertrag.abrundenAuf(RUNDUNGSSTUFE)
findsl parse → keine Diagnosen Bei fehlenden Angaben fragt der Skill gezielt zurück, statt eine Annahme zu verstecken — und dokumentiert jede getroffene Annahme sichtbar im Modul-Doc-Block.
Syntax-Highlighting. Inlay Hints. Live-Diagnose.
Die FinDSL-Erweiterung macht aus dem Editor eine echte Werkbank: Schlüsselwörter farbig, berechnete Zwischenwerte inline eingeblendet, Fehler sofort im Code markiert — Fachlogik schreibt sich wie Software.
Eine Quelle. Sechs Artefakte. Immer synchron.
Jede Generierung ist deterministisch und versionsfest. Der Build-Output landet im Repo, ist diff-bar und unterschriftsfähig.
EstGrundtarif(zvE) = (914,51·y+1.400)·y
mit y = (zvE−12.348) / 10.000
Vom Quelltext zum Artefakt — ein Befehl.
Das findsl-CLI deckt den ganzen Weg ab: parsen und
prüfen, Code in Java, TypeScript oder JavaScript erzeugen,
Dokumentation in mehreren Formaten generieren. Reproduzierbar und
skriptbar — ideal für die CI.
Bundessteuerblatt-nahe Dokumentation mit KaTeX-Formeln — als Markdown, HTML oder PDF, einzeln oder alle Formate auf einmal.
Syntax und Typen prüfen, dann die prüfe-Blöcke
bit-genau gegen den Referenz-Interpreter ausführen.
DIN-66001-nahe Ablaufpläne als Mermaid-Markdown oder
self-contained HTML — eine fn ergibt ein Diagramm.
Alle Befehle und Optionen in der Dokumentation.
Drei Perspektiven, eine Quelle.
FinDSL bedient die drei Personen, die ein Verwaltungsprojekt erfolgreich machen müssen — und ihre jeweiligen Sorgen sind unterschiedlich. Die Quelle bleibt für alle dieselbe.
- ✓ Deutsche Schlüsselwörter — keine Programmiersprache lernen
- ✓ Hover zeigt direkt den Paragraphen
- ✓ prüfe-Block macht Konsistenz mit Gesetz sichtbar
- ✓ Sie behalten die fachliche Kontrolle, nicht die IT
- ✓ Standard-Output: Java (JVM) sowie TypeScript & JavaScript — keine exotische Runtime
- ✓ Dokumentation, Code und Tests aus derselben Quelle — kein Drift
- ✓ Open Source (EUPL-1.2), läuft air-gapped, auditierbar
- ✓ Generate sind deterministisch und reproduzierbar
- ✓ Rules-as-Code — internationaler Standard (OECD, NZ, FR)
- ✓ Schließt die Lücke Paragraph ↔ Bescheid messbar
- ✓ Geringeres Projektrisiko durch nachvollziehbare Generate
- ✓ Anschluss an OZG, Digitaltauglichkeit, Registermodernisierung
Harte Argumente fürs Vergaberecht.
Was eine deutsche Finanzverwaltung von einem System verlangt — und wie FinDSL es heute schon erfüllt.
EUPL-1.2 · Open Source
Europäische Public Licence — kompatibel mit nationalem Vergaberecht. Quellcode öffentlich auf GitHub.
BITV 2.0 · WCAG 2.1 AA
Volle Tastatur- und Screenreader-Bedienung.
Standard-JVM & Web, kein Lock-in
Generierter Java-Code läuft auf jedem OpenJDK; TypeScript und JavaScript im Browser und in Node. Keine proprietäre Runtime, kein Cloud-Zwang, kein Vendor.