Skip to content

Shopify Integration

Ab 2027 muessen deutsche B2B-Unternehmen E-Rechnungen versenden. Mit thelawin.dev erstellst du automatisch ZUGFeRD-konforme Rechnungen fuer jede Shopify-Bestellung.

Voraussetzungen

  • Shopify Store (Basic oder hoeher)
  • thelawin.dev API Key
  • Webhook-Empfaenger (eigener Server, n8n oder Zapier)

Architektur

Shopify Order (paid) → Webhook
    → Middleware (n8n / Zapier / eigener Server)
    → POST api.thelawin.dev/v1/generate
    → PDF an Kunden senden oder in Shopify Files speichern

Shopify Webhook einrichten

  1. Shopify Admin → Settings → Notifications → Webhooks
  2. Create Webhook:
    • Event: Order payment
    • Format: JSON
    • URL: Dein Webhook-Endpunkt

Webhook → thelawin.dev (Node.js)

javascript
import { ThelawinClient } from '@thelawin/sdk';

const thelawin = new ThelawinClient(process.env.THELAWIN_API_KEY);

app.post('/webhooks/shopify/order-paid', async (req, res) => {
  const order = req.body;

  const items = order.line_items.map(item => ({
    description: item.title,
    quantity: item.quantity,
    unitPrice: parseFloat(item.price),
    vatRate: 19,
  }));

  const result = await thelawin.invoice()
    .number(`RE-${order.order_number}`)
    .date(order.created_at.split('T')[0])
    .format('zugferd')
    .locale('de')
    .seller({
      name: 'Dein Shop GmbH',
      vatId: 'DE123456789',
      street: 'Shopstrasse 1',
      city: 'Berlin',
      postalCode: '10115',
      country: 'DE',
    })
    .buyer({
      name: `${order.billing_address.first_name} ${order.billing_address.last_name}`,
      street: order.billing_address.address1,
      city: order.billing_address.city,
      postalCode: order.billing_address.zip,
      country: order.billing_address.country_code,
    })
    .items(items)
    .payment({ terms: 'Bereits bezahlt via Shopify' })
    .generate();

  if (result.success) {
    // PDF per Email an Kunden oder in Shopify Files ablegen
    console.log(`Invoice ${result.filename} created for Order #${order.order_number}`);
  }

  res.status(200).send('OK');
});

Alternative: Shopify + n8n

Statt einen eigenen Server zu betreiben, nutze n8n:

  1. Webhook Trigger — Empfaengt Shopify Order-Webhook
  2. Set Node — Extrahiert Kundendaten und Positionen
  3. HTTP Request — POST an thelawin.dev
  4. Gmail/SMTP — PDF an Kunden senden

Alternative: Shopify + Zapier

  1. Trigger: Shopify → New Paid Order
  2. Action: Webhooks by Zapier → POST an thelawin.dev
  3. Action: Gmail → Send Email mit PDF-Link

Siehe Zapier Guide fuer Details.

E-Rechnungspflicht 2027

Ab Januar 2027 muessen Unternehmen mit ueber 800.000 EUR Umsatz im B2B-Bereich E-Rechnungen versenden. Ab 2028 gilt die Pflicht fuer alle. thelawin.dev unterstuetzt:

  • ZUGFeRD 2.4 — PDF/A-3 mit eingebettetem CII-XML
  • XRechnung 3.0.2 — Fuer Behoerden (B2G) mit Leitweg-ID
  • Factur-X 1.0.8 — Fuer franzoesische Kunden

Naechste Schritte

ZUGFeRD 2.4 & Factur-X 1.0.8 compliant