Zum Inhalt springen

Einführung

FinDSL ist eine domänenspezifische Sprache (DSL) für die deutsche steuerliche Finanzverwaltung. Man schreibt Steuerlogik in einer Sprache mit deutschen Schlüsselwörtern (fn, wähle, falls, prüfe, testfall …), die sich wie strukturiertes Gesetz liest — nicht wie Programmiersprache.

Gesetz als Code — lesbar für Fachexperten, ausführbar für Systeme.

Steuerrecht wird lesbar (für Fachexpert:innen), prüfbar (wie ein Test) und ausführbar (für Systeme) — aus einer einzigen Quelle, ohne Drift zwischen Gesetz, Dokumentation und Code.

FinDSL richtet sich an drei Gruppen:

  • Sachbearbeiter:innen & Fachreferent:innen — wollen lesen, nachvollziehen und mit dem Gesetz abgleichen. Kein Programmierhintergrund nötig.
  • IT & Projektleitung der Verwaltung — fragen nach Wartbarkeit, Integration, Auditierbarkeit und Unabhängigkeit von Anbietern.
  • Entscheider:innen (Finanzministerium) — fragen nach Rechtssicherheit, Kosten und Digitalstrategie.

Aus einer FinDSL-Quelle entstehen automatisch:

  • Ausführbarer Code — Java, TypeScript, JavaScript
  • Dokumentation — Markdown, HTML und PDF aus den Markdown-Doc-Kommentaren (Bundessteuerblatt-ähnliches Layout)
  • Programmablaufpläne — DIN-66001-nahe Diagramme, wie sie die Finanzverwaltung heute von Hand pflegt
  • Prüf-/Testfälleprüfe-/testfall-Blöcke, die bit-genau gegen einen Referenz-Interpreter laufen (bestanden = grün, Abweichung = rot)

FinDSL steht unter der EUPL-1.2 — auditierbar, air-gapped-fähig und ohne Vendor-Lock-in. Quelltext, Beispiele und Werkzeuge sind frei verfügbar.

Diese Doku richtet sich an Anwender:innen. Wer am FinDSL-Compiler selbst mitwirken möchte, findet alles dazu im Haupt-Repository (CONTRIBUTING).