Offline-first Rechnungen für deutsche Freelancer und Kleinunternehmer. ZUGFeRD- / Factur-X-konforme PDF/A-3 mit eingebettetem EN-16931-XML — lokal, ohne Cloud, ohne Abo.
Releases • Discussions • Plan • Changelog • Contributing
Ich bin Solo-Selbstständiger und hatte keine Lust auf weitere 20–30 € pro Monat für SaaS-Buchhaltung, nur um ein paar Rechnungen pro Quartal zu schreiben. Zettel ist das, was dabei rausgekommen ist: ein kleines Desktop-Tool, das lokal läuft, die deutsche E-Rechnungs-Norm EN 16931 korrekt umsetzt und den Kleinunternehmer-Modus (§ 19 UStG) als First-Class-Feature behandelt — nicht als Häkchen, das man hinter einem Premium-Tarif suchen muss.
Stand 0.2: fünf von fünf v0.1-Test-Rechnungen sind grün bei erechnungs-validator.de. v0.2 bringt Reverse-Charge, BASIC/EXTENDED-Profile, DATEV-Export, Backup/Restore und wiederkehrende Rechnungen dazu. Reicht für mich, reicht hoffentlich auch für dich.
Installer für Windows, macOS und Linux gibt's unter Releases.
| Plattform | Format | Hinweis |
|---|---|---|
| Windows 10/11 | .msi, .exe (NSIS) |
Erster Start: SmartScreen → Weitere Informationen → Trotzdem ausführen |
| macOS 14+ | .dmg (Apple Silicon) |
Nicht notarisiert — Rechtsklick → Öffnen beim ersten Start. Intel-Build vorübergehend ausgesetzt (CI-Capacity). |
| Linux | .deb (Ubuntu 22.04+) |
Pango/Cairo nötig (s. u.) |
Auf Linux und macOS braucht WeasyPrint Pango, Cairo und gdk-pixbuf aus dem System:
# Ubuntu / Debian
sudo apt install libpango1.0-0 libcairo2 libgdk-pixbuf2.0-0
# macOS
brew install pango cairo gdk-pixbuf- Einstellungen öffnen, Firmendaten und Steuernummer eintragen
- Kunde anlegen
- Neue Rechnung → Kunde wählen → Positionen eintragen → speichern
- PDF erzeugen → liegt unter
~/Documents/Zettel/Rechnungen/RE-2026-0001.pdf
Rechnungen & Kunden lokal. SQLite, kein Cloud-Sync. Status-Workflow Entwurf → Versandt → Bezahlt → Storniert. Customer-Snapshot pro Rechnung (rechtssicher zum Rechnungszeitpunkt). Konfigurierbare Nummernkreise, Logo-Upload.
E-Rechnung konform. PDF/A-3 mit eingebettetem Factur-X-XML in den Profilen BASIC, EN 16931 und EXTENDED. Kleinunternehmer-Modus mit korrektem CategoryCode E und BR-CO-26-konformem BT-29-Fallback ohne USt-IdNr. Mehrere USt-Sätze pro Rechnung (0 %, 7 %, 19 %).
Reverse-Charge / intra-EU B2B. Toggle pro Rechnung, automatischer 0 %-Ausweis, ZUGFeRD CategoryCode K + ExemptionReason, deutscher und englischer Hinweistext auf der PDF.
DATEV-Export. Buchungsstapel (Format 700, SKR03/SKR04) für den Steuerberater — eine Buchungszeile pro USt-Rate pro Rechnung. Kleinunternehmer- und Reverse-Charge-Rechnungen auf den passenden Erlöskonten. UTF-8-BOM, CRLF, importierbar in DATEV Kanzlei-Rechnungswesen.
Wiederkehrende Rechnungen. Vorlagen für Retainer/Subscriptions (monatlich / quartalsweise / jährlich). Fällige Vorlagen erscheinen auf dem Dashboard — ein Klick erzeugt einen Entwurf. Keine stille Auto-Generierung im Hintergrund.
Backup & Restore. ZIP mit konsistentem SQLite-Snapshot (VACUUM INTO), allen PDFs und einem Manifest. Restore wird beim nächsten App-Start eingespielt; die alte DB landet vorsichtshalber als zettel.db.bak.
Keine vollständige Buchhaltung, kein Banking, kein Cloud-Sync, keine Mobile-App. Eingangsrechnungen einlesen und Drittland-Reverse-Charge sind für v0.3+ geplant. Vollständige Non-Goals in PLAN.md.
Tauri 2 + Svelte 5 (Runes) + TypeScript strict + Tailwind v4. UI als shadcn-Style-Layer über Bits-UI-Primitives unter src/lib/ui/. Persistenz über tauri-plugin-sql direkt auf SQLite. PDF und ZUGFeRD-XML rendert ein Python-Sidecar (WeasyPrint, factur-x, Jinja2), gebundelt per PyInstaller und als Tauri-Resource ausgeliefert. Architektur, Datenmodell und Sidecar-Protokoll: PLAN.md und CLAUDE.md.
pnpm install
pnpm tauri:devRelease-Build inklusive Sidecar-Bundle:
cd sidecar && python build.py && cd ..
pnpm tauri:buildContributor-Setup, Konventionen und Bauanleitung pro Plattform: CONTRIBUTING.md.
Zettel ist keine Rechts- oder Steuerberatung und gibt keinerlei Garantie auf rechtliche Korrektheit der erzeugten Rechnungen. Nutzung auf eigene Verantwortung. Die ersten Rechnungen vor dem Versand vom Steuerberater prüfen lassen.
MIT — © Jonas Laux & Contributors · laux.digital