InvoiceNinja einrichten: Open-Source Rechnungsstellung selbst hosten

InvoiceNinja einrichten: Open-Source Rechnungsstellung selbst hosten

Kurzantwort: InvoiceNinja ist eine Open-Source-Rechnungssoftware, die du auf dem eigenen Server hostest — MWST-konform, DSGVO-sicher und ideal für Schweizer KMU, die unabhängig von SaaS-Anbietern rechnen wollen.

Geeignet für: Schweizer KMU (1–50 Mitarbeitende), die QR-Rechnungen und MWST-konforme Buchhaltung selbst hosten möchten
Wir helfen Schweizer KMUs dabei, Open-Source-Lösungen wie InvoiceNinja sicher einzurichten und mit QR-Rechnungen ans Schweizer Finanzsystem anzubinden.

InvoiceNinja einrichten: Open-Source Rechnungsstellung selbst hosten

Rechnungen schreiben, Zahlungsstatus verfolgen, Mahnungen automatisch verschicken — all das erledigen Cloud-SaaS-Tools wie Lexoffice oder SevDesk für dich, aber gegen monatliche Gebühr und mit Datenfluss ins Ausland. Mit InvoiceNinja hostest du eine vollwertige Rechnungssoftware auf dem eigenen Server, behältst die volle Datenhoheit und sparst dabei dauerhaft Lizenzkosten. In diesem Guide erfährst du, was InvoiceNinja kann, wie du es mit Docker einrichtest und wie du es MWST-konform für das Schweizer Finanzsystem konfigurierst.

InvoiceNinja: Selbst-gehostete Rechnungsstellung für Schweizer KMU

Was ist InvoiceNinja?

InvoiceNinja ist eine webbasierte Open-Source-Anwendung für Rechnungsstellung, Angebote, Ausgabenverwaltung und Zeiterfassung. Das Projekt existiert seit 2014 und wird aktiv von einer grossen Community weiterentwickelt. Die Software steht unter der MIT-Lizenz und lässt sich vollständig auf einem eigenen Server betreiben — ohne Cloud-Abhängigkeit und ohne Abo-Gebühren.

Anders als bei reinen Buchhaltungstools lagert InvoiceNinja die eigentliche Buchhaltung nicht in die Cloud aus, sondern konzentriert sich auf den Rechnungsprozess: Du erstellst Angebote, wandelst diese in Rechnungen um, verschickst sie per E-Mail oder als PDF, akzeptierst Online-Zahlungen und verfolgst den Eingang automatisch. Für dieVerbuchung in der Finanzbuchhaltung nutzt du parallel eine Schweizer Buchhaltungssoftware wie Banana oder Abacus — InvoiceNinja liefert die fertigen Belege.

  • Rechnungen und Angebote erstellen — als PDF, per E-Mail oder via Kundenportal
  • QR-Rechnung mit Schweizer IBAN/QR-IBAN und korrekter MWST-Ausweisung
  • Wiederkehrende Rechnungen (Abo-Modell) mit automatischem Versand
  • Online-Zahlungen via Stripe, PayPal, Twint (über Plugins) oder Banküberweisung
  • Ausgabenverwaltung mit Beleg-Upload und Kategorisierung
  • Zeiterfassung und projektabasierte Abrechnung
  • Mehrsprachige Rechnungen: Deutsch, Französisch, Italienisch, Englisch und 30+ weitere Sprachen
  • REST-API und Webhooks für Automatisierungen mit n8n oder Make
💡
Tipp: InvoiceNinja v5 (Self-Host) ist die aktuellste stabile Version. Setze immer die neueste v5.x ein, da v4 kein Active Maintenance mehr erhält und Sicherheitslücken aufweisen kann.

Wie richte ich InvoiceNinja ein?

Die einfachste und produktivste Methode, InvoiceNinja zu installieren, ist Docker. Du brauchst einen Linux-Server (VPS oder dediziert), Docker und Docker Compose. Der gesamte Setup-Prozess dauert erfahrungsgemäss 30 bis 60 Minuten — inklusive SSL-Zertifikat und Reverse-Proxy. Wenn du das erste Mal mit Docker arbeitest, plant eher zwei Stunden ein.

  1. Server vorbereiten: Aktualisiere dein System mit apt update && apt upgrade und installiere Docker sowie Docker Compose.
  2. Verzeichnis anlegen: Erstelle einen Ordner, z. B. mkdir -p /opt/invoiceninja && cd /opt/invoiceninja.
  3. docker-compose.yml erstellen: Nutze das offizielle Image invoiceninja/invoiceninja und füge einen MariaDB-Container für die Datenbank hinzu.
  4. Environment-Variaben setzen: Konfiguriere APP_URL, DB_PASSWORD, APP_KEY und MAIL_ENVIRONMENT in einer .env-Datei.
  5. Reverse-Proxy einrichten: Nutze Caddy oder Nginx als Reverse-Proxy mit automatischem Let's-Encrypt-Zertifikat für deine Domain (z. B. rechnung.deinfirma.ch).
  6. Container starten: Führe docker compose up -d aus und prüfe mit docker compose logs, ob alle Dienste fehlerfrei hochfahren.
  7. Erstes Setup im Browser: Öffne deine URL, vergebe Admin-Passwort, Firmenname, Adresse und MWST-Satz (z. B. 8.1% für die Schweiz).
  8. Swiss QR-Rechnung aktivieren: Konfiguriere im Rechnungs-Template die QR-IBAN und den korrekten Swiss-QR-Code-Generator.

Hier eine minimale docker-compose.yml als Ausgangspunkt:

version: "3.8"
services:
  app:
    image: invoiceninja/invoiceninja:5
    env_file: .env
    volumes:
      - ./storage:/var/www/app/storage
      - ./logo:/var/www/app/public/logo
    depends_on:
      - db
    restart: unless-stopped

  db:
    image: mariadb:10.11
    environment:
      MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
      MYSQL_DATABASE: ninja
    volumes:
      - ./db:/var/lib/mysql
    restart: unless-stopped

  web:
    image: nginx:alpine
    volumes:
      - ./nginx.conf:/etc/nginx/conf.d/default.conf
    ports:
      - "8080:80"
    depends_on:
      - app
    restart: unless-stopped

Wichtig: Setze ein starkes Datenbankpasswort (mindestens 24 Zeichen), erzeuge den APP_KEY mit php artisan key:generate und sichere den Zugriff über HTTPS ab. Für den produktiven Betrieb empfiehlt sich zusätzlich eine regelmässige Datenbanksicherung mit einem Cronjob oder einem Tool wie Restic.

Nach dem ersten Start durchläufst du den Setup-Wizard im Browser. Du gibst deinen Firmennamen, die Rechnungsadresse und die Kontaktdaten ein. Achte darauf, dass die Adresse exakt mit dem Eintrag im Handelsregister übereinstimmt — das ist relevant für die formelle Gültigkeit deiner Rechnungen. Danach legst du die MWST-Sätze an und konfigurierst das Standard-Rechnungs-Template mit deinem Logo und deinen CI-Farben.

Eine häufig unterschätzte Massnahme ist die E-Mail-Konfiguration. InvoiceNinja verschickt Rechnungen und Mahnungen automatisch per E-Mail — das funktioniert aber nur zuverlässig, wenn ein korrekter SMTP-Server hinterlegt ist. Nutze idealerweise einen dedizierten Transaktions-E-Mail-Dienst wie Sendgrid, Postmark oder den SMTP-Relay deines Schweizer Hosting-Anbieters (z. B. Infomaniak). Vermeide den lokalen Mailserver des VPS, da dessen E-Mails häufig im Spam-Filter landen.

💡
Tipp: Teste nach der Einrichtung eine Probe-Rechnung an dich selbst. Prüfe, ob das PDF korrekt aussieht, der QR-Code scannbar ist und die E-Mail sauber im Posteingang ankommt — nicht im Spam-Ordner.

Möchtest du InvoiceNinja professionell einrichten lassen? Synara übernimmt Hosting, SSL, QR-Rechnung und Backup für dich — inklusive Schulung deines Teams. Unverbindliche Beratung anfragen →

Welche Features braucht mein KMU?

Nicht jedes KMU braucht alle Funktionen von InvoiceNinja. Wenn du als Einzelunternehmer primär gelegentlich Rechnungen schreibst, reichen die Grundfunktionen. Für wachsende Betriebe mit Mitarbeitenden, wiederkehrenden Kunden und Projektabrechnung lohnen sich die erweiterte Module. Hier eine Übersicht der relevantesten Funktionen:

  • Kundenverwaltung (CRM-light): Adressen, Kontakte, individuelle Steuersätze pro Kunde
  • Produkt- und Servicekatalog: Vordefinierte Positionen mit Preis, MWST und Beschreibung
  • Wiederkehrende Rechnungen: Automatischer Versand wöchentlich, monatlich oder jährlich
  • Kundenportal: Kunden können ihre Rechnungen online einsehen und bezahlen
  • Mahnwesen: Automatische Erinnerungsmails bei überfälligen Rechnungen (einstellbare Staffeln)
  • Berichte: Umsatz nach Kunde, Monat, Produkt — exportierbar als CSV oder PDF
  • Mehrwährungs-Support: Rechnungen in CHF, EUR, USD mit tagesaktuellen Wechselkursen
  • Benutzerrollen: Admin, Mitarbeiter und eingeschränkte Rollen für Buchhaltungsbüros
0 CHF
Monatliche Lizenzkosten (Self-Host)
~20 CHF
VPS-Kosten pro Monat
30 Min
Setup-Zeit mit Docker
100%
Datenhoheit in der Schweiz

Wie funktioniert die MWST-Verwaltung?

Die korrekte MWST-Ausweisung ist für Schweizer Rechnungen gesetzlich vorgeschrieben. Eine gültige Rechnung muss zwingend enthalten: den Hinweis „Mehrwertsteuer", den MWST-Satz (Normalsatz 8.1%, reduzierter Satz 3.8% bzw. 2.6%), den MWST-Betrag sowie bei ausländischen Kunden den Hinweis „Reverse Charge" oder den Vermerk „MwSt. ausweisbar". InvoiceNinja unterstützt all diese Anforderungen, wenn du die Steuersätze korrekt konfigurierst.

Die wichtigsten Schritte für eine MWST-konforme Konfiguration: Lege in den Einstellungen unter „Tax Settings" die Schweizer MWST-Sätze an (8.1% Normalsatz, 3.8% Beherbergung, 2.6% reduzierter Satz). Weise jedem Produkt den korrekten Steuersatz zu. Für exportierende Unternehmen erstelle zusätzlich einen Steuersatz „0% Reverse Charge" für EU-Kunden mit gültiger UID. Stelle im Rechnungs-Template sicher, dass der MWST-Betrag und der Satz klar ausgewiesen sind — das Standard-Template von InvoiceNinja erfüllt diese Anforderungen bereits.

💡
Tipp: Für die Swiss QR-Rechnung brauchst du zwingend eine QR-IBAN deiner Bank. Konfiguriere diese separat unter Settings → Bank Accounts und aktiviere das Swiss-QR-Rechnungs-Template. Der QR-Code enthält IBAN, Betrag, Empfänger und Referenz — das ist die Grundlage für die automatische Verbuchung beim Empfänger.

Achtung: InvoiceNinja ersetzt nicht deine Finanzbuchhaltung! Es erstellt die Rechnungsbelege und liefert dir MWST-Übersichten, aber die tatsächliche Verbuchung in der Finanzbuchhaltung (z. B. in Banana, Abacus oder direkt in der MWST-Abrechnung der ESTV) machst du weiterhin getrennt. Die aus InvoiceNinja exportierten Werte dienen als Grundlage.

Sicherheit, Backups und Wartung

Wenn du InvoiceNinja selbst hostest, trägst du auch die Verantwortung für Sicherheit und Datenverfügbarkeit. Das klingt zunächst nach Mehraufwand, ist aber mit den richtigen Massnahmen gut handhabbar. Die wichtigsten Punkte: Halte das System aktuell — InvoiceNinja veröffentlicht regelmässig Updates mit Sicherheits-Patches. Richte automatische Backups der Datenbank und des Storage-Verzeichnisses ein (mindestens täglich). Sichere die Backups an einen zweiten Standort (z. B. einen S3-kompatiblen Object Storage oder eine externe Festplatte).

Zusätzlich empfehlenswert: Aktiviere Fail2ban oder einen IP-basierten Zugangsschutz für den Admin-Bereich. Nutze starke Passwörter und idealerweise Two-Factor Authentication (2FA), sofern verfügbar. Setze einen Reverse-Proxy mit Rate-Limiting ein, um Brute-Force-Angriffe abzuwehren. Und dokumentiere deine Setup-Schritte — falls du einmal den Server wechseln musst, weisst du genau, was zu tun ist.

  • Updates: Mindestens monatlich prüfen und einspielen
  • Datenbank-Backup: Täglich, automatisiert via Cronjob
  • Storage-Backup: Belege, Logos und hochgeladene Dateien sichern
  • Offsite-Backup: Zweiter Standort für Katastrophenschutz
  • Monitoring: Uptime-Check mit Uptime-Kuma oder Better Stack
  • SSL-Zertifikat: Automatische Verlängerung via Let's Encrypt
💡
Tipp: Teste dein Backup mindestens einmal pro Quartal, indem du eine Wiederherstellung auf einem Testsystem durchführst. Ein Backup, das sich nicht restoren lässt, ist wertlos.

InvoiceNinja vs Lexoffice vs SevDesk: Der Vergleich

Solltest du wirklich selbst hosten oder ist eine Cloud-Lösung doch praktischer? Die Antwort hängt von deinen Prioritäten ab: Datenhoheit, Kostenkontrolle und Unabhängigkeit sprechen für Self-Hosting. Bequemlichkeit, Wartungsfreiheit und eingebaute Schnittstellen zur Schweizer Buchhaltung sprechen für SaaS. Hier die Gegenüberstellung:

KriteriumInvoiceNinja (Self-Host)Lexoffice (SaaS)SevDesk (SaaS)
Monatliche Kostennur VPS (~20 CHF)ab 29 € / Monatab 14 € / Monat
Datenhoheit100% selbstServer in DE/EUServer in DE/EU
Swiss QR-RechnungKonfiguration nötigeingebauteingebaut
DSGVO-Audit-fähigja, automatischAVV nötigAVV nötig
Wartung/Updatesselbst übernehmenautomatischautomatisch
Schnittstellen/APIREST + WebhookseingeschränktREST-API
Mehrsprachigkeit30+ SprachenDE/ENDE/EN/FR/IT
Anpassbarkeitvollständig (Open Source)begrenztbegrenzt

"Wir haben InvoiceNinja von Synara aufsetzen lassen und seitdem null Lizenzkosten mehr. Die QR-Rechnung funktioniert einwandfrei und unsere Kundendaten bleiben in der Schweiz. Das war die beste Entscheidung für unsere Buchhaltung."

— Markus Brunner

Geschäftsführer, Brunner GmbH (St. Gallen)

Soll wir InvoiceNinja für dich MWST-konform einrichten? Vom Docker-Setup bis zur Swiss QR-Rechnung — Synara macht das komplett für dich. Jetzt Beratung vereinbaren →

Ist InvoiceNinja wirklich kostenlos?

Ja, die Self-Hosted-Version von InvoiceNinja ist Open-Source (MIT-Lizenz) und kostenlos. Du zahlst lediglich für den Server (VPS ab ca. 20 CHF/Monat) und optional für die Domain. Es gibt keine Nutzer-Limits und keine versteckten Kosten. Die kommerzielle Cloud-Version von invoiceninja.com hat ein eigenes Preismodell, das ist aber nicht dasselbe Produkt.

Kann ich mit InvoiceNinja Schweizer QR-Rechnungen erstellen?

Ja, mit der richtigen Konfiguration. Du benötigst eine QR-IBAN deiner Bank und musst das Swiss-QR-Rechnungs-Template aktivieren. Der QR-Code wird dann automatisch auf der Rechnung generiert und enthält IBAN, Betrag, Empfänger und Referenznummer. Die Einrichtung erfordert einige manuelle Schritte, danach läuft der Prozess vollautomatisch.

Wie sicher sind meine Daten bei InvoiceNinja?

Da du InvoiceNinja auf deinem eigenen Server hostest, bleiben alle Kundendaten vollständig unter deiner Kontrolle. Es gibt keinen Zugriff von Drittanbietern, keine Cloud-Abhängigkeit und du kannst eigene Backup-Strategien umsetzen. Für maximale Sicherheit empfehlenswert: HTTPS-Zertifikat, starke Passwörter, regelmässige Updates und automatisierte Datenbank-Backups.

Brauche ich Programmierkenntnisse für die Einrichtung?

Für die Docker-Installation brauchst du grundlegende Linux-Kenntnisse (Kommandozeile, Dateieditor, grundlegende Netzwerk-Konzepte). Echte Programmierkenntnisse sind nicht erforderlich. Wenn du dich mit Docker Compose und einem Reverse-Proxy wie Caddy auskennst, ist das Setup in 30–60 Minuten erledigt. Alternativ übernimmt Synara das komplette Hosting für dich.

Kann ich InvoiceNinja mit meiner Buchhaltungssoftware verbinden?

InvoiceNinja bietet eine REST-API und Webhooks, mit denen du Rechnungsdaten an externe Systeme übermitteln kannst. Eine direkte Schnittstelle zu Schweizer Buchhaltungstools wie Banana oder Abacus ist nicht eingebaut, aber über Tools wie n8n lassen sich Rechnungsdaten automatisch exportieren und weiterverarbeiten. Die aus InvoiceNinja exportierten CSV/PDF-Daten dienen als Grundlage für die Verbuchung.

Was passiert, wenn mein Server ausfällt?

Wenn dein Server ausfällt, ist InvoiceNinja vorübergehend nicht erreichbar — du kannst also in dieser Zeit keine neuen Rechnungen erstellen. Bestehende Rechnungen gehen dadurch nicht verloren, solange du regelmässige Backups hast. Mit einem zuverlässigen Hosting-Partner (z. B. Infomaniak, Exoscale oder einem Schweizer VPS-Anbieter) und aktivem Monitoring ist die Verfügbarkeit in der Regel > 99.9%. Synara bietet auch Managed-Hosting mit SLA an.

InvoiceNinja ist für Schweizer KMU eine ernsthafte Alternative zu Cloud-SaaS-Tools: Du gewinnst Datenhoheit, sparst monatliche Lizenzkosten und behältst die volle Kontrolle über deine Rechnungsprozesse. Der Initialaufwand für das Setup amortisiert sich innerhalb weniger Monate. Wenn du Unterstützung bei der Einrichtung, der MWST-Konfiguration oder dem Managed Hosting brauchst, hilft dir Synara gerne weiter — unverbindlich und aus St. Gallen.

Dieser Beitrag wurde mit Unterstützung von KI erstellt und von unserem Team überarbeitet.