Rechnungen automatisiert verarbeiten – mit n8n, Ollama & NocoDB (100% Self-Hosted)

Rechnungen automatisiert verarbeiten – mit n8n, Ollama & NocoDB (100% Self-Hosted)
Photo by FIN / Unsplash

Kurzantwort: Mit n8n, Ollama und NocoDB automatisierst du die komplette Rechnungsverarbeitung – vom E-Mail-Eingang über die KI-gestützte Texterkennung bis zur Datenbank-Erfassung. Alles läuft auf deinem eigenen Server, 100% Self-Hosted, DSGVO-konform und ohne Cloud-Abhängigkeit.

Geeignet für: Schweizer KMU (1–50 Mitarbeitende), die 50–500 Rechnungen pro Monat verarbeiten und Datenhoheit über alle Finanzdokumente behalten wollen
Wir helfen Schweizer KMUs dabei, Rechnungsverarbeitung mit Open-Source-Tools zu automatisieren – ohne Cloud-SaaS, ohne Abo-Kosten und mit voller Kontrolle über sensible Finanzdaten.

Rechnungen automatisiert verarbeiten – mit n8n, Ollama & NocoDB (100% Self-Hosted)

Jeden Monat landen Dutzende Rechnungen in deinem Postfach – als PDF-Anhang, als gescanntes Bild oder als Swiss QR-Rechnung auf dem Briefpapier. Jede davon manuell zu erfassen, kostet Zeit und birgt Tippfehler-Risiken. Mit n8n, Ollama und NocoDB baust du eine vollständig automatisierte Pipeline, die Rechnungen aus dem E-Mail-Postfach erkennt, die Relevanten Daten per KI ausliest und strukturiert in einer Datenbank ablegt – alles auf deinem eigenen Server. In diesem Guide zeige ich dir Schritt für Schritt, wie du diesen Workflow einrichtest und an Schweizer Standards wie QR-Rechnungen und MWST anpasst.

100% Self-Hosted: Rechnungsverarbeitung mit Open-Source-Tools

Wie funktioniert automatisierte Rechnungsverarbeitung?

Die automatisierte Rechnungsverarbeitung folgt einem klaren Ablauf, der sich in fünf Phasen unterteilen lässt. Alles beginnt mit dem Eingang der Rechnung – typischerweise als PDF im E-Mail-Postfach oder als gescanntes Dokument im Upload-Ordner. Ein n8n-Workflow überwacht diesen Eingangskanal kontinuierlich und triggert automatisch, sobald eine neue Rechnung erkannt wird.

Sobald der Trigger auslöst, übergibt n8n das Dokument an Ollama – einen lokalen Sprachmodell-Server, der als intelligenter OCR-Ersatz fungiert. Ollama liest das PDF oder Bild, erkennt Rechnungsnummer, Rechnungsdatum, Beträge, MWST-Sätze, Lieferantenname und IBAN, und gibt diese Daten als strukturiertes JSON zurück. Die Daten werden dabei nicht an externe Cloud-Dienste gesendet – alles passiert auf deinem eigenen Server.

Im nächsten Schritt validiert n8n die extrahierten Daten: Stimmen die MWST-Sätze? Ist die IBAN plausibel? Handelt es sich um eine Schweizer QR-Rechnung mit QR-IBAN und Referenznummer? Bei Auffälligkeiten kannst du einen Human-in-the-Loop-Step einbauen, der die Rechnung zur Freigabe an eine Person weiterleitet – entweder via E-Mail, Slack oder direkt in NocoDB.

Schliesslich speichert n8n die validierten Daten in NocoDB – einer Open-Source-Datenbank mit Airtable-ähnlicher Oberfläche. Dort behältst du den Überblick über alle Rechnungen, filterst nach Lieferant, Datum oder Status und exportierst die Daten bei Bedarf in deine Buchhaltungssoftware. Der gesamte Prozess dauert nach Einrichtung unter einer Minute pro Rechnung – manuell brauchst du dafür locker fünf bis zehn Minuten.

Für die finale Verbuchung integrierst du den Workflow mit InvoiceNinja oder einer anderen Buchhaltungssoftware. n8n kann die erfassten Rechnungen automatisch als Buchungssatz vorbereiten, die Belege anhängen und an die Buchhaltung übergeben. So schliesst sich der Kreis vom E-Mail-Eingang bis zum fertigen Buchungssatz – ganz ohne manuelle Dateneingabe.

  • Phase 1 – Eingang: n8n überwacht E-Mail-Postfach oder Upload-Ordner auf neue Rechnungen
  • Phase 2 – Extraktion: Ollama liest PDF/Bild und erkennt Rechnungsdaten per lokalem KI-Modell
  • Phase 3 – Validierung: n8n prüft MWST, IBAN, QR-Referenz und leitet bei Bedarf zur Freigabe weiter
  • Phase 4 – Speicherung: NocoDB nimmt die strukturierten Daten auf mit Such-, Filter- und Export-Funktionen
  • Phase 5 – Verbuchung: Übergabe an InvoiceNinja oder Buchhaltungssoftware mit fertigen Buchungssätzen

Welche Tools brauche ich?

Die vorgestellte Pipeline besteht aus drei Open-Source-Komponenten, die alle selbst gehostet werden. Jedes Tool übernimmt eine klar definierte Rolle und kann unabhängig voneinander skaliert oder ausgetauscht werden. Keine Cloud-Abhängigkeit, keine monatlichen Lizenzkosten pro Benutzer – einmal eingerichtet, laufen alle Tools auf einem einzigen VPS oder dedizierten Server.

n8n ist die zentrale Orchestrierungs-Instanz. Die visuelle Workflow-Engine verbindet E-Mail-Server, KI-Modelle, Datenbanken und Buchhaltungssysteme über eine Drag-and-Drop-Oberfläche. n8n bietet über 400 fertige Integrationen und lässt sich über Webhooks und HTTP-Requests mit jedem System verbinden, das eine API hat. Für Schweizer KMU besonders relevant: n8n lässt sich vollständig auf dem eigenen Server betreiben (Self-Hosting mit Docker) – deine Daten verlassen nie den Server.

Ollama ist ein lokaler Server für grosse Sprachmodelle (LLMs), den du mit einem einzigen Docker-Command installierst. Statt teure Cloud-OCR-Dienste wie Google Cloud Vision oder AWS Textract zu nutzen, läuft das Texterkennungsmodell vollständig auf deiner Hardware. Für die Rechnungsverarbeitung empfiehlt sich ein Modell wie Llama 3.2 Vision oder Qwen2-VL, das sowohl Text als auch Layout-Informationen aus PDFs und gescannten Bildern zuverlässig erkennt. Die Genauigkeit ist bei klaren PDF-Rechnungen nahezu perfekt – auch bei handgeschriebenen Notizen oder Stempeln auf gescannten Dokumenten erzielt Ollama erstaunlich gute Resultate.

NocoDB schliesslich ist eine Open-Source-Alternative zu Airtable, die jede MySQL- oder PostgreSQL-Datenbank in eine kollaborative Tabellen-Oberfläche verwandelt. Du definierst deine Rechnungs-Tabelle mit Spalten für Rechnungsnummer, Lieferant, Betrag, MWST, Status, QR-IBAN und Datum – und NocoDB liefert dafür sofort eine durchsuchbare, filterbare Oberfläche mit Views, Formularen und API-Zugriff. So wird aus einer nackten Datenbank ein benutzerfreundliches Werkzeug, das auch Buchhalter ohne Programmierkenntnisse bedienen können.

Optional, aber empfohlen: InvoiceNinja als Open-Source-Rechnungssoftware ergänzt die Pipeline auf der Ausgabenseite. Dort erstellst du eigene Rechnungen mit Schweizer QR-Rechnung, verwaltest Kunden und verfolgst Zahlungen. Die Kombination aus automatisierter Eingangsverarbeitung (n8n + Ollama + NocoDB) und eigener Rechnungsstellung (InvoiceNinja) deckt den gesamten Rechnungskreislauf ab.

Möchtest du diesen Workflow für dein KMU einrichten? Synara baut und implementiert die komplette Pipeline – von n8n über Ollama bis NocoDB. Wir beraten dich unverbindlich. Jetzt Beratung vereinbaren →

Wie richte ich den Workflow ein?

Die Einrichtung besteht aus drei Hauptschritten: Server-Setup, Workflow-Konfiguration in n8n und Datenbank-Anbindung an NocoDB. Wenn du bereits einen Docker-fähigen VPS hast (minimal 4 vCPU, 8 GB RAM für Ollama mit Vision-Modell), bist du in etwa zwei bis drei Stunden startklar. Ich gehe hier von einem Ubuntu 24.04 LTS-Server aus, der bei Hetzner, Exoscale oder einem Schweizer Provider wie Infomaniak läuft.

Zuerst installierst du die drei Tools mit Docker Compose. Erstelle ein Verzeichnis, lege eine docker-compose.yml an und definiere die Services für n8n (mit PostgreSQL als internen Speicher), Ollama (mit GPU-Passthrough oder CPU-Modus) und NocoDB (mit eigener PostgreSQL-Datenbank). Starte alle Container mit einem einzigen Befehl und prüfe, dass die Weboberflächen unter den jeweiligen Ports erreichbar sind.

Anschließend richtest du den n8n-Workflow ein. Du erstellst einen neuen Workflow und fügst als ersten Node einen IMAP-Trigger hinzu – dieser verbindet sich mit deinem E-Mail-Postfach und prüft alle 5 Minuten auf neue Nachrichten mit PDF-Anhängen. Konfiguriere den Filter so, dass nur E-Mails mit dem Betreff 'Rechnung' oder mit PDF-Anhang berücksichtigt werden. Für jedes gefundene PDF extrahierst du den Anhang und übergibst ihn an den nächsten Node.

Der zweite Node ist ein HTTP-Request an Ollama. Du sendest das PDF oder Bild an den lokalen Ollama-Endpunkt (/api/chat) mit einem klaren Prompt: 'Extrahiere aus dieser Rechnung die folgenden Felder als JSON: rechnungsnummer, rechnungsdatum, lieferant_name, lieferant_strasse, lieferant_plz, lieferant_ort, betrag_netto, mwst_satz, mwst_betrag, betrag_brutto, iban, qr_referenz, waehrung.' Ollama verarbeitet das Dokument und gibt ein sauberes JSON-Objekt zurück – innerhalb von Sekunden.

Der dritte Node validiert die Antwort. Du prüfst mit einem Function-Node, ob alle Pflichtfelder vorhanden sind, ob die MWST korrekt berechnet wurde (Netto + MWST = Brutto) und ob die IBAN das richtige Format hat. Bei Schweizer QR-Rechnungen verifizierst du zusätzlich, ob eine QR-IBAN (mit QR-IID zwischen 30000 und 31999) und eine 27-stellige QR-Referenz vorhanden sind. Schlägt eine Prüfung fehl, leitet n8n die Rechnung an einen Freigabe-Kanal weiter.

Der letzte Node schreibt die validierten Daten in NocoDB. Über die NocoDB-API (REST) fügst du einen neuen Datensatz in deine Rechnungs-Tabelle ein – mit allen Feldern, dem Status 'Erfasst' und einem Link zum Original-PDF, das du vorher in einem Object-Storage wie MinIO ablegst. In NocoDB kannst du dann dashboards und Views erstellen, um offene Rechnungen, MWST-Zusammenfassungen und Lieferanten-Statistiken zu verfolgen.

💡
Tipp: Achte bei gescannten Rechnungen mit niedriger Auflösung (< 150 DPI) auf die OCR-Genauigkeit. Ollama mit einem Vision-Modell wie Qwen2-VL erkennt auch schwierige Scans zuverlässig, aber verschmutzte oder schräge Scans können Fehler verursachen. Baue immer einen Validierungs-Schritt ein und konfiguriere n8n so, dass bei unklaren Extraktionen ein Mensch die Daten freigibt, bevor sie in die Buchhaltung fliessen. Ein einfacher Human-in-the-Loop-Step via E-Mail oder Slack reicht oft schon aus.
  1. Server vorbereiten: Ubuntu 24.04 LTS installieren, Docker und Docker Compose einrichten, Firewall konfigurieren
  2. Docker Compose schreiben: Services für n8n, PostgreSQL, Ollama und NocoDB definieren – mit Volumes für Datenpersistenz
  3. Ollama starten und Vision-Modell laden: docker exec ollama ollama pull llama3.2-vision – erste Rechnung testen
  4. NocoDB einrichten: Datenbank verbinden, Rechnungs-Tabelle mit Spalten für alle Felder erstellen, API-Token generieren
  5. n8n-Workflow bauen: IMAP-Trigger → PDF-Extraktion → Ollama HTTP-Request → Validierung → NocoDB-API-Call
  6. Validierung einbauen: MWST-Prüfung, IBAN-Format-Check, QR-Referenz-Verifikation für Schweizer Rechnungen
  7. Freigabe-Workflow konfigurieren: Bei Validierungsfehlern E-Mail oder Slack-Benachrichtigung an Buchhaltung senden
  8. Optional: InvoiceNinja-Integration einrichten und Buchungssätze automatisch generieren lassen
  9. Monitoring aktivieren: n8n-Ausführungslogs überwachen, Fehler-Alerts einrichten, regelmässige Backups der Datenbank

Was bringt Ollama als OCR-Ersatz?

Klassische OCR-Tools wie Tesseract oder kommerzielle Cloud-Dienste (Google Cloud Vision, AWS Textract) haben ein gemeinsames Problem: Sie erkennen zwar Text, verstehen aber nicht den Kontext. Eine Rechnungsnummer kann als Bestellnummer fehlinterpretiert werden, ein Datum als Liefertermin, und die MWST-Zeile wird oft als separates Feld ohne Zuordnung zum Nettobetrag extrahiert. Ollama mit einem Vision-Modell geht einen anderen Weg: Es versteht das Dokument semantisch.

Das bedeutet konkret: Du gibst Ollama ein Bild oder PDF einer Rechnung und formulierst in natürlicher Sprache, was du extrahieren willst. Das Modell versteht die Struktur der Rechnung – es weiss, dass die Rechnungsnummer meist oben rechts steht, dass die MWST-Zeile den Satz, den Betrag und die Berechnung enthält, und dass bei Schweizer QR-Rechnungen die QR-IBAN und die Referenz am unteren Rand im QR-Code-Bereich zu finden sind. Diese semantische Understanding führt zu deutlich weniger Extraktionsfehlern als reine OCR.

Ein weiterer entscheidender Vorteil: Ollama läuft lokal auf deinem Server. Keine Rechnungsdaten verlassen deine Infrastruktur – ein kritischer Punkt für Schweizer KMU, die dem revidierten Datenschutzgesetz (revDSG) und der Schweizer Finanzmarktaufsicht (FINMA) unterstehen. Mit Cloud-OCR-Diensten sendest du jeden Beleg an Server im Ausland, was eine Datenschutz-Folgenabschätzung (DSFA) erfordern kann und bei sensiblen Finanzdaten nicht vertretbar ist.

Was die Performance betrifft: Ein Vision-Modell wie Llama 3.2 Vision (11B Parameter) benötigt auf einer GPU (z. B. NVIDIA T4 oder RTX 3060) etwa 3–5 Sekunden pro Rechnung. Im CPU-Modus dauert es 15–30 Sekunden – immer noch schnell genug für die meisten Anwendungsfälle. Wenn du ein leichteres Modell wie Qwen2-VL (7B) wählst, sinken die Anforderungen weiter. Die Genauigkeit liegt bei gut lesbaren PDF-Rechnungen bei über 95%, bei gescannten Dokumenten mit guter Qualität bei 85–90%.

  • Vorteil 1: Semantisches Verständnis – Ollama erkennt Feldbedeutungen, nicht nur Text
  • Vorteil 2: 100% lokal – keine Daten verlassen deinen Server, DSGVO- und revDSG-konform
  • Vorteil 3: Keine API-Kosten – ein malig eingerichtet, laufen die Modelle ohne laufende Kosten
  • Vorteil 4: Flexibel anpassbar – du änderst den Prompt und extrahierst neue Felder ohne Code-Änderung
  • Vorteil 5: Mehrsprachig – Ollama verarbeitet deutsche, französische, italienische und englische Rechnungen gleich gut
85%
Zeitersparnis pro Rechnung
95%+
Extraktionsgenauigkeit bei PDF-Rechnungen
0 CHF
Lfd. API-Kosten (Self-Hosted)
3–5s
Verarbeitung pro Rechnung (GPU)

Wie integriere ich es in meine Buchhaltung?

Die letzte Meile der Automatisierung ist die Übergabe an die Buchhaltung. NocoDB allein ist keine Buchhaltungssoftware – es speichert und strukturiert die Daten, aber die eigentliche Verbuchung erfordert eine Software wie Banana, Abacus, Oracle NetSuite, Bexio oder InvoiceNinja. Die gute Nachricht: n8n verbindet sich mit allen diesen Systemen über APIs, Webhooks oder Datei-Exporte.

Am elegantesten ist die direkte Integration mit InvoiceNinja, da beide Systeme Self-Hosted laufen und eine REST-API bieten. n8n ruft die InvoiceNinja-API auf, erstellt einen neuen Expense-Eintrag mit allen Feldern aus NocoDB und hängt das Original-PDF als Beleg an. Der Buchhalter sieht in InvoiceNinja dann eine fertig erfasste Ausgabe und muss nur noch den Buchungssatz (Soll/Haben-Konto) zuweisen – die Datenerfassung ist bereits erledigt.

Wenn du eine klassische Schweizer Buchhaltungssoftware wie Banana oder Abacus nutzt, kann n8n die Daten als CSV- oder XML-Export aufbereiten, den du manuell importierst. Für Bexio gibt es eine offene REST-API, die n8n direkt ansprechen kann. Auch ein DATEV-kompatibler Export ist möglich, falls du mit einem Treuhänder zusammenarbeitest, der DATEV nutzt.

Besonders wichtig für Schweizer KMU: Die MWST-Behandlung. n8n kann den MWST-Satz aus der Rechnung extrahieren (Normal 8.1%, Reduziert 2.6%, Hotellerie 3.8%) und in der Datenbank korrekt zuordnen. Am Quartalsende generierst du aus NocoDB mit einem Klick eine MWST-Zusammenfassung – gruppiert nach Satz, sortiert nach Lieferant, mit Summen für die MWST-Abrechnung. Das spart Stunden bei der Quartalsmeldung.

Für die Audit-Sicherheit – ein wichtiges Thema bei Revisionen – speichert der Workflow automatisch einen vollständigen Audit-Trail: Wann wurde die Rechnung empfangen? Wann extrahiert? Wurde manuell korrigiert? Wer hat freigegeben? Wann wurde an die Buchhaltung übergeben? Jeder Schritt wird in NocoDB protokolliert und ist für die Revisionsstelle nachvollziehbar dokumentiert.

KriteriumManuellSemi-automatisiertVollautomatisch (n8n + Ollama + NocoDB)
Zeit pro Rechnung5–10 Minuten2–3 MinutenUnter 1 Minute
FehlerquoteHoch (Tippfehler)MittelSehr gering (< 5%)
DatenhoheitVoll (Papier/Excel)Teilweise (Cloud-SaaS)Voll (100% Self-Hosted)
Laufende KostenPersonalstundenAbo-Gebühr + PersonalNur Serverkosten
SkalierbarkeitBegrenztBegrenztUnbegrenzt
MWST-ValidierungManuellTeil-automatischAutomatisch pro Satz
QR-Rechnung-ErkennungManuellManuellAutomatisch (QR-IBAN + Referenz)
Audit-TrailPapiermappeCloud-LogsVollständig in NocoDB

"Wir verarbeiten monatlich rund 200 Lieferantenrechnungen. Vor der Automatisierung war das zwei Tage Arbeit für unsere Buchhaltung – jetzt erledigt der Workflow das in unter einer Stunde, und unsere Mitarbeitenden konzentrieren sich auf Ausnahmen und Freigaben. Die Genauigkeit mit Ollama ist beeindruckend, selbst bei französischen und italienischen Rechnungen aus der West- und Südschweiz."

— Markus Bründler

Geschäftsführer, KMU aus St. Gallen (15 Mitarbeitende)

Sparpotenzial berechnen? Synara analysiert dein Rechnungsvolumen und berechnet dein individuelles Einsparungs-Potenzial. Vereinbare jetzt ein unverbindliches Erstgespräch. Kostenlose Analyse anfragen →

Wie zuverlässig ist die KI-gestützte Rechnungsextraktion mit Ollama?

Bei gut lesbaren PDF-Rechnungen erreicht Ollama mit einem Vision-Modell wie Llama 3.2 Vision eine Extraktionsgenauigkeit von über 95%. Bei gescannten Dokumenten mit guter Qualität (150 DPI oder mehr) liegst du bei 85–90%. Wir empfehlen immer einen Validierungs-Schritt mit Human-in-the-Loop-Freigabe, damit Fehler abgefangen werden, bevor sie in die Buchhaltung fliessen.

Brauche ich eine GPU für Ollama?

Eine GPU ist empfohlen, aber nicht zwingend erforderlich. Mit einer NVIDIA T4 oder RTX 3060 dauert die Verarbeitung 3–5 Sekunden pro Rechnung. Im reinen CPU-Modus brauchst du 15–30 Sekunden – für die meisten KMU mit 50–200 Rechnungen pro Monat völlig ausreichend. Alternativ kannst du Ollama auch auf einem dedizierten GPU-Server betreiben und per API ansprechen.

Funktioniert der Workflow auch mit Schweizer QR-Rechnungen?

Ja, der Workflow ist speziell auf Schweizer QR-Rechnungen ausgelegt. Ollama erkennt die QR-IBAN (mit QR-IID 30000–31999), die 27-stellige QR-Referenz und den Zahlungsteil mit Empfangsadresse. n8n validiert diese Felder automatisch und kennzeichnet QR-Rechnungen entsprechend in NocoDB, damit sie korrekt in die Zahlungsverarbeitung übernommen werden.

Kann ich die Lösung ohne Programmierkenntnisse betreiben?

Ja. n8n bietet eine visuelle Drag-and-Drop-Oberfläche, mit der du Workflows ohne Code erstellst. NocoDB ist ebenso benutzerfreundlich wie Airtable. Lediglich die initiale Einrichtung mit Docker Compose erfordert grundlegende Linux-Kenntnisse – oder du beauftragst Synara mit der Implementierung. Danach kannst du den Workflow selbst anpassen und erweitern.

Wie löse ich das Problem bei schlecht lesbaren oder handschriftlichen Rechnungen?

Bei sehr schlechter Scan-Qualität oder handschriftlichen Notizen sinkt die Genauigkeit. In diesen Fällen leitet n8n die Rechnung automatisch an einen Freigabe-Kanal weiter (E-Mail oder Slack), wo eine Person die extrahierten Daten kontrolliert und korrigiert. Dieser Human-in-the-Loop-Ansatz stellt sicher, dass auch schwierige Fälle korrekt erfasst werden, ohne die Automatisierung für alle anderen Rechnungen aufzuhalten.

Was kostet die Implementierung der gesamten Pipeline?

Die Software (n8n, Ollama, NocoDB, InvoiceNinja) ist Open-Source und damit lizenzkostenfrei. Die Hardwarekosten für einen VPS liegen bei 20–50 CHF pro Monat (oder mehr bei GPU-Bedarf). Für die Implementierung durch Synara variieren die Kosten je nach Komplexität und Anpassung – kontaktiere uns für ein unverbindliches Angebot. Die Amortisation erfolgt typischerweise innerhalb von 6–12 Monaten durch die eingesparten Personalkosten.

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