Eigenentwicklung

EMAIL-WORKFLOWS

Eigenentwicklung

Aus dem Wust an Rechnungs-E-Mails entsteht automatisch ein sauber abgelegter Buchhaltungs-Ordner — jede PDF mit dem richtigen Namen, im richtigen Monatsverzeichnis, ohne dass jemand öffnen, umbenennen und verschieben muss.
Pattern E-Mail- & Newsletter-Workflows
  • Python 3.11
  • litellm (Anthropic / OpenAI / Azure / Ollama / OpenRouter)
  • IMAP / POP3 / Exchange

DIE AUSGANGSLAGE

Die Ausgangslage

Eingangsrechnungen kommen heute per Mail: Mobilfunk, Hosting, Cloud-Dienste, Werbung, Kreditkartenabrechnungen, Software-Abos. Jeden Monat dieselbe Routine — Mail öffnen, PDF herunterladen, Datei umbenennen, in den richtigen Lieferanten- und Monatsordner verschieben. Bei der Kreditkartenabrechnung kommt ein Schritt dazu: PDF zusätzlich öffnen, den Betrag ablesen, ihn ins Dateinamen-Schema einbauen, damit die Buchhaltung später ohne Aufklappen sieht, worum es geht.

Bei zwei Dutzend Rechnungen pro Monat ist das nicht „eben schnell erledigt" — sondern der wiederkehrende Reibungspunkt am Monatsanfang, an dem sich Tippfehler einschleichen, Rechnungen versehentlich doppelt landen oder ganze Belege im Posteingang verschollen bleiben.

WAS WIR GEBAUT HABEN

Was wir gebaut haben

Ein Kommandozeilen-Werkzeug, das das Mail-Postfach systematisch nach Rechnungs-Absendern durchforstet, die zugehörigen PDF-Anhänge extrahiert, sie nach konfigurierbaren Regeln umbenennt und in die korrekte Ordner-Hierarchie ablegt — mit Trockenlauf vor jedem echten Schreibvorgang und einer Zustandsdatenbank, die Doppelt-Verarbeitung verlässlich verhindert.

Der Ablauf

  1. E-Mails abholen — Die Anwendung verbindet sich mit dem Mail-Server (IMAP, POP3 oder Exchange) und liest E-Mails im gewählten Zeitraum. Welche Absender überhaupt verarbeitet werden, steuert eine einfache CSV-Datei — bereits verarbeitete E-Mails werden über ihre Message-ID erkannt und übersprungen.
  2. Den richtigen Anhang auswählen — Hängen mehrere PDFs an derselben Mail (z. B. Rechnung und Quittung), entscheidet das Werkzeug nach klaren Regeln: „Receipt" schlägt „Invoice", in unklaren Fällen wird gefragt — der Mensch klärt die Ausnahme einmal, das Werkzeug merkt sich die Entscheidung.
  3. Bei Kreditkartenabrechnungen den Betrag verstehen — Für Absender, deren Belege per Konvention den Betrag im Dateinamen tragen sollen (American Express, einzelne Cloud-Anbieter), liest die Anwendung das PDF aus und schickt den Text an ein KI-Modell, das Betrag und Währung strukturiert zurückliefert. Klappt das nicht, fragt das Werkzeug nach — es rät nicht.
  4. Sauber benennen — Aus Empfangsdatum, Kurzbezeichnung des Absenders und (bei Bedarf) Betrag entsteht ein konsistentes Schema: 2026-02-15_amex_142.50€.pdf. Andere Absender behalten ihren ursprünglichen Dateinamen — was die Banksoftware oder der Lieferant schon vergeben hat, ist meist gut genug.
  5. In die richtige Ablage schieben — Pfad-Vorlagen mit Platzhaltern wie {year} und {month} lösen sich aus dem Empfangsdatum auf: /Rechnungen/amex/2026/2026-02/. Fehlende Verzeichnisse werden bei Bedarf angelegt.
  6. Doppelt-Verarbeitung verhindern — Jede verarbeitete E-Mail wird in einer lokalen Zustandsdatenbank mit ihrer Message-ID protokolliert. Wer den gleichen Lauf zweimal startet, bekommt nicht zwei Kopien — sondern eine Zusammenfassung, was schon erledigt war.
  7. Klar berichten, was passiert ist — Am Ende erscheint eine Übersicht im Terminal: pro Mail Status, Absender, Betreff, finaler Dateiname, Zielpfad, erkannter Betrag. Was schiefging, sieht man auf einen Blick.

Trockenlauf vor jedem Schreibvorgang

Mit --dry-run zeigt das Werkzeug exakt, was es tun würde — ohne eine einzige Datei zu schreiben oder eine E-Mail als verarbeitet zu markieren. Konfigurations-Änderungen lassen sich damit gefahrlos testen, bevor sie auf das echte Postfach losgelassen werden.

Mehrere Modelle, ein Code

Welches KI-Modell den Betrag aus dem PDF holt, ist eine Konfigurationsfrage — Anthropic Claude, OpenAI, Azure, OpenRouter oder ein lokal laufendes Modell über Ollama. Damit bleibt die Wahl zwischen Cloud und On-Premise konfigurierbar, ohne den Code zu berühren.

Konfiguration und Zugangsdaten getrennt

Mail-Server, Pfad-Vorlagen und Absender-Zuordnungen liegen in lesbaren Text-Dateien (YAML und CSV). Passwörter und API-Keys kommen aus Umgebungsvariablen oder einer .env-Datei — was vor Ort gewartet werden kann, kann auch vor Ort gewartet werden, ohne dass Geheimnisse im Klartext in der Konfiguration landen.

WAS WIR DAMIT ERREICHEN

Was wir damit erreichen

  • Aus Routine-Klickerei wird ein Befehl. Was vorher Mail-für-Mail-Arbeit war, ist ein einziger Aufruf mit Zeitraum — der Rest passiert.
  • Kreditkartenbelege tragen den Betrag im Dateinamen, ohne Aufmachen. Die Buchhaltung sieht beim Durchscrollen direkt, worum es geht — ohne jedes PDF einzeln öffnen zu müssen.
  • Doppelt verarbeitete Belege gibt es nicht mehr. Die Message-ID-basierte Zustandsdatenbank ist verlässlicher als jeder „Hab ich das schon?"-Mail-Marker.
  • Trockenlauf macht Konfigurations-Fehler sichtbar — vor dem Schaden. Bevor eine echte Datei geschrieben oder eine E-Mail als erledigt markiert wird, kann der komplette Lauf folgenlos durchgespielt werden.
  • Lieferanten-Wildwuchs wird strukturiert. Statt zwanzig unterschiedlicher Dateinamenskonventionen pro Lieferant entsteht eine konsistente Ablage — die in zwei Jahren genauso navigierbar ist wie heute.

WAS BEWUSST NICHT AUTOMATISIERT WURDE

Was bewusst nicht automatisiert wurde

  • Die Auswahl der Absender. Welche E-Mail-Adressen überhaupt als Rechnungsquelle gelten, entscheidet der Mensch — einmal, in der CSV. Damit landet nicht jede Marketing-Mail im Buchhaltungs-Ordner, sondern nur das, was hingehört.
  • Die Buchung selbst. Es entstehen sauber benannte und korrekt abgelegte Dateien — keine Buchungssätze, keine DATEV-Übergabe, keine Kreditoren-Anlage. Das nachgelagerte Buchhaltungs-System bleibt, wie es ist.
  • Strittige Fälle. Wenn mehrere PDFs anhängen und die Regel nicht greift, wird gefragt — nicht geraten. Die wenigen unklaren Belege bleiben sichtbar.
  • Das Postfach selbst. E-Mails werden gelesen, aber nicht gelöscht oder verschoben. Der Posteingang bleibt der Posteingang — was archiviert wird, entscheidet weiterhin der Mail-Workflow.

WARUM DIESES MUSTER ÜBERTRAGBAR IST

Warum dieses Muster übertragbar ist

Der Aufbau funktioniert überall dort, wo regelmäßig strukturierte Dokumente per E-Mail eingehen und in eine konsistente Ablage müssen — und der inhaltliche Umgang beim Menschen oder im Folgesystem bleibt: Lieferanten-Rechnungen, Mahnungen, Versand-Avisen, Bestellbestätigungen, Vertragsanlagen, Bewerbungs-Unterlagen, Behörden-Bescheide.

Das Muster: Postfach → Filter nach Absender → Anhang extrahieren → bei Bedarf KI-Inhalt verstehen → benennen → ablegen → markieren als erledigt.

Die KI greift gezielt dort ein, wo aus einem Dokument eine strukturierte Information werden muss — etwa der Rechnungsbetrag. Die Routine-Mechanik (herunterladen, umbenennen, einsortieren, nicht doppelt machen) ist deterministisch und damit verlässlich. Die Verantwortung dafür, was überhaupt verarbeitet wird, bleibt beim Menschen — dort, wo sie hingehört.

Sprechen Sie uns an

Zwei Türen, eine Adresse.

Konkreter Engpass?

Lassen Sie uns 30 Minuten über Ihren Use Case sprechen.

Unverbindlich, kostenlos, mit konkreten Vorschlägen am Ende.

30-Min-Gespräch buchen

Eigene KI-Plattform?

Sehen Sie CompanyWizard live in Aktion.

Demo mit Ihren eigenen Daten möglich. Wir bringen die Pseudonymisierung schon eingerichtet mit.

Demo anfragen