Docs/Integrations/n8n/Templates/WooCommerce Bestellungen als XRechnung

WooCommerce Bestellungen als XRechnung

Automatisch konforme XRechnung E-Rechnungen für abgeschlossene WooCommerce-Bestellungen generieren und per Email an Kunden senden.

WooCommerceInvoice-api.xhubGmail10 Min. Setup

So funktioniert der Workflow

WooCommerce Bestellungen als XRechnung — Workflow-Diagramm
  1. 1

    Triggert bei jeder abgeschlossenen WooCommerce-Bestellung

  2. 2

    Mappt Bestelldaten (Artikel, Rechnungsadresse, Summen) auf das E-Rechnungs-Format

  3. 3

    Generiert eine konforme XRechnung (EN 16931) über die API

  4. 4

    Versendet die XRechnung als XML-Anhang per Email an den Kunden

  5. 5

    Aktualisiert die WooCommerce-Bestellung mit einer Bestätigungsnotiz

Warum das wichtig ist

Ab 2025 müssen deutsche Unternehmen E-Rechnungen empfangen und verarbeiten können. B2B-Kunden erwarten zunehmend XRechnung oder ZUGFeRD. Manuelle Rechnungserstellung skaliert nicht mit dem Bestellvolumen.

Google Sheets Struktur

WooCommerceInvoice
order.idRechnungsnummer (WOO-{id})
billing.first_name + last_nameKäufername
billing.companyKäufername (Fallback)
billing.address_1 + city + postcodeKäuferadresse
line_items[].name + quantity + priceRechnungspositionen
total + total_taxRechnungsbetrag + USt
meta_data[vat_id]USt-ID Käufer (optional)

Setup-Schritte

  1. 1

    Community Node n8n-nodes-invoice-api-xhub installieren

  2. 2

    API Key auf invoice-api.xhub.io erstellen

  3. 3

    WooCommerce API-Schlüssel erstellen: WooCommerce > Einstellungen > Erweitert > REST API > Schlüssel hinzufügen (Read/Write)

  4. 4

    Gmail OAuth2 Credential in n8n einrichten

  5. 5

    invoice-api.xhub Credential mit API Key konfigurieren

  6. 6

    Verkäufer-Daten im 'Map Order to Invoice' Code Node aktualisieren

  7. 7

    Workflow aktivieren

Vorschau (gekürzt)

json
1{
2 "name": "WooCommerce Order to XRechnung Email",
3 "nodes": [
4 {
5 "id": "woo-trigger",
6 "name": "WooCommerce Trigger",
7 "type": "n8n-nodes-base.wooCommerceTrigger",
8 "typeVersion": 1,
9 "position": [400, 600],
10 "parameters": {
11 "event": "order.created"
12 },
13 "credentials": {
14 "wooCommerceApi": {
15 "id": "",
16 "name": "WooCommerce account"
17 }
18 }
19 },
20 {
21 "id": "map-order-to-invoice",
22 "name": "Map Order to Invoice",
23 "type": "n8n-nodes-base.code",
24 "typeVersion": 2,
25 "position": [640, 600],
26 "parameters": {
27 "mode": "runOnceForEachItem",
28 "jsCode": "const order = $json;\n\n// Map WooCommerce line items\nconst lineItems = (order.line_items || []).map(item => ({\n description: item.name || '',\n quantity: item.quantity || 1,\n unitPrice: parseFloat(item.price || 0),\n vatRate: 19, // Adjust based on your tax setup\n unit: 'EA'\n}));\n\nconst subtotal = parseFloat(order.total || 0) - parseFloat(order.total_tax || 0);\nconst totalVat = parseFloat(order.total_tax || 0);\nconst total = parseFloat(order.total || 0);\n\nconst invoice = {\n invoiceNumber: `WOO-${order.id || order.number || Date.now()}`,\n invoiceDate: new Date().toISOString().split('T')[0],\n dueDate: '',\n currency: order.currency || 'EUR',\n seller: {\n name: 'Your Company Name',\n vatId: 'DE000000000',\n email: 'invoices@yourcompany.de',\n address: {\n street: 'Your Street 1',\n city: 'Your City',\n postalCode: '10115',\n country: 'DE'\n }\n },\n buyer: {\n name: `${order.billing?.first_name || ''} ${order.billing?.last_name || ''}`.trim() || order.billing?.company || '',\n vatId: order.meta_data?.find(m => m.key === 'vat_id')?.value || '',\n email: order.billing?.email || '',\n address: {\n street: `${order.billing?.address_1 || ''} ${order.billing?.address_2 || ''}`.trim(),\n city: order.billing?.city || '',\n postalCode: order.billing?.postcode || '',\n country: order.billing?.country || 'DE'\n }\n },\n lineItems,\n subtotal,\n totalVat,\n total\n};\n\nreturn {\n json: {\n orderId: order.id || order.number,\n buyerEmail: order.billing?.email || '',\n invoiceNumber: invoice.invoiceNumber,\n invoiceData: JSON.stringify(invoice)\n }\n};"
29 }
30 },
31 // ... (truncated)

Anwendungsfälle

Deutscher E-Commerce

E-Rechnungs-Pflicht 2025 einhalten

B2B-Shops

Automatisch XRechnung an Geschäftskunden liefern

Öffentliche Aufträge

B2G-konforme Rechnungen generieren

EU Cross-Border

Wechsel zu UBL oder Factur-X für andere EU-Länder

Direkt loslegen

Importiere den Workflow in deine n8n-Instanz und starte in wenigen Minuten.