Docs/n8n/Templates/Eingehende E-Rechnungen von Gmail nach Drive archivieren (mit durchsuchbarem Sheet-Log)

Eingehende E-Rechnungen von Gmail nach Drive archivieren (mit durchsuchbarem Sheet-Log)

Gmailinvoice-api.xhubGoogle DriveGoogle Sheets5 Min. Setup

Was es tut — archiviert eingehende E-Rechnungen aus Gmail im Google Drive mit auto-erkanntem XRechnung-, ZUGFeRD- und Factur-X-Format plus durchsuchbarem Google-Sheets-Log. Läuft auf n8n Cloud oder self-hosted in ~5 Minuten.

Eingehende E-Rechnungen von Gmail nach Drive archivieren (mit durchsuchbarem Sheet-Log)

Als unser Team die 50 überschritten hat, wurde der Lieferantenrechnungs-Fluss zu einem Problem, das ich nicht länger ignorieren konnte. Ich bin Head of Finance bei einem Software-Unternehmen; XRechnung-XML von IT-Dienstleistern, PDFs vom Hosting-Anbieter, Attachment-Belege aus zwei Dutzend SaaS-Tools — alles landet im gleichen geteilten Postfach, alles heißt invoice.pdf oder attachment-2.xml. Unser "Archiv" war ein Mail-Thread.

Dieser Workflow beobachtet Gmail auf Anhänge, lässt alles durch invoice-api.xhub laufen, um zu entscheiden, was tatsächlich eine E-Rechnung ist, und extrahiert die strukturierten Felder. Mit denen, die durchkommen, macht er zwei Dinge. Er legt die Originaldatei in einen Drive-Ordner unter YYYY-MM ab, umbenannt auf YYYY-MM-DD_Seller_InvoiceNumber.ext, und er hängt eine Zeile pro Rechnung an ein Google Sheet an.

Das Sheet ist der Teil, den ich am meisten nutze. Automatisch gemappte Spalten — newFilename, monthFolder, invoiceNumber, invoiceDate, sellerName, buyerName, total, currency, format — lassen sich sortieren, filtern, und ich kann eine Pivot darauf ansetzen, wenn der Prüfer Q2 nach Lieferanten anfragt. Fehlt eine Spalte, legt n8n sie beim ersten Schreiben an.

Nicht-Rechnungs-Anhänge werden still übersprungen. Wenn invoice-api.xhub eine Datei nicht interpretieren kann, loggt der Workflow sie und läuft weiter, statt den Batch abzubrechen.

Accounts, die du verbindest

  • Gmail (OAuth2) — der Trigger
  • Google Drive (OAuth2) — Zielordner
  • Google Sheets (OAuth2) — das Log
  • invoice-api.xhub — API-Key, kostenlose Sandbox verfügbar

Vier Credentials sind der ehrliche Trade-off dieses Flows. Wenn du nur eines der beiden Ziele willst (Drive oder Sheets), lösch den anderen Zweig.

Konfiguration

Öffne Set Config, füge die Folder-ID aus deiner Drive-URL ein und die Spreadsheet-ID aus deiner Sheets-URL. Der sheetName ist standardmäßig Sheet1. Aktiviere den Workflow, und er beginnt ab der nächsten Gmail-Minute zu pollen.

Was dieser Workflow nicht tut

Er OCR-t keine gescannten PDFs, dedupliziert nicht (leitet man dieselbe Mail zweimal weiter, sieht man zwei Zeilen) und fasst deinen bestehenden Backlog nicht an — nur Mails, die nach der Aktivierung ankommen. Ein Cron-getriggertes Backfill steht auf meiner Todo-Liste, aber für den Archiv-ab-jetzt-Fall reicht das hier.

So richtest du den Workflow ein

  1. 1

    Community-Node installieren: n8n → Settings → Community Nodes → Install, Package-Name `n8n-nodes-invoice-api-xhub`.

  2. 2

    Template-JSON herunterladen und in n8n über Workflows → Import from File importieren.

  3. 3

    Credentials verbinden: invoice-api.xhub (API-Key, kostenlose Sandbox verfügbar) plus die jeweils benötigten OAuth-Connections (Gmail, Drive, Sheets, …).

  4. 4

    Im Knoten `Set Config` deine Werte eintragen (Folder-IDs, Spreadsheet-IDs, Absender-Mail, USt-ID, etc.).

  5. 5

    Workflow aktivieren oder manuell ausführen — je nach Template.