Zum Inhalt springen
Bleier Solutions
+43 677 61817457Projekt besprechen
Projekt besprechen

Ich messe anonymisiert, welche Seiten gelesen werden, mit Google Analytics. Ohne Ihre Zustimmung passiert das nicht, und die Seite funktioniert genauso.

Was gemessen wird

Eigenprojekt · 2026

Grenzwert-Wächter

Ein Dienst, der Einnahmen aus Invoice Ninja und Belege aus Paperless mit den steuerpflichtigen Bezügen der Gehaltsabrechnung zusammenrechnet und warnt, bevor eine Grenze reißt.

Konzept, Entwicklung und Betrieb

Womit es gebaut ist

Python · FastAPI · SQLite · pdftotext · Docker

Das Problem

Wer neben einer Anstellung selbständig ist, hängt an mehreren Grenzen gleichzeitig: der Kleinunternehmergrenze, der Geringfügigkeitsgrenze und der Veranlagungspflicht. Die Zahlen dafür liegen an drei Orten: offene und bezahlte Rechnungen in Invoice Ninja, Belege in Paperless, die steuerpflichtigen Bezüge unter Kennzahl 245 der Gehaltsabrechnung. Von Hand rechnet das niemand monatlich nach, und auffallen tut es erst im Bescheid.

Die Lösung

Ein Dienst holt alle fünfzehn Minuten den Stand aus Invoice Ninja und Paperless, liest neue Gehaltsabrechnungen per pdftotext aus und zieht die Kennzahl 245 heraus. Der Rechenkern ist zustandslos: Er bekommt Zahlen hinein und gibt eine Bewertung zurück, ohne selbst zu speichern oder zu laden. Getestet wird er gegen von Hand nachgerechnete Beispiele, damit ein Fehler in der Rechnung auffällt und nicht erst der Steuerberater. Persistenz und Abgleich liegen daneben in SQLite; die Oberfläche zeigt je Grenze den Abstand in Euro und den Monat, in dem sie bei gleichbleibendem Verlauf erreicht wird.

Das Ergebnis

  • Jede Grenze hat einen aktuellen Abstand in Euro statt einer Schätzung am Jahresende.
  • Der Rechenkern läuft ohne Zustand und ist gegen von Hand nachgerechnete Fälle abgesichert.
  • Gehaltsabrechnungen werden automatisch eingelesen, statt Beträge abzutippen.
  • Der Abgleich läuft alle fünfzehn Minuten, ohne dass jemand etwas anstößt.

Warum es das gibt

Die Grenzen, an denen eine nebenberufliche Selbständigkeit hängt, sind einzeln harmlos und zusammen unübersichtlich. Sie greifen auf unterschiedliche Zeiträume, auf unterschiedliche Beträge und auf Zahlen, die in verschiedenen Systemen liegen. Der Wächter beantwortet eine einzige Frage: Wie weit ist es noch bis zur nächsten Grenze, und wann wäre sie bei gleichbleibendem Verlauf erreicht?

Wie er gebaut ist

Ein Abgleichlauf je Quelle, ein Rechenkern ohne Zustand, eine SQLite-Datei für den Verlauf. Der Kern bekommt Zahlen als Argumente und gibt eine Bewertung zurück, ohne Zugriff auf Datenbank oder Netz. Das macht ihn prüfbar: Zu jedem Fall gibt es einen Test mit einem von Hand nachgerechneten Ergebnis. Fehler in der Anbindung bleiben damit Fehler in der Anbindung und verfälschen nicht die Rechnung.

Was daran übertragbar ist

Dasselbe Muster trägt überall dort, wo Zahlen aus mehreren Systemen zu einer Entscheidung zusammenlaufen: Abgleich außen, Rechnung innen, Tests gegen von Hand nachgerechnete Fälle. Genau nach diesem Muster baue ich Auswertungen für Betriebe.