XRechnung & ZUGFeRD automatisch erstellen mit n8n, Make oder Zapier
Kein Code, kein neues Buchhaltungssystem. Ein HTTP-Request-Node verbindet Ihren bestehenden Workflow mit rechnungsapi.de — fertige, rechtskonforme E-Rechnung in unter 30 Minuten. Wir haben das genau so für JUSTGROW GmbH umgesetzt.
Olaf Sell von JUSTGROW GmbH hatte genau ein Ziel: XRechnung-Erstellung vollautomatisch in seinen bestehenden n8n-Workflow einbauen — ohne neue Software, ohne Entwickler-Sprint, ohne Unterbrechung des laufenden Betriebs. Das Ergebnis: In 20 Minuten war der HTTP-Request-Node konfiguriert, seitdem läuft die ZUGFeRD-Erstellung vollautomatisch. Auftrag rein, konforme E-Rechnung raus.
Dieses Tutorial zeigt Ihnen Schritt für Schritt, wie Sie dasselbe mit n8n, Make.com oder Zapier umsetzen — inklusive fertigem JSON-Payload, der sich direkt in Ihren Workflow kopieren lässt.
So sieht der fertige Workflow aus
Dieser n8n-Workflow verarbeitet eingehende Stripe-Events vollautomatisch zu rechtskonformen ZUGFeRD-Rechnungen — 6 Nodes, 0 Zeilen manuell geschriebener Code:

Produktiver n8n-Workflow bei JUSTGROW GmbH: Stripe-Zahlung → automatische ZUGFeRD-Rechnung
Warum No-Code für E-Rechnungs-Automatisierung?
Seit Januar 2025 müssen deutsche Unternehmen strukturierte E-Rechnungen (XRechnung oder ZUGFeRD) empfangen können. Ab 2027 gilt die Sendepflicht für alle. Die technische Herausforderung: EN 16931-konforme XML-Dateien manuell zu erstellen ist komplex und fehleranfällig. Mit einer REST API und einem No-Code-Tool lösen Sie das in einem Nachmittag.
Kein Entwickler nötig
HTTP-Request-Node konfigurieren ist so einfach wie ein Formular ausfüllen.
Bestehende Tools bleiben
Stripe, Shopify, HubSpot, Lexoffice — alles bleibt. Die API hängt sich dazwischen.
In 30 Min. live
Kein Sprint, kein Ticket-System. Heute entschieden, heute produktiv.
n8n vs. Make.com vs. Zapier — welches Tool für XRechnung?
n8n
Self-hosted oder Cloud. Unbegrenzte Workflows im Free Plan. Ideal für Entwickler-Teams.
Make.com
Visueller Workflow-Builder mit starker JSON-Verarbeitung. Perfekt für komplexe Datenmapping-Logik.
Zapier
Größtes App-Ökosystem. Ideal wenn Ihr Trigger aus Tools wie Stripe, HubSpot oder Shopify kommt.
Empfehlung: Für technische Teams oder Self-Hosting → n8n. Für komplexes Datenmapping → Make.com. Für maximale App-Auswahl → Zapier. Die rechnungsapi.de-Integration funktioniert mit allen drei identisch.
Schritt-für-Schritt: XRechnung per n8n erstellen
Trigger definieren
Webhook (Stripe-Zahlung, neuer Auftrag in CRM, Shopify-Order) oder Zeitplan (z.B. täglich 18:00 Uhr alle offenen Aufträge abrechnen).
Nutzerdaten holen (optional)
GET-Request an Ihre Datenbank oder CRM, um Käufer-/Verkäuferdaten für die Rechnung zu laden — z.B. Name, Adresse, USt-ID.
JSON-Payload zusammenbauen
Daten aus Trigger + Lookup in das rechnungsapi.de JSON-Format mappen. Ein "Set"-Node in n8n oder "Map"-Modul in Make erledigt das ohne Code.
POST an rechnungsapi.de
HTTP Request Node: POST https://api.rechnungsapi.de/api/v1/zugferd/createXinvoiceFromJson (XRechnung) oder /createZugferdFromJson (ZUGFeRD). Authorization: Bearer TOKEN. Die API liefert innerhalb von Sekunden ein fertiges PDF/XML zurück.
PDF speichern oder versenden
Response-Binary in Google Drive / S3 speichern, per E-Mail versenden oder direkt ins ERP/Buchhaltungssystem schreiben.
Fertiger n8n JSON-Payload — kopieren & einfügen
Konfigurieren Sie den HTTP Request Node in n8n mit folgenden Einstellungen und ersetzen Sie die {{ $json.* }} Expressions durch Ihre eigenen Felder aus dem vorherigen Node:
{
"invoice": {
"invoiceNumber": "{{ $json.invoice_id }}",
"invoiceIssueDate": "{{ $now.format('YYYY-MM-DD') }}",
"invoiceTypeCode": "380",
"invoiceCurrencyCode": "EUR",
"buyerReference": "{{ $json.buyer_reference }}",
"paymentDueDate": "{{ $now.plus(30, 'days').format('YYYY-MM-DD') }}",
"seller": {
"sellerName": "JUSTGROW GmbH",
"sellerVatIdentifier": "DE123456789",
"sellerElectronicAddress": "rechnungen@justgrow.eu",
"sellerPostalAddress": {
"sellerAddressLine1": "Musterstraße 1",
"sellerCity": "Hamburg",
"sellerPostCode": "20095",
"sellerCountryCode": "DE"
}
},
"buyer": {
"buyerName": "{{ $json.customer.company }}",
"buyerElectronicAddress": "{{ $json.customer.email }}",
"buyerPostalAddress": {
"buyerAddressLine1": "{{ $json.customer.address }}",
"buyerCity": "{{ $json.customer.city }}",
"buyerPostCode": "{{ $json.customer.zip }}",
"buyerCountryCode": "DE"
}
},
"invoiceLine": [
{
"invoiceLineIdentifier": "1",
"invoiceLineNetAmount": "{{ $json.unit_price * $json.quantity }}",
"itemName": "{{ $json.product.name }}",
"invoicedQuantity": "{{ $json.quantity }}",
"invoicedQuantityUnitOfMeasureCode": "C62",
"itemNetPrice": "{{ $json.unit_price }}",
"invoiceLineVatInformation": {
"invoiceLineVatCategoryCode": "S",
"invoiceLineVatRate": 19
}
}
],
"documentTotals": {
"sumOfInvoiceLineNetAmount": "{{ $json.unit_price * $json.quantity }}",
"invoiceTotalAmountWithoutVat": "{{ $json.unit_price * $json.quantity }}",
"invoiceTotalVatAmount": "{{ $json.unit_price * $json.quantity * 0.19 }}",
"invoiceTotalAmountWithVat": "{{ $json.unit_price * $json.quantity * 1.19 }}",
"amountDueForPayment": "{{ $json.unit_price * $json.quantity * 1.19 }}"
},
"vatBreakdown": [
{
"vatCategoryTaxableAmount": "{{ $json.unit_price * $json.quantity }}",
"vatCategoryTaxAmount": "{{ $json.unit_price * $json.quantity * 0.19 }}",
"vatCategoryCode": "S",
"vatCategoryRate": 19
}
]
}
}💡 Tipp: Für reines XRechnung-XML (z.B. B2G-Rechnungen an Behörden) verwenden Sie /api/v1/zugferd/createXinvoiceFromJson. Für ZUGFeRD (PDF/A-3 mit eingebettetem XML) /api/v1/zugferd/createZugferdFromJson — hier zusätzlich "invoicePdf64" als Base64-PDF im Body mitgeben.
Make.com: ZUGFeRD-Workflow in 4 Modulen
In Make.com nutzen Sie das HTTP → Make a request-Modul. Der Aufbau ist identisch zu n8n — nur die UI unterscheidet sich:
- 1Trigger-Modul: Z.B. "Watch new rows" (Google Sheets), "Watch new orders" (WooCommerce) oder Webhook.
- 2Map-Modul (optional): Felder umbenennen und formatieren. Datum in ISO 8601, Zahlen ohne Tausenderpunkte.
- 3HTTP → Make a request: POST-Request an api.rechnungsapi.de/api/v1/zugferd/createXinvoiceFromJson. Body-Typ: Raw / JSON. Headers: Authorization Bearer + Content-Type application/json.
- 4Tools → Set variable oder Email-Modul: PDF-Binary aus der Response als Datei speichern (Google Drive, Dropbox) oder direkt per E-Mail versenden.
Zapier: XRechnung per Webhooks-Action
Zapier hat keinen nativen HTTP-Node — stattdessen verwenden Sie Webhooks by Zapier → POST. Damit lässt sich rechnungsapi.de genauso einbinden:
https://api.rechnungsapi.de/api/v1/zugferd/createXinvoiceFromJsonAuthorization: Bearer YOUR_API_TOKEN & Content-Type: application/json⚠️ Zapier gibt die Response-Binary als String zurück. Für das PDF-Speichern empfehlen wir einen nachgelagerten Step mit Google Drive → Upload File unter Verwendung der base64-codierten Response.
Praxisbeispiel: JUSTGROW GmbH — von Stripe-Zahlung zur ZUGFeRD-Rechnung
JUSTGROW GmbH nutzt einen Stripe-Webhook als Auslöser. Sobald eine Zahlung eingeht, läuft der Workflow vollautomatisch:
Stripe-Event empfangen
payment_intent.succeeded Webhook triggert n8n in Echtzeit
Nutzerdaten laden
GET-Request an eigene API holt Käufer-Name, Adresse, USt-ID
ZUGFeRD-Rechnung erstellen
POST an rechnungsapi.de — fertige PDF/A-3 Rechnung in < 2 Sek.
„Der HTTP-Request-Node war in 20 Minuten konfiguriert. Seitdem läuft die ZUGFeRD-Erstellung vollautomatisch: Auftrag rein, konforme E-Rechnung raus. Kein manueller Schritt mehr."
— Olaf Sell, JUSTGROW GmbH
Häufige Fragen zur n8n XRechnung Integration
Funktioniert rechnungsapi.de auch mit n8n self-hosted?
+
Ja. rechnungsapi.de ist eine externe REST-API — es spielt keine Rolle, ob n8n bei Ihnen on-premise oder in der n8n Cloud läuft. Der HTTP Request Node kann von überall erreichbare externe APIs aufrufen.
Welche E-Rechnungs-Formate kann ich per n8n/Make/Zapier erzeugen?
+
Alle: ZUGFeRD 2.4 (PDF/A-3 mit eingebettetem XML), XRechnung 3.0.1 (UBL oder CII XML) und Factur-X 1.08. Das gewünschte Format steuern Sie über den "format"-Parameter im JSON-Body.
Wie bekomme ich den API-Key für die Integration?
+
Registrieren Sie sich kostenlos auf rechnungsapi.de. Im Dashboard unter Profil finden Sie Ihren Bearer Token. Der Free Plan beinhaltet 10 Rechnungsseiten pro Monat — ideal zum Testen des Workflows.
Kann ich gleichzeitig validieren und erstellen?
+
Die Erstellung über /api/v1/zugferd/createXinvoiceFromJson beinhaltet automatisch eine Validierung. Bei Fehler erhalten Sie einen strukturierten Error mit XPath-Referenz. Für separate Validierung bestehender Dateien gibt es /api/v1/zugferd/validateXinvoiceXml.
Was kostet die Integration für den Produktivbetrieb?
+
Der Standard-Plan kostet 9,99 €/Monat für 100 Rechnungsseiten. Für höhere Volumen gibt es flexible Add-ons und Enterprise-Preise. Details unter rechnungsapi.de/pricing.
Jetzt in 30 Minuten live gehen
Kostenlos registrieren, API-Key holen, HTTP-Node konfigurieren — fertig. 10 Rechnungen pro Monat gratis, keine Kreditkarte erforderlich.