Invoice Ninja self-hosted: Rechnungen und Zeiterfassung
Was dieser Artikel behandelt
- Was Invoice Ninja ist: Open-Source-Rechnungssoftware für Freelancer und KMU.
- Docker-Setup und Konfiguration.
- Rechnungen, Angebote, Zeiterfassung, Kundenportal.
- REST-API für Automatisierung: Rechnungen aus Workflows generieren.
- KI-Integration: Angebots-Texte, Mahnwesen, Reporting.
Einleitung
Invoice Ninja ist die bekannteste Open-Source-Lösung für Rechnungen, Angebote und Zeiterfassung, seit Jahren gepflegt, aktiv entwickelt, mit Client-Portal (Kunden sehen Rechnungen und zahlen online). Für Freelancer und kleine Firmen, die keine Daten an Lexoffice/sevDesk geben wollen, die Standard-Option.
Die REST-API macht es zum Automatisierungs-Baustein: Deals aus Twenty → Rechnung in Invoice Ninja; abgeschlossene Projekte → Zeiterfassung → Rechnung.
Typische Anwendungsszenarien
- Freelancer-Rechnungen: Angebote → Rechnungen → Zahlungseingänge tracken.
- Zeiterfassung: Stunden pro Projekt erfassen, direkt in Rechnungen wandeln.
- Recurring Invoices: Wiederkehrende Rechnungen (Retainer, Abos) automatisch.
- Kundenportal: Kunden sehen Historie, laden PDFs, zahlen online.
- Automatisierung: CRM-Deal gewonnen → Rechnung automatisch erstellen.
Installation: Docker
services:
invoiceninja:
image: invoiceninja/invoiceninja:5
ports:
- "127.0.0.1:8082:80"
environment:
- APP_URL=https://rechnungen.deine-domain.de
- APP_KEY=base64:generierter-key
- DB_HOST=db
- DB_DATABASE=invoiceninja
- DB_USERNAME=ninja
- DB_PASSWORD=geheim
- MAIL_MAILER=smtp
- MAIL_HOST=smtp.dein-server.de
- MAIL_PORT=587
- MAIL_USERNAME=...
- MAIL_PASSWORD=...
- MAIL_FROM_ADDRESS=rechnung@deine-domain.de
volumes:
- ninja_public:/var/www/app/public
- ninja_storage:/var/www/app/storage
depends_on: [db]
restart: always
db:
image: mysql:8
environment:
MYSQL_DATABASE: invoiceninja
MYSQL_USER: ninja
MYSQL_PASSWORD: geheim
MYSQL_ROOT_PASSWORD: root-geheim
volumes: [db_data:/var/lib/mysql]
restart: always
volumes:
ninja_public:
ninja_storage:
db_data:
APP_KEY generieren: docker run --rm invoiceninja/invoiceninja:5 php artisan key:generate --show
Grundkonfiguration
Nach dem Start: Setup-Wizard → Firma anlegen, Logo, Steuersätze (19%/7% für Deutschland), Rechnungs-Template, Zahlungsmethoden (Banküberweisung, Stripe, PayPal).
Deutschland-Hinweise: Invoice Ninja kann DSGVO-konforme Rechnungen mit Pflichtangaben (USt-IdNr, Steuernummer, fortlaufende Rechnungsnummer). GoBD-Konformität prüfen, die Software hilft, aber die Verantwortung liegt bei Dir.
REST-API: Rechnungen programmatisch
import requests
IN = "https://rechnungen.deine-domain.de"
HEADERS = {"X-API-TOKEN": "dein-api-token",
"X-Requested-With": "XMLHttpRequest",
"Content-Type": "application/json"}
# Kunde anlegen
requests.post(f"{IN}/api/v1/clients", headers=HEADERS, json={
"name": "Musterfirma GmbH",
"contacts": [{"email": "buchhaltung@muster.de"}]
})
# Rechnung erstellen
requests.post(f"{IN}/api/v1/invoices", headers=HEADERS, json={
"client_id": "CLIENT_ID",
"line_items": [{
"product_key": "Beratung",
"notes": "KI-Consulting März",
"quantity": 8,
"unit_cost": 120.00,
}]
})
n8n-Workflow: CRM → Rechnung
Twenty-Webhook: Deal won
│
▼
Daten mappen (Company → Client, Betrag → Items)
│
▼
Invoice Ninja API: Client finden/erstellen → Invoice erstellen
│
▼
Optional: Ollama schreibt individuellen Rechnungstext/Notes
│
▼
Rechnung per Mail an Kunden (Invoice Ninja sendet selbst)
KI-Integration
- Angebots-Texte: Ollama generiert individuelle Angebots-Texte aus Projekt-Briefing.
- Mahnwesen: KI schreibt höfliche Zahlungserinnerungen mit Ton je nach Eskalationsstufe.
- Zeiterfassung-Kommentare: KI fasst Arbeits-Logs zu sauberen Rechnungszeilen zusammen.
- Kategorisierung: Eingehende Belege (OCR via Stirling-PDF) automatisch zuordnen.
Sicherheit und Rechtliches
- GoBD: Rechnungen müssen unveränderbar archiviert werden: Invoice Ninja hilft (Nummernkreise, PDF-Archiv), aber Steuerberater fragen.
- HTTPS + Auth: Finanzdaten → unbedingt TLS + starke Passwörter/2FA.
- Backups: DB + Storage sichern, siehe Backup.
- Zugriff: Nur intern oder per VPN: Rechnungssoftware nicht offen ins Netz.
Weiterführende Links
- IRC-Coding.de: Programmier-Tutorials: REST-APIs, PDF-Generierung.
- Twenty CRM: Deals zu Rechnungen.
- Stirling-PDF: PDF-Bearbeitung.
- n8n: Workflow-Automatisierung.
- Docker: Deployment.
Key Takeaways:
- Invoice Ninja = Open-Source-Rechnungen + Zeiterfassung + Kundenportal.
- REST-API macht es zum Automatisierungs-Baustein (CRM → Rechnung).
- GoBD/DSGVO beachten; TLS, Backups, eingeschränkter Zugriff.
- Für Freelancer/KMU die Standard-Alternative zu Lexoffice/sevDesk.
- KI-Integration: Angebots-Texte, Mahnwesen, Beleg-Kategorisierung.
FAQ
Ist Invoice Ninja GoBD-konform?
Zeiterfassung inklusive?
Online-Zahlungen?
Invoice Ninja oder Lexoffice?
Mehrere Benutzer?
Quellen und weiterführende Literatur
- Invoice Ninja: GitHub.
- Invoice Ninja Docs: Dokumentation.
- IRC-Coding.de: Programmier-Tutorials.


