Jede Ausgabe nach eigener Regel
Feste Quote oder nach Einkommen — pro Posten gewählt, nie angenommen. Die Standard-Aufteilung füllt nur das Formular vor.
Zwei Einkommen, ein Haushalt, ein klarer Plan.
Der Haushaltsplaner für alle, die Kosten ungleich teilen — und wollen, dass die Rechnung stimmt. Miete nach Einkommen, Strom halbe-halbe, das Fitnessstudio zahlt nur einer. Jeder Posten bekommt seine eigene Regel, und beide sehen sofort, was er sie kostet.
Das Problem
Aufteilungs-Apps kennen genau eine Regel für alles. Tabellen können es ausdrücken — bis eine Zelle verrutscht und die Formel monatelang still falsch rechnet. KassenKnoten macht die Aufteilung zur bewussten Entscheidung pro Posten, rechnet sie auf den Cent und zeigt beim Tippen, was dabei herauskommt.
Feste Quote oder nach Einkommen — pro Posten gewählt, nie angenommen. Die Standard-Aufteilung füllt nur das Formular vor.
Beträge sind ganze Cent, Anteile Basispunkte. 39,99 € halbe-halbe werden 20,00 € und 19,99 € — nie 39,98 €. Die Rechen-Engine ist ein reines, getestetes Modul.
Jeder Eintrag trägt die Monate, für die er gilt. Eine Gehaltserhöhung im September lässt den August August bleiben — und die App fragt nach, ob eine Änderung neu gilt oder schon immer galt.
Lebensmittel, Tanken, Ausgehen: entweder zählt der Plan — oder jede Rechnung mit Datum, und der Plan wird zum Budget, gegen das gemessen wird.
Eine Versicherung für 132,00 € im Jahr steht als 11,00 € im Monat neben allem anderen. Niemand teilt mehr im Kopf durch zwölf.
Spartöpfe mit monatlicher Rate, Stand und optionalem Ziel — einer Person zugeordnet oder dem Haushalt.
Negatives freies Geld, eine Sparrate über den Einnahmen, ein überschrittenes Budget — als Hinweis, nicht als Modal. Löschen zeigt „Rückgängig“ statt „Bist du sicher?“.
Eigenes Symbol auf dem Home-Bildschirm, Start ohne Adressleiste. Browser, die das nicht können, bekommen den Weg durch ihr eigenes Menü genannt.
Die Sprache wählst du beim Einrichten und änderst sie jederzeit. Sie gehört dem Haushalt, nicht dem Browser — das Küchen-Tablet spricht dieselbe wie der Rechner.
Lade eine eigene Erweiterung hoch, und sie steuert Karten zur Übersicht bei. Sie läuft auf deinem Server mit vollem Zugriff — installiere nur, was du gelesen hast oder wem du vertraust.
Eine SQLite-Datei auf einem Volume, das dir gehört. Versionierte JSON-Sicherungen und CSV-Export; die Wiederherstellung läuft in einer einzigen Transaktion.
Gemeinsame Fixkosten
Jeder gemeinsame Posten zeigt beide Anteile in Euro und Prozent, und welche Regel sie erzeugt hat. Die Aufteilung wird beim Tippen vorgerechnet, mit derselben Funktion, die später auch speichert — eine Vorschau, die anders rechnet als das Ergebnis, ist keine.
Variable Kosten
Was nicht jeden Monat gleich ist, bekommt ein Budget — und du entscheidest pro Budget, wie es geführt wird. Plan zählt den geplanten Betrag und fragt nichts weiter. Detailliert zählt, was tatsächlich gebucht ist, jede Ausgabe mit Datum.
Rücklagen
Spartöpfe mit Rate, Stand und optionalem Ziel. Der Fortschritt ist ein Balken, kein Kopfrechnen — und wenn ein Topf sein Ziel überschreitet, sagt die Übersicht es freundlich.
Am Handy
Der Haushaltsplan wird in der Küche geöffnet, nicht am Schreibtisch. Gleiche Funktionen, Navigation in Daumenreichweite, ein Zahlenfeld, das den Ziffernblock aufruft, und ein Design, das dem Systemthema folgt.
Sicherheit
Ein Haushalts-Passwort, mit argon2id gehasht und aus der Umgebung gelesen — eine Kopie der Datenbank ist keine Kopie des Passworts. Optional dazu ein Code aus jeder Authenticator-App (TOTP nach RFC 6238). Ein benutzter Code wird abgelehnt.
Das Sitzungs-Cookie ist verschlüsselt, nicht bloß signiert (JWE, A256GCM), httpOnly, SameSite=Lax und Secure über HTTPS.
Jede Route außer Anmeldung und Health-Check verlangt eine Sitzung — deny by default, damit eine neue Seite nicht versehentlich öffentlich ist. Server Actions prüfen zusätzlich selbst.
Content-Security-Policy mit Nonce pro Anfrage, Schriften selbst gehostet, keine CDNs, keine Telemetrie. Der Container läuft als unprivilegierter Benutzer.
Selbst hosten
Kein Quellcode, kein Node, kein Build: das Image ist für amd64 und arm64 veröffentlicht, ein Raspberry Pi also genauso ein Ziel wie ein NUC. Zwei Dateien herunterladen, zwei Geheimnisse erzeugen — die Skripte dafür laufen im Image selbst — und starten. Die Datenbank wird beim ersten Start angelegt und migriert.
mkdir kassenknoten && cd kassenknoten
curl -LO https://github.com/jankln/KassenKnoten/releases/latest/download/docker-compose.yml
curl -L -o .env https://github.com/jankln/KassenKnoten/releases/latest/download/env.example
# ein Sitzungsschlüssel
echo "SESSION_SECRET=$(openssl rand -base64 32)" >> .env
# euer Haushalts-Passwort, gehasht
docker run -it --rm ghcr.io/jankln/kassenknoten:latest \
node scripts/hash-password.ts
# optional: zweiter Faktor, druckt einen QR-Code ins Terminal
docker run -it --rm ghcr.io/jankln/kassenknoten:latest \
node scripts/totp-secret.ts
docker compose up -d
Danach http://127.0.0.1:3000 öffnen — ein Assistent in drei Schritten richtet den Haushalt ein. Für den Zugriff von außen gehört ein Reverse Proxy mit TLS davor.