Skip to content

AI Agents Integration

thelawin.dev ist fuer AI Agents gebaut. Ob Claude Code, ChatGPT, ein eigener LLM-Agent oder ein n8n-AI-Workflow — die API ist stateless, JSON-basiert und sofort nutzbar.

3 Wege zur Integration

MethodeFuer wenSetup
MCP ServerClaude Code, MCP-faehige Clientsnpm-Paket installieren
REST API + curlJeder Agent mit HTTP-ZugriffKein Setup, sofort los
SDKsAgenten in Python, TypeScript, etc.SDK installieren

MCP Server (empfohlen fuer Claude)

Der Model Context Protocol Server gibt Claude Code (und anderen MCP-Clients) zwei Tools: thelawin_generate und thelawin_validate.

Installation

bash
git clone https://github.com/steviee/thelawin.dev.git
cd thelawin.dev/mcp-server
npm install && npm run build

Konfiguration fuer Claude Code

Fuege in deine Claude Code MCP-Config ein:

json
{
  "mcpServers": {
    "thelawin": {
      "command": "node",
      "args": ["/path/to/thelawin.dev/mcp-server/dist/index.js"],
      "env": {
        "THELAWIN_API_KEY": "env_sandbox_demo"
      }
    }
  }
}

Ohne MCP Server

Du kannst thelawin.dev auch ohne den MCP Server nutzen — direkt per REST API (curl) oder via SDKs. Siehe die Abschnitte unten.

Natuerliche Sprache → Rechnung

Nach dem Setup kann Claude Code Rechnungen per Sprachbefehl erstellen:

"Erstelle eine ZUGFeRD-Rechnung fuer 8 Stunden Beratung a 150 EUR von Acme GmbH an Customer AG"

Claude nutzt automatisch das thelawin_generate Tool und liefert das PDF zurueck.

REST API mit curl

Jeder Agent der HTTP-Requests ausfuehren kann, kann thelawin.dev nutzen. Der Demo-Key env_sandbox_demo funktioniert sofort ohne Account.

Minimale Rechnung

bash
curl -s -X POST https://api.thelawin.dev/v1/generate \
  -H "Content-Type: application/json" \
  -H "X-API-Key: env_sandbox_demo" \
  -d '{
    "format": "zugferd",
    "template": "minimal",
    "invoice": {
      "number": "RE-2026-001",
      "date": "2026-01-15",
      "seller": {"name": "Acme GmbH", "country": "DE", "vat_id": "DE123456789"},
      "buyer": {"name": "Customer AG", "country": "DE"},
      "items": [{"description": "Beratung", "quantity": 8, "unit": "HUR", "unit_price": 150}]
    }
  }'

PDF speichern

bash
curl -s -X POST https://api.thelawin.dev/v1/generate \
  -H "Content-Type: application/json" \
  -H "X-API-Key: env_sandbox_demo" \
  -d '{"invoice":{"number":"001","date":"2026-01-15","seller":{"name":"Test GmbH"},"buyer":{"name":"Kunde AG"},"items":[{"description":"Service","quantity":1,"unit_price":100}]}}' \
  | jq -r '.pdf_base64' | base64 -d > rechnung.pdf

Vor-Validierung (kostenlos)

bash
curl -s -X POST https://api.thelawin.dev/v1/validate \
  -H "Content-Type: application/json" \
  -H "X-API-Key: env_sandbox_demo" \
  -d '{"format":"xrechnung","invoice":{"number":"XR-001","date":"2026-01-15","leitweg_id":"04011000-12345-67","seller":{"name":"GmbH","vat_id":"DE123"},"buyer":{"name":"Amt"},"items":[{"description":"Lizenz","quantity":1,"unit_price":1000}]}}' \
  | jq '.valid, .format'

Daten aus PDF extrahieren

bash
PDF_BASE64=$(base64 < rechnung.pdf)
curl -s -X POST https://api.thelawin.dev/v1/retrieve \
  -H "Content-Type: application/json" \
  -H "X-API-Key: env_sandbox_demo" \
  -d "{\"data_base64\": \"$PDF_BASE64\"}" \
  | jq '.invoice'

SDKs fuer Agent-Frameworks

Python (LangChain, CrewAI, AutoGen)

python
from thelawin import ThelawinClient

client = ThelawinClient("env_sandbox_demo")

result = (
    client.invoice()
    .number("RE-2026-001")
    .date("2026-01-15")
    .format("zugferd")
    .seller("Acme GmbH", vat_id="DE123456789", city="Berlin", country="DE")
    .buyer("Customer AG", city="Muenchen", country="DE")
    .add_item("Beratung", quantity=8, unit_price=150, unit="HUR")
    .generate()
)

if result.success:
    result.save_pdf("rechnung.pdf")
bash
pip install git+https://github.com/steviee/thelawin-clients.git#subdirectory=python

TypeScript (Vercel AI SDK, LlamaIndex)

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

const client = new ThelawinClient('env_sandbox_demo');

const result = await client.invoice()
  .number('RE-2026-001')
  .date('2026-01-15')
  .format('zugferd')
  .seller({ name: 'Acme GmbH', vatId: 'DE123456789', city: 'Berlin', country: 'DE' })
  .buyer({ name: 'Customer AG', city: 'Munich', country: 'DE' })
  .addItem({ description: 'Consulting', quantity: 8, unit: 'HUR', unitPrice: 150 })
  .generate();
bash
npm install github:steviee/thelawin-clients#path:typescript

Unterstuetzte Formate

FormatBeschreibungRegion
zugferdPDF/A-3 + CII XMLDeutschland
facturxPDF/A-3 + CII XMLFrankreich
xrechnungPDF/A-3 + UBL XMLDeutschland B2G
peppolXML (UBL-basiert)EU/international
fatturapaXMLItalien
ublXMLOASIS Standard
ciiXMLUN/CEFACT
pdfPlain PDFUniversal
autoAuto-ErkennungEU

API Key fuer Production

Der Demo-Key (env_sandbox_demo) erzeugt PDFs mit SANDBOX-Wasserzeichen. Fuer Production:

  1. Registrieren (kostenlos)
  2. Dashboard → API Keys → Key erstellen
  3. Sandbox-Keys (env_sandbox_*): 0 Credits inkl., kostenlos (Credit Packs fuer Clean-PDFs kaufbar)
  4. Live-Keys (env_live_*): Ab 9,50 EUR/Monat, kein Wasserzeichen

Claude Code Skill

Fuer Claude Code gibt es einen eingebauten Skill der die API mit Beispielen erklaert. Agenten koennen den Skill automatisch nutzen um Rechnungen zu erstellen, zu validieren und zu extrahieren.

Naechste Schritte

ZUGFeRD 2.4 & Factur-X 1.0.8 compliant