Docs/n8n/Templates/Aus einer Google-Sheet-Zeile eine XRechnung machen und versenden

Aus einer Google-Sheet-Zeile eine XRechnung machen und versenden

Google Sheetsinvoice-api.xhubGmail10 Min. Setup

Was es tut — generiert EN 16931-konforme XRechnung-XML (oder Factur-X, FatturaPA und 11 weitere EU-Formate) aus einem Google Sheet offener Rechnungen und mailt sie an die Käufer. Länder wechseln über countryCode. Setup ~10 Minuten.

Aus einer Google-Sheet-Zeile eine XRechnung machen und versenden

Seit Januar 2025 nehmen unsere Kunden aus dem öffentlichen Sektor keine PDF-Rechnungen mehr an — sie wollen XRechnung-XML (EN 16931) oder sie zahlen nicht. Wir sind eine Vier-Personen-Beratung; ich mache den Admin-Kram nebenbei, und ich hatte keine Lust, ein neues Rechnungstool zu lernen, nur um konform zu sein. Unsere ausgehenden Rechnungen liegen seit Jahren in einem Google Sheet: eine Zeile pro Rechnung, ein Tab pro Geschäftsjahr.

Dieser Workflow liest die Zeilen mit status = pending, generiert für jede eine XRechnung-XML über invoice-api.xhub, mailt sie mit kurzem Anschreiben an den Käufer und setzt die Zeile auf status = sent mit Zeitstempel. Ich lasse ihn manuell am 1. und am 15. laufen; den Manual Trigger gegen einen Schedule Trigger zu tauschen ist ein Ein-Klick-Change.

Der Code-Knoten in der Mitte ist der interessante Teil. Er mappt, welchen Spalten-Stil du auch nutzt — invoiceNumber und invoice_number funktionieren beide — auf das JSON, das die API erwartet, und leitet Netto, Umsatzsteuer und Brutto aus Einzelpreis × Menge × Satz ab, damit ich diese Spalten nicht manuell synchron halten muss. Einzeiler passen bequem in eine Zeile; mehrzeilige Fälle brauchen einen kleinen Tweak im Mapper.

Was du brauchst

  • Einen invoice-api.xhub-API-Key (kostenlose Sandbox-Keys beginnen mit sk_test_)
  • Ein Google Sheet mit den Spalten wie in 02-generate-xrechnung-from-sheets-example.csv — kopier es in einen Tab namens Invoices
  • Gmail für den Send-Step (jede andere Mail-Integration passt dort, wo heute Gmail steht)

Länder wechseln

Set Config hat die Felder countryCode und format. Standard ist DE / xrechnung. Wechsel auf FR / facturx, IT / fatturapa und so weiter — der Rest des Workflows interessiert sich nicht dafür.

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.