Viele kleine und mittlere Unternehmen (KMU) versenden täglich Rechnungen – haben aber oft keinen klaren Überblick über ihre aktuelle finanzielle Lage. Auch eine Berechnung von wichtigen Kennzahlen wie ARR, MRR, CLV oder Churn ist ohne strukturierten Daten nicht möglich. Tools zur Finanzanalyse sind oft teuer, kompliziert oder schlichtweg nicht für kleinere Betriebe gemacht.

Ich zeige dir, wie du dieses Problem mit einem einfachen, smarten AI-Agenten lösen kannst. Über eine benutzerfreundliche Chat-Oberfläche kannst du dein System abfragen – und bekommst in Sekunden echte Einblicke in deine Finanzdaten.

So sieht unser Flow für die Datenaufbereitung aus:

Und das hier ist unser ChatBot, um die Finanzkennzahlen abzufragen:

🔧 Welche Technologien nutzen wir für unser AI Agent?

  • n8n als Automatisierungs-Framework
  • JavaScript für leichte Formatierung und Datenvorbereitung
  • Google Drive zur Ablage eingehender Rechnungen
  • ChatGPT (LLM) für Texterkennung & Datenextraktion
  • Pinecone als Vektor-Datenbank

Keine Sorge – auch wenn dir manche Tools noch unbekannt sind: Ich erkläre alles Schritt für Schritt. Alternativen zeige ich ebenfalls.

1. Rechnungen automatisiert aufbereiten


📁 Google Drive Trigger:
Neue Rechnungen landen in einem definierten Ordner. Ein n8n-Trigger erkennt automatisch Änderungen. Wichtig: Aktiviere die Google Drive API und erteile Zugriff über die Google Console.

⬇️ Datei herunterladen:
Mit dem nächsten Node laden wir die Datei wirklich herunter – der Trigger erkennt nur, dass sich etwas geändert hat.

📄 Text extrahieren:
Handelt es sich um eine echte PDF (nicht nur ein Bild), extrahieren wir den Inhalt direkt. OCR ist nur bei bildbasierten Dokumenten nötig.

So sieht meine einfache Rechnung aus. Übrigens diese PDF für den Test habe ich auch mit der Hilfe von ChatGPT erstellt:

2. Daten strukturieren & LLM vorbereiten


Wir extrahieren:

  • Meta-Daten wie Kunde, Betrag, Datum → via ChatGPT
  • Semantisch optimierten Langtext → ebenfalls mit ChatGPT

Beispiel-Prompt zur Extraktion:

Extrahiere folgende Felder aus diesem Text:

  • typ: Immer „rechnung“
  • kunde: Name des Kunden
  • tag: 2-stellig
  • monat: 2-stellig (01 bis 12)
  • jahr: 4-stellig (z. B. 2024)
  • productname
  • betrag: Nur Netto-Betrag in Euro als Zahl (ggf. Gesamtbetrag)
TEXT:

{{ $json[„text“] }}

Zweiter Prompt (für bessere Speicherung im Vektor-Store):

Du bekommst ein Text, der aus einer Rechnung extrahiert worden ist und soll in eine Vector Datenbank auch als Text gespeichert werden, damit man es später in einem ChatBot bei den Nutzerabfragen nutzen kann.

Folgendes muss du mit dem Text machen:
1) Lösche aus dem Text alle Sonderzeichen, die für den Content irrelevant sind.
2) Falls /n vorhanden ist, erstetze es mit einem Leerzeichen.
3) Den Text muss du in die richtige Vector Database Struktur bringen, bzw. folgende Struktur soll rauskommen:
Rechnungsnummer:
Rechnungsdatum:
Kundename:
Produkt:
Gesamtbetrag:

3. Kombination & Speicherung

Mit einem Merge-Node von n8n kombinieren wir beide Datenströme:

  • JSON mit Meta-Infos
  • Bereinigter Text

Dann wandeln wir den Datensatz in ein passendes Format für Pinecone. Hier ist ein Beispiel-Datensatz, das in die Vector Datenbank gespeichert wird, um später von AI-Agents abgefragt werden:

{
id: „unique-id“,
text: „Rechnung für 1.200 € von Max Müller GmbH…“,
metadata: {
kunde: „Max Müller GmbH“,
monat: „05“,
jahr: „2024“
}
}

4. Pinecone als Vektor-Datenbank:

  • Kostenloser Plan verfügbar – damit kann man schnell RAG Szenarien ausprobieren, ohne die Kreditkarte aus der Tasche zu ziehen.
  • Stabil & leicht anzubinden via n8n – hier ist eine direkte Integration vorhanden.
  • Gut dokumentiert

Wir nutzen das Embedding-Modell text-embedding-3-small von OpenAI.

👉 Wichtig: Pass beim Text Splitting auf. In meinem Beispiel nutze ich Character Text Splitter mit einem „.“ als Separator, Chunk Size 500, Chunk Overlap 100. Welches Textsplitting du für dein AI Agent nutzt, muss du selbst ausprobieren. Das wichtigste ist – es wird nicht nach keywords gesucht, sondern nur semantisch! Die Metadata wird nicht für die Suche benutzt, jedoch erleichtert es die Möglichkeit die Daten zu filtern (z.B. nur Rechnungen aus dem Jahr 2024), falls du später sehr viele Daten in der Datenbank hast.

Nun wenn die Speicherung in die Vector Datenbank erfolgreich war, siehst du in den Executions in n8n ca. folgendes Ergebniss:

In dem Pinecone selbst bekomme ich aktuell 1 Chunk, bzw. 1 Record pro Rechnung, bzw. pro Datei. Das erleichtert die semantische Suche. Übrigens in dem Pinecone nutze ich das Embeding model 3-small mit den 1536 Dimensions. Für so einen kurzen und wichtigen Text empfehle ich immer 1536 Dimension. 512 Dimension sind zu wenig, bzw. das AI Agent verliert zu viele Details und kann deine Fragen nicht präzis beantworten.

5. Chatbot mit Zugriff auf Rechnungen

In n8n erstellst du jetzt einen Chatflow, z. B. per Telegram, Webhook oder eigener UI. Du kannst später dein ChatBot mit dem AI Finanz Agent auf einer beliebigen Plattform, direkt auf n8n oder lokal bzw. auf deinem eigenem Server hosten.

Wichtiger Prompt für den AI-Agenten:

Die folgende Nutzerfrage lautet: {{ $json.chatInput }}
Formuliere daraus eine präzise Suchanfrage, die sich auf Rechnungsdaten bezieht. Nutze alle Schlüsselbegriffe (Kunde, Jahr, Betrag, Nummer etc.). Diere Suchanfrage stellst du an den Vector Store mit den Rechnungsdaten.

✅ Ergebnis: Echtzeit-Antworten auf Finanzfragen – auch komplexe Fragen, z.B. nach einem ARR werden beantwortet, obwohl ich in meinem Beispiel weniger Rechnungen gespeichert habe. Eigentlich für meinen Beispiel Kunde nur zwei.

Konkretes Beispiel – folgende Frage habe ich gestellt: „Wir wollen den möglichen durchschnittlichen ARR für den Kunde Epsilon System ausrechnen. Analysiere alle Rechnungen von dem Kunde Epsilon System und berechne durchschnittliches MRR. Dann multipliziere es mit 12, um den möglichen durchschnittlichen ARR zu berechnen.“

Und hier die Antwort von unserem AI Agent für Finanzkennzahlen: Der mögliche durchschnittliche jährliche wiederkehrende Umsatz (ARR) für den Kunden Epsilon Systems beträgt 3779,22 EUR.

Prüfung: wir haben für den Kunde Epsilon System zwei Rechnungen hochgeladen: 1) Gesamtbetrag: 489.90 EUR, fällig im Oktober 2024. 2) Gesamtbetrag: 139.97 EUR, fällig im August 2024.

Wir bitten zusätzlich das System uns zeigen, wie sie es berechnet hast, um die ARR zu kontrolieren:

schreibe schritt für schritt für du es berechnet hast

Und hier ist die Antwort von unserem erfahrenem AI-Agent:

Um den möglichen durchschnittlichen jährlichen wiederkehrenden Umsatz (ARR) für den Kunden Epsilon Systems zu berechnen, folgte ich diesen Schritten:

  1. Rechnungsanalyse: Ich analysierte die Rechnungen für Epsilon Systems, um die relevanten Beträge zu ermitteln:
    • Rechnung 1 am 05.08.2024: 139,97 EUR
    • Rechnung 2 am 15.11.2024: 489,90 EUR
  2. Monatliche Verteilung: Da die Rechnungen in unterschiedlichen Monaten ausgestellt wurden, betrachtete ich diese als repräsentativ für verschiedene Monate.
  3. Berechnung des durchschnittlichen MRR: Die Beträge der Rechnungen wurden summiert und durch die Anzahl der Monate geteilt:
    • MRR = (139,97 EUR + 489,90 EUR) / 2 = 314,935 EUR
  4. Umrechnung in ARR: Der MRR wurde mit 12 multipliziert, um den jährlichen Wert zu erhalten:
    • ARR = MRR * 12 = 314,935 EUR * 12 ≈ 3.779,22 EUR

Dieses Ergebnis ist eine grobe Schätzung, da wir davon ausgegangen sind, dass die Umsätze sich monatlich gleichmäßig verteilen.

🚀 Bereit für deinen eigenen AI Agent?

  • Das Ganze läuft lokal mit n8n.
  • Die OpenAI-Kosten sind minimal.
  • Die Technik ist kein Hindernis – mit den richtigen Schritten ist es leicht nachzubauen.

Hier kannst Du den Flow von dem AI-Agent kurz live sehen:

🤝 Du willst deinen eigenen AI Agent? Ich unterstütze dich gern bei – melde dich einfach!


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert