NCA Social Media
Aktualisiert:
Autor:
Roland Golla
Grüner Server mit gelbem Invoice Ninja Schild, Ninja und Rakete

Was ist Invoice Ninja?

Invoice Ninja ist eine Rechnungssoftware für Freelancer und kleine bis mittlere Firmen, die du auf deinem eigenen Server betreiben kannst. Du schreibst damit Angebote und Rechnungen, nimmst Zahlungen an, erfasst Ausgaben und rechnest Zeiten aus Projekten ab.
Das Herz ist ein Laravel Backend in PHP mit REST API. Darauf setzen eine React Web App und eine Flutter App für Desktop und Mobile auf. Das Projekt läuft seit 2014 und ist in Version 5 aktiv in Entwicklung, mit sehr häufigen Patch Releases.
Für Firmen in Deutschland ist Invoice Ninja vor allem aus zwei Gründen spannend: Die Daten bleiben im eigenen Netz, und die Software erzeugt E-Rechnungen im Format ZUGFeRD. Wichtig ist aber die Lizenz. Invoice Ninja ist kein klassisches Open Source mehr, sondern steht unter der Elastic License v2. Was das für dich heißt, klären wir weiter unten.

Invoice Ninja mit NCA: Schnelle Hilfe vom PHP Experten

Invoice Ninja ist eine Laravel Anwendung. Genau dort liegt unsere Stärke. Wir arbeiten seit über 20 Jahren mit PHP, setzen täglich auf PHPStan, Psalm, Rector und PHPUnit und betreiben eigene Server in Deutschland. Wenn eine Rechnungssoftware selbst gehostet wird, zählen saubere Updates, geprüfte Erweiterungen und ein Setup, das auch nach dem zehnten Patch Release noch stabil läuft.
Invoice Ninja sauber betreiben und erweitern
Finde das passende Angebot für dein Projekt
Anfrage-Konfiguration
Starten Sie Ihre Anfrage
Projektart
Infos
Nachricht

Eliminierung technischer Schulden mit PHPStan, Rector PHP und PHPUnit. Über 20 Jahre Praxiserfahrung in skalierbaren Backends.

CORE EXPERTISE

Gesetzliche Konformität & Inklusion. Optimierung von Performance und Conversion durch radikal nutzerzentriertes, universelles Design.

BFSG COMPLIANT

Skalierbare KI-Systeme mit echtem Code Ownership. CI/CD, Backup-Strategien und Infrastruktur, die mit deinem Team wächst.

ENTERPRISE READY

Der Stack: Laravel, React und Flutter

Invoice Ninja besteht aus drei getrennten Codebasen. Jede hat eine klare Aufgabe:
  • Laravel Backend: PHP, MySQL und REST API. Hier liegt die ganze Logik für Rechnungen, Zahlungen, Nutzer und Daten.
  • React Web App: Der Client im Browser, geschrieben in TypeScript.
  • Flutter App: Eine Codebasis für Windows, macOS, Linux, iOS und Android.
Für dich als Betreiber zählt vor allem das Backend. Dort laufen Updates, Migrationen und eigene Anpassungen. Wer Laravel kennt, findet sich schnell zurecht. Für statische Analyse im Laravel Umfeld ist Larastan das Werkzeug der Wahl, für Security und Performance Checks lohnt ein Blick auf Laravel Enlightn.
Die Apps sprechen alle über dieselbe API. Das ist ein Vorteil: Eigene Integrationen hängen nicht an der Oberfläche, sondern an einer dokumentierten Schnittstelle.

Lizenz: Elastic License v2 statt Open Source

Viele Vergleiche führen Invoice Ninja noch als Open Source. Das stimmt so nicht mehr. Das Projekt ist heute Source Available unter der Elastic License v2, kurz ELv2. Der Code liegt offen auf GitHub, aber die Lizenz ist nicht von der OSI anerkannt.
Was du darfst und was nicht:
  • Erlaubt: Invoice Ninja selbst hosten, anpassen und für die eigene Firma nutzen.
  • Nicht ohne Vertrag: Die Software weiterverkaufen oder als Managed Service für Dritte anbieten.
Für ein Unternehmen, das seine eigenen Rechnungen schreibt, ändert sich damit praktisch nichts. Für Agenturen und Hoster ist der Punkt entscheidend. Wer Invoice Ninja für Kunden betreiben will, braucht eine separate Vereinbarung mit dem Hersteller. Kläre das vor dem ersten Kundenprojekt, nicht danach.
Die Hersteller begründen den Wechsel damit, das Projekt vor kommerzieller Ausbeutung zu schützen. Eine gute Übersicht zu echten Open Source Alternativen in angrenzenden Bereichen findest du in unserem Beitrag zu Open Source CRM Systemen.

E-Rechnung mit ZUGFeRD und XRechnung

In Deutschland wird die E-Rechnung im B2B Bereich schrittweise Pflicht. Seit Januar 2025 müssen alle Unternehmen E-Rechnungen empfangen können. Ab Januar 2027 müssen Firmen mit mehr als 800.000 Euro Vorjahresumsatz sie auch versenden, ab Januar 2028 alle.
Zwei Formate sind gängig:
  • ZUGFeRD: Ein normales PDF, in dem die strukturierte XML Rechnung eingebettet ist. Mensch und Maschine lesen dasselbe Dokument.
  • XRechnung: Reines XML ohne Sichtbild. Pflicht bei Rechnungen an öffentliche Auftraggeber.
In Invoice Ninja aktivierst du die E-Rechnung unter Settings, E-Invoice. Dort wählst du das passende Format und entscheidest, ob das XML direkt ins PDF eingebettet wird. Das XML lässt sich auch einzeln herunterladen.
Ein Detail sorgt oft für Ärger: ZUGFeRD akzeptiert keine negativen Rechnungen. Wer bisher Gutschriften als Rechnung mit Minusbetrag gebucht hat, muss auf echte Gutschriften mit positiven Werten umstellen.
Unser Rat: Prüfe die erzeugten Dateien vor dem Go Live mit einem offiziellen Validator. Eine E-Rechnung ist Code, der von fremden Systemen gelesen wird. Sie verdient dieselbe Sorgfalt wie jede andere Schnittstelle. Wie Schemas als Vertrag funktionieren, zeigen wir bei Schema Based AI Coding.

Self Hosting mit Docker auf eigenen Servern

Invoice Ninja bietet mehrere Wege zur Installation: das Release Archiv für die manuelle Einrichtung, Docker Compose, Installer im Hosting Panel und Plattformen wie Cloudron oder Coolify. Für die meisten Setups empfiehlt der Hersteller selbst Docker.
Der Betrieb besteht im Kern aus drei Routinen: Backup ziehen, Image aktualisieren, Container neu starten.
Code:
          

# Datenbank sichern, bevor du aktualisierst
docker compose exec db mysqldump -u ninja -p ninja > backup.sql

# Neue Images holen und neu starten
docker compose pull
docker compose up -d

Namen von Services und Datenbank hängen von deiner Compose Datei ab. Wichtig ist die Reihenfolge: erst sichern, dann aktualisieren. Invoice Ninja veröffentlicht sehr oft Patch Releases. Spiel Updates deshalb zuerst auf einem Staging System ein, so wie wir es in der CI CD Pipeline mit Staging beschreiben.
Beim Hosting gilt für Rechnungsdaten dasselbe wie für jede sensible Anwendung: Server in Deutschland, klare Zugriffe, verschlüsselte Backups. Als Infrastruktur Partner in Duisburg arbeiten wir mit Conversis. Für schnelle PHP Setups lohnt auch ein Blick auf FrankenPHP als App Server.

Automation mit REST API, Webhooks und n8n

Invoice Ninja bringt eine REST API für Kunden, Rechnungen, Angebote, Zahlungen, Ausgaben, Projekte und Aufgaben mit. Dazu kommen Webhooks, die bei Ereignissen wie einer neuen Zahlung feuern.
Für Automation ohne eigenen Code gibt es fertige Integrationen, unter anderem für n8n. Das passt gut zu einem selbst gehosteten Setup, weil auch n8n auf eigenen Servern laufen kann. Typische Abläufe:
  • Neue Zahlung eingegangen, Nachricht ans Team schicken, so wie bei unserem Telegram Bot für PHP Formulare.
  • Neuer Kunde im CRM, Kunde in Invoice Ninja anlegen.
  • Rechnung fällig, Erinnerung per Mail auslösen.
Wer eigene Clients gegen die API schreibt, sollte die Antworten im Test mocken. Für Symfony Projekte zeigen wir das mit Symfony HttpClient MockResponse. So bleiben Tests schnell und laufen nie gegen echte Rechnungsdaten.

Self Hosted oder gehostet: Der Vergleich

Kriterium Self Hosted Gehostete Version
Datenhaltung Auf deinem Server, im eigenen Netz Beim Anbieter
Updates Selbst einspielen, Staging empfohlen Automatisch
Anpassungen Voller Zugriff auf den Code Nur über Einstellungen und API
Lizenz ELv2, Eigennutzung frei Abo beim Hersteller
Betriebsaufwand Backups, Monitoring, Security Gering
Passt für DSGVO sensible Firmen mit Tech Team Freelancer ohne eigene Server

Eigene Erweiterungen mit Quality Gates absichern

Früher oder später will fast jedes Team etwas anpassen: ein eigenes PDF Layout, einen Export für die Buchhaltung, eine Anbindung ans CRM. Hier entscheidet sich, ob dein Setup die nächsten Updates übersteht.
Unsere Reihenfolge ist immer dieselbe. Erst die Quality Gates, dann der neue Code:
  • Statische Analyse: PHPStan mit Larastan auf allen eigenen Klassen.
  • Unit Tests: PHPUnit oder Pest für Berechnungen, Steuersätze und Rundungen.
  • Anwendungstests: Functional Tests für API Endpunkte und Webhooks.
  • Dependencies: Composer Audit gegen bekannte Sicherheitslücken.
  • Vor dem Commit: GrumPHP als Git Hook.
Code:
          

vendor/bin/phpstan analyse app/Custom --level=8
vendor/bin/phpunit --testsuite=custom
composer audit

Halte eigenen Code so weit wie möglich getrennt vom Kern. Je weniger du in Originaldateien änderst, desto leichter läuft jedes Update. Wenn du bestehende Anpassungen übernimmst, sichere sie vorher mit Characterization Tests ab und räume erst danach mit Rector auf.

Für wen passt Invoice Ninja?

Invoice Ninja ist geeignet für Freelancer, Agenturen und kleine bis mittlere Firmen, die Rechnungen, Angebote, Zahlungen und Zeiterfassung in einem System wollen. Stärken hat es bei Self Hosting, bei der API und bei der E-Rechnung im ZUGFeRD Format.
Weniger gut passt es, wenn du eine vollständige Buchhaltung mit Finanzbuchhaltung und Steuerberater Export nach deutschem Standard erwartest. Invoice Ninja ist ein Rechnungs und Zahlungssystem, keine Buchhaltungssoftware. Prüfe außerdem die Lizenz, wenn du die Software für Kunden betreiben willst.
Wir helfen Teams, Invoice Ninja einzuordnen: Wie viel Betrieb traut ihr euch zu, welche Anpassungen sind wirklich nötig und wie bleibt das Setup über Jahre wartbar.

Invoice Ninja was built to solve our own problems as freelancers.

Shalom Stark, CEO und Co-Founder Invoice Ninja – via GoodFirms

Unsere Erfahrung mit PHP Anwendungen im Eigenbetrieb

Selbst gehostete PHP Anwendungen scheitern selten am ersten Tag. Sie scheitern am zwanzigsten Update. Deshalb beginnen wir jedes Projekt mit Tests und statischer Analyse, bevor wir Code anfassen. Das gilt für Laravel genauso wie für Symfony, mit dem wir täglich arbeiten.
Unsere Werkzeuge dafür findest du im NCA PHP Glossar: Xdebug für die Fehlersuche, PHP Deployer für reproduzierbare Deployments, Feature Flags für risikoarme Releases und PHPCompatibility vor jedem Sprung auf eine neue PHP Version.
Wenn Rechnungsdaten mit KI verarbeitet werden sollen, gilt bei uns eine klare Regel: Coding Modelle arbeiten nur gegen lokale Umgebungen mit Testdaten, nie gegen echte Kundendaten. Wie du KI Assistenten auf eigenen Servern betreibst, zeigen wir bei KI Assistenten selbst hosten. Den Einstieg in saubere Legacy Arbeit beschreiben das Strangler Fig Pattern und der Anti Corruption Layer.
Die Abrechnung läuft bei uns immer gleich: kostenloses Kennenlernen, Aufwand schätzen, transparente Minuten Abrechnung.
CYPRESS.IO Ambassador und IT Consultant für QA Engenieering und Qualität in PHP Projekten.

Erreichen Sie unsere PHP Consultant Spezialisten

Wir sind Experten für PHP und helfen Ihnen, Ihre digitalen Herausforderungen zu meistern. Unser erfahrenes Team unterstützt Sie bei PHP Updates, PHP Refactoring und berät Sie remote zu allen Fragen rund um PHP. Mit unseren vollautomatischen CI/CD Deployments und einer robusten Docker-Infrastruktur bringen wir Ihre PHP-Projekte auf das nächste Level. Vertrauen Sie auf unsere Expertise für zuverlässige und skalierbare PHP-Lösungen.

Häufige Fragen zu Invoice Ninja

Die wichtigsten Antworten zu Lizenz, E-Rechnung, Self Hosting und Betrieb von Invoice Ninja kompakt zusammengefasst.

Ist Invoice Ninja 2026 noch Open Source?

Nein, nicht im Sinne der OSI. Invoice Ninja steht unter der Elastic License v2 und ist damit Source Available. Der Code liegt offen auf GitHub, du darfst ihn selbst hosten und für deine eigene Firma anpassen. Weiterverkauf oder Betrieb als Managed Service für Dritte braucht aber eine separate Vereinbarung mit dem Hersteller.

Kann Invoice Ninja 2026 E-Rechnungen nach deutschem Standard erzeugen?

Ja. Invoice Ninja erzeugt E-Rechnungen im ZUGFeRD Format, also ein PDF mit eingebettetem XML. Du aktivierst das unter Settings, E-Invoice und wählst dort das passende Format. Prüfe die erzeugten Dateien vor dem produktiven Einsatz mit einem offiziellen Validator, vor allem bei Rechnungen an öffentliche Auftraggeber.

Ist Invoice Ninja 2026 DSGVO konform nutzbar?

Im Self Hosting liegen alle Rechnungs und Kundendaten auf deinem eigenen Server. Das ist eine gute Basis für DSGVO konformen Betrieb. Konform wird das Setup aber erst durch saubere Organisation: Server in Deutschland oder der EU, klare Zugriffsrechte, verschlüsselte Backups und ein Verzeichnis der Verarbeitungstätigkeiten.

Welche Systemvoraussetzungen hat Invoice Ninja 2026?

Das Backend ist eine Laravel Anwendung und braucht PHP und eine MySQL kompatible Datenbank. Am einfachsten ist Docker Compose, das der Hersteller für die meisten Setups empfiehlt. Die genauen PHP Versionen ändern sich mit den Releases, deshalb lohnt vor jeder Installation ein Blick in die aktuelle Self Hosting Doku.

Wie oft erscheinen 2026 Updates für Invoice Ninja?

Sehr oft. Invoice Ninja veröffentlicht in der Regel mehrere Patch Releases pro Monat. Das ist gut für Fehlerbehebungen, verlangt aber Disziplin im Betrieb. Ziehe vor jedem Update ein Backup der Datenbank, spiele Updates zuerst auf einem Staging System ein und prüfe dort eigene Anpassungen.

Was ist der Unterschied zwischen ZUGFeRD und XRechnung?

ZUGFeRD ist ein hybrides Format: ein lesbares PDF mit eingebetteter XML Rechnung. XRechnung ist reines XML ohne Sichtbild und wird vor allem bei Rechnungen an Behörden verlangt. Beide erfüllen die europäische Norm EN 16931. Für die meisten B2B Rechnungen ist ZUGFeRD die praktischere Wahl.

Warum lassen sich in ZUGFeRD keine negativen Rechnungen erstellen?

Das Format erlaubt keine Rechnungen mit negativem Gesamtbetrag. Wer bisher Gutschriften als Minusrechnung gebucht hat, muss auf echte Gutschriften umstellen. Invoice Ninja bietet dafür einen eigenen Gutschrift Typ mit positiven Werten. Plane diese Umstellung ein, bevor du die E-Rechnung aktivierst.

Kann ich Invoice Ninja mit n8n automatisieren?

Ja. Invoice Ninja hat eine REST API, Webhooks und eine fertige n8n Integration. Damit verbindest du Zahlungseingänge, CRM Daten oder Benachrichtigungen ohne eigenen Code. Da n8n selbst gehostet werden kann, bleibt die gesamte Automation im eigenen Netz.

Darf eine Agentur Invoice Ninja für Kunden betreiben?

Nicht ohne weiteres. Die Elastic License v2 erlaubt die Nutzung für das eigene Unternehmen. Wer Invoice Ninja als Managed Service für Dritte anbietet, braucht eine separate Vereinbarung mit dem Hersteller. Kläre das vor dem ersten Kundenprojekt schriftlich.

Ersetzt Invoice Ninja eine Buchhaltungssoftware?

Nein. Invoice Ninja deckt Angebote, Rechnungen, Zahlungen, Ausgaben und Zeiterfassung ab. Eine vollständige Finanzbuchhaltung mit Übergabe an den Steuerberater nach deutschem Standard ist nicht der Fokus. Viele Teams kombinieren Invoice Ninja deshalb mit einer separaten Buchhaltungslösung.

Wie sichere ich eigene Anpassungen an Invoice Ninja ab?

Halte eigenen Code getrennt vom Kern und sichere ihn mit Quality Gates ab. Dazu gehören PHPStan mit Larastan, Unit Tests mit PHPUnit oder Pest, Functional Tests für API Endpunkte und Composer Audit. Je weniger du in Originaldateien änderst, desto leichter laufen Updates.

Welche Apps gibt es für Invoice Ninja?

Neben dem Laravel Backend gibt es eine React Web App für den Browser und eine Flutter App für Windows, macOS, Linux, iOS und Android. Alle Apps sprechen über dieselbe REST API mit dem Backend. Deine eigenen Integrationen nutzen genau diese Schnittstelle.