Zum Inhalt springen

Projekte

PEX — Rechnungs- & Zeiterfassungs-SaaS

2025 – heute

Rechnungs-SaaS, allein entwickelt: E-Rechnung (XRechnung, ZUGFeRD), DATEV-Export, Mahnwesen, Kundenportal und iOS-App. Laravel 13 + Nuxt, seit 2026 in Version 1.0 live.

  • Laravel 13
  • Nuxt
  • Stripe Connect
  • XRechnung / ZUGFeRD
  • DATEV
  • Capacitor iOS
  • Pest
  • Playwright

Das Produkt

PEX ist eine Rechnungs- und Zeiterfassungs-Software für Freelancer, Agenturen und kleine Unternehmen im deutschsprachigen Raum. Die Idee: alles, was zwischen „Projekt gestartet“ und „Geld ist auf dem Konto“ passiert, in einem Werkzeug — inklusive der Teile, die in Deutschland gern vergessen werden, bis der Steuerberater fragt.

Ich habe PEX als Solo-Entwickler gebaut: Produktkonzept, Datenmodell, API, Web-App, iOS-App, Marketing-Site und Betrieb. Am 26. September 2026 ist Version 1.0 in Produktion gegangen. Die Produkt-Website mit Funktionen und Preisen: pex-inventory.com.

Was PEX kann

Angebot bis Rechnung. Angebote, Rechnungen, Gutschriften, wiederkehrende Rechnungen sowie Abschlags- und Schlussrechnungen für längere Projekte. Rechnungen lassen sich aufteilen, Nummernkreise pro Kunde frei formatieren. Texte werden mit einem Rich-Text-Editor (TipTap) gestaltet — identisch im Web und auf dem iPhone.

Projekte, Zeiten, Ausgaben. Zeiterfassung pro Projekt, Ausgaben, CSV-Massenimport mit Live-Fortschritt und ein frei anordenbares Dashboard mit Aktivitäts-Feed.

E-Rechnung — in beide Richtungen. Ausgehende Rechnungen erzeugt PEX als XRechnung 3.0 (UBL) oder als ZUGFeRD 2.x / Factur-X im PDF/A-3-Hybridformat. Bevor eine Rechnung festgeschrieben wird, prüft sie der offizielle KoSIT-Validator — Fehler fallen also vor dem Versand auf, nicht beim Empfänger. Eingehende E-Rechnungen werden geparst, validiert, revisionssicher archiviert und landen bei Problemen in einer Quarantäne-Ansicht statt im Nirgendwo.

Steuerlogik, die im Alltag vorkommt. Kleinunternehmerregelung (§ 19 UStG), Reverse Charge (§ 13b UStG), USt-ID-Prüfung über VIES, EU-B2B-Rechnungen mit Zusammenfassender Meldung und OSS.

Mahnwesen. Mehrstufige Zahlungserinnerungen mit konfigurierbaren Mahngebühren und Verzugszinsen nach § 288 BGB — pro Mahnstufe einstellbar.

Bezahlen und Bank. Kunden zahlen per Karte oder SEPA-Lastschrift über Stripe Connect — direkt im Kundenportal oder über einen signierten Zahlungslink mit QR-Code. Kontoauszüge (CAMT.053, MT940) werden importiert und automatisch offenen Rechnungen zugeordnet.

Steuerberater-Zugang und DATEV. Steuerberater bekommen eine eigene Rolle mit lesendem Zugriff auf alle betreuten Mandanten und exportieren Buchungsdaten im DATEV-Format (EXTF, SKR03/SKR04, Debitorenkonten) — mit Vorschau vor dem Export.

Kundenportal. Ein separater Bereich, in dem Kunden ihre Rechnungen, Gutschriften und Zahlungen einsehen, Benachrichtigungen erhalten und offene Beträge direkt bezahlen — im Branding des jeweiligen Unternehmens.

Integrationen. Ausgehende Webhooks und eine n8n-Anbindung, damit PEX sich in bestehende Abläufe einfügt statt sie zu ersetzen.

GoBD: Nachvollziehbarkeit eingebaut

Rechnungssoftware in Deutschland muss belegen können, dass nichts nachträglich verändert wurde. PEX löst das in der Architektur, nicht per Konvention:

  • Festschreibung — ausgestellte Rechnungen sind gesperrt; korrigiert wird ausschließlich per Storno.
  • Hash-verkettetes Audit-Journal — jede Änderung verweist kryptografisch auf die vorige; ein Prüfbefehl verifiziert die gesamte Kette.
  • WORM-Archiv — das finale PDF wird mit SHA-256-Prüfsumme unveränderbar abgelegt.
  • Lückenlose Nummernkreise — Rechnungsnummern werden gesperrt vergeben und nie doppelt oder mit Lücke.

Architektur

Besucher      ──▶ Marketing-Site pex-inventory.com (Astro, Vercel)
                          │  Sign-up
Team          ──▶ Web-App (Nuxt, Vercel) ──┐
Steuerberater ──▶ Kanzlei-Ansicht ─────────┤
Kunde         ──▶ Kundenportal ────────────┼──▶ API (Laravel 13, Forge) ──▶ MySQL · Redis
iOS           ──▶ Capacitor-App ───────────┘           │
                                ┌──────────────────────┼──────────────────────┐
                         Horizon-Queues          Stripe Connect         S3 (WORM-Archiv)
                     (E-Rechnung, KoSIT,     (Abo, Karte, SEPA,
                      DATEV, Importe)          Webhooks)
  • Getrennte Auth-Domänen — Team-Nutzer über Laravel Sanctum mit Token-Laufzeiten pro Token-Typ, Portal-Kunden über einen eigenen Guard. Interne Daten und Kundenzugriff sind in der Infrastruktur getrennt, nicht in if-Bedingungen.
  • Rollen — Admin, Nutzer und Steuerberater; der Steuerberater wechselt zwischen Mandanten, ohne je Schreibrechte zu bekommen.
  • E-Rechnung als eigenes Paket — XRechnung-/ZUGFeRD-Erzeugung, Parsing und Validierung leben in einem separaten Composer-Paket mit eigener Testsuite und eigener Queue, damit lange Validierungen den Rest der App nicht ausbremsen.
  • Echtzeit — Fortschritt von Importen und Hintergrund-Jobs wird per WebSockets ins Frontend gestreamt.
  • Ein Codebestand, zwei Plattformen — die Nuxt-App läuft als iOS-App über Capacitor.
  • Betrieb — API auf Laravel Forge mit getrennter Staging- und Produktionsumgebung, Frontend auf Vercel, Monitoring über Sentry, Pulse und Horizon.

So entsteht PEX

PEX ist auch mein Labor dafür, wie ein Ein-Personen-Team mit der Taktung eines kleinen Teams liefert. Die Entwicklung läuft ticketbasiert in YouTrack; KI-Agenten übernehmen klar abgegrenzte Rollen — Product Owner, Entwicklung, QA und Design — und ich entscheide an festen Review-Punkten: Design, Backlog-Freigabe, Code-Review, Release.

Jede Änderung durchläuft denselben Weg:

  1. Pull Request mit Tests, geprüft in CI auf einem eigenen Self-hosted-Runner (Pest parallel, MySQL- und KoSIT-Vertragstests, Code-Style, Dependency-Audit, Typecheck).
  2. Staging — automatisch deployt, von QA gegen die laufende Umgebung erneut abgenommen.
  3. Release — erst nach einer vollständigen Regressionsrunde auf Staging: getaggtes Release, Promotion in Produktion, Prüfung, dass Produktion den erwarteten Commit ausliefert, Changelog und Release-Notes.

In Zahlen

KennzahlStand Oktober 2026
Backend-Tests (Pest)über 2.000
Frontend-Unit-Tests (Vitest)über 2.200
E2E-Tests (Playwright)über 80
API-Endpunkterund 330
Gemergte Pull Requestsüber 650
CI/CD-Workflows9

Ergebnis

Ein produktives SaaS-Produkt mit Marketing-Site, Web-App, iOS-App, Kundenportal und Steuerberater-Zugang — komplett aus einer Hand, inklusive der deutschen Pflichtthemen E-Rechnung, GoBD und DATEV. Genau der Projektumfang, den ich auch für Kunden umsetze: vom leeren Repository bis zum bezahlenden Nutzer.