
Ausgangslage
Bestehende Tools kosten monatlich oder speichern Finanzdaten auf fremden Servern. Ich wollte eine self-hosted Lösung, die genau das kann, was ich brauche — mit Unterstützung für deutsche Steueranforderungen und internationaler Nutzung.
Umsetzung
Deutsche Rechnungsanforderungen (§14 UStG, §19 UStG, §14b UStG) als Grundlage genommen.
Monorepo mit SvelteKit-Frontend und Fastify-API. PostgreSQL mit Drizzle ORM.
PDF-Generierung serverseitig mit pdf-lib. Kein Browser, kein Puppeteer.
Deutsche Rechnungsanforderungen (§14 UStG, §19 UStG, §14b UStG) als Grundlage genommen.
Monorepo mit SvelteKit-Frontend und Fastify-API. PostgreSQL mit Drizzle ORM.
PDF-Generierung serverseitig mit pdf-lib. Kein Browser, kein Puppeteer.
Funktionen
Entdecke die wichtigsten Funktionen

Rechnungen & PDF
Fortlaufende Nummerierung, §14-UStG-konforme Felder, Live-Vorschau, Archivierung.
Dashboard
Monatsübersicht, offene Posten, Jahresvergleich.


Mahnwesen
Drei Stufen: Zahlungserinnerung, Mahnung, Letzte Mahnung. Eigene PDF-Templates.
Ausgaben
Tracking mit Tags, Zahlungsarten, Belegupload. CSV-Export für den Steuerberater.

Technische Details
Monorepo-Architektur. TypeScript durchgängig von API bis Frontend.
Svelte 5 Runes für State-Management. SvelteKit für Routing und SSR.
Schneller Node.js-Server. JWT-Auth, REST-API, File-Uploads.
Relationale Datenbank für Finanzdaten. Drizzle für typsichere Queries.
Serverseitige PDF-Erstellung. Manuelle Positionierung, dafür keine Abhängigkeiten.
Status
Deckt den kompletten Freelancer-Workflow ab: Kunden, Rechnungen, Mahnungen, Ausgaben, Exporte. Läuft self-hosted auf dem eigenen Server oder lokal auf dem PC.
Open Source auf GitHub.
pdf-lib hat kein HTML-Rendering — jedes Element muss manuell positioniert werden. Aufwändig, aber man kontrolliert jedes Detail.
Drizzle-Migrations laufen nicht automatisch bei Schema-Änderungen. Manueller Trigger beim Start spart Debugging.