Skip to content

Make.com Integration

Erstelle EU-konforme E-Rechnungen automatisch mit Make.com (ehemals Integromat) und thelawin.dev. Das HTTP-Modul verbindet sich direkt mit der thelawin.dev API.

Voraussetzungen

  • Make.com Account (Free: 1.000 Ops/Monat)
  • thelawin.dev API Key (zum Testen: env_sandbox_demo)

Szenario erstellen

1. Trigger-Modul

Waehle einen Trigger fuer dein Szenario:

ModulUse Case
Webhook — Custom webhookEmpfange Daten von deiner App
Google Sheets — Watch RowsNeue Tabellenzeile = Rechnung
Airtable — Watch RecordsNeuer Datensatz = Rechnung
ScheduleWiederkehrende Rechnungen (woechentlich, monatlich)

2. HTTP-Modul konfigurieren

Fuege das Modul HTTP → Make a request hinzu:

FeldWert
URLhttps://api.thelawin.dev/v1/generate
MethodPOST
Body typeRaw
Content typeJSON (application/json)
Request content(JSON, siehe unten)

Headers hinzufuegen:

KeyValue
X-API-Keyenv_sandbox_demo

Request content (JSON):

json
{
  "format": "zugferd",
  "template": "minimal",
  "locale": "de",
  "invoice": {
    "number": "RE-2026-001",
    "date": "2026-01-15",
    "currency": "EUR",
    "seller": {
      "name": "Deine Firma GmbH",
      "street": "Musterstrasse 1",
      "city": "Berlin",
      "postal_code": "10115",
      "country": "DE",
      "vat_id": "DE123456789"
    },
    "buyer": {
      "name": "Kunde AG",
      "city": "Muenchen",
      "country": "DE"
    },
    "items": [
      {
        "description": "Beratungsleistung",
        "quantity": 8,
        "unit": "HUR",
        "unit_price": 150.00,
        "vat_rate": 19
      }
    ]
  }
}

Parse response: Aktivieren, damit Make die JSON-Response automatisch in Felder aufteilt.

3. PDF verarbeiten

Die Response enthaelt pdf_base64 und filename. Nutze weitere Module:

Base64 → Datei konvertieren:

Fuege Tools → Set variable hinzu:

  • Variable: pdf_binary
  • Wert: {{base64decode(HTTP.body.pdf_base64)}}

Dann Google Drive → Upload a File oder Email → Send an Email mit dem PDF als Anhang.

4. Fehlerbehandlung

Fuege einen Error Handler an das HTTP-Modul an:

  • Bei 422: Validierungsfehler — Route zum Logging
  • Bei 402: Quota erschoepft — Route zur Benachrichtigung
  • Bei 5xx: Server-Fehler — Retry nach 60 Sekunden

Szenario: Airtable → ZUGFeRD → Google Drive

  1. Airtable — Watch Records (Tabelle "Rechnungen", Filter: Status = "Neu")
  2. HTTP — POST an api.thelawin.dev/v1/generate mit Airtable-Daten
  3. Google Drive — Upload File (Base64 → PDF)
  4. Airtable — Update Record (Status = "Erstellt", PDF-Link eintragen)

Dynamische Werte aus Airtable:

json
{
  "invoice": {
    "number": "{{1.Rechnungsnummer}}",
    "date": "{{formatDate(now; 'YYYY-MM-DD')}}",
    "buyer": {
      "name": "{{1.Kundenname}}",
      "city": "{{1.Stadt}}"
    },
    "items": [
      {
        "description": "{{1.Leistung}}",
        "quantity": {{1.Menge}},
        "unit_price": {{1.Einzelpreis}}
      }
    ]
  }
}

Szenario: Webhook → XRechnung (B2G)

Fuer Behoerden-Rechnungen mit Leitweg-ID:

json
{
  "format": "xrechnung",
  "invoice": {
    "leitweg_id": "{{1.leitweg_id}}",
    "buyer_reference": "{{1.bestellnummer}}",
    "number": "{{1.rechnungsnummer}}",
    "date": "{{formatDate(now; 'YYYY-MM-DD')}}",
    "seller": {
      "name": "{{1.firma}}",
      "vat_id": "{{1.ust_id}}"
    },
    "buyer": {
      "name": "{{1.behoerde}}"
    },
    "items": {{1.positionen}}
  }
}

Haeufige Fehler

FehlerUrsacheLoesung
401 UnauthorizedAPI Key fehlt oder falschHeader X-API-Key pruefen
422 ValidationPflichtfelder fehlenerrors[].path in der Response pruefen
"Parse error"JSON-Syntax ungueltigJSON in einem Validator pruefen
Leere PDF-DateiBase64 nicht korrekt dekodiertbase64decode() Funktion verwenden

Naechste Schritte

ZUGFeRD 2.4 & Factur-X 1.0.8 compliant