Zurück zum Blog
Automation1. März 20262 min read

Rechnungsstellung mit der CleverInvo API automatisieren

Erfahren Sie, wie Sie Kunden und Rechnungen programmatisch mit der CleverInvo API erstellen. Mit Code-Beispielen, Webhook-Einrichtung und Integrationsmustern.

RechnungAPIAutomatisierungIntegrationEntwickler
Rechnungsstellung mit der CleverInvo API automatisieren

On this page

Wenn Sie mehr als ein paar Rechnungen pro Monat versenden, haben Sie sich wahrscheinlich gewuenscht, den Prozess automatisieren zu koennen. Die CleverInvo API macht das moeglich.


Voraussetzungen

Die API ist im Business-Plan verfuegbar. Sie benoetigen:

  1. Ein CleverInvo-Konto im Business-Plan
  2. Einen API-Schluessel (generieren Sie ihn unter Dashboard > API-Schluessel)
  3. Grundkenntnisse in REST APIs und JSON

Basis-URL:

https://cleverinvo.com/api/v1

Authentifizierung

curl -H "Authorization: Bearer YOUR_API_KEY" \
     https://cleverinvo.com/api/v1/clients

Kundenverwaltung

Kunden erstellen

curl -X POST https://cleverinvo.com/api/v1/clients \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Acme GmbH",
    "email": "[email protected]",
    "address": "Geschaeftsstrasse 123\n10115 Berlin, Deutschland",
    "taxId": "DE123456789",
    "phone": "+49-30-12345678"
  }'

Kunden auflisten

curl -H "Authorization: Bearer YOUR_API_KEY" \
     "https://cleverinvo.com/api/v1/clients?page=1&limit=20"

Rechnungen erstellen

curl -X POST https://cleverinvo.com/api/v1/invoices \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "clientId": "cli_abc123def456",
    "currency": "EUR",
    "issueDate": "2026-03-01",
    "dueDate": "2026-03-31",
    "lineItems": [
      {
        "description": "Website-Redesign - Phase 1",
        "quantity": 1,
        "unitPrice": 5000.00
      },
      {
        "description": "Frontend-Entwicklung",
        "quantity": 40,
        "unitPrice": 150.00
      }
    ],
    "notes": "Vielen Dank fuer Ihr Vertrauen.",
    "terms": "Zahlung innerhalb von 30 Tagen. Verzugszinsen: 9% ueber Basiszinssatz."
  }'

Das System automatisch:

  • Weist die naechste fortlaufende Rechnungsnummer zu
  • Berechnet Positionssummen, Zwischensumme und Gesamtbetrag
  • Erstellt das PDF und gibt die URL zurueck
  • Setzt den Status auf DRAFT

Rechnung mit Steuer

{
  "lineItems": [
    {
      "description": "Beratungsleistungen",
      "quantity": 20,
      "unitPrice": 200.00,
      "taxRate": 19
    }
  ]
}

Rechnungsstatus verwalten

# Als versendet markieren
curl -X PATCH https://cleverinvo.com/api/v1/invoices/inv_xyz789ghi012 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"status": "SENT"}'

# Als bezahlt markieren
curl -X PATCH https://cleverinvo.com/api/v1/invoices/inv_xyz789ghi012 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"status": "PAID"}'

Gaengige Integrationsmuster

Muster 1: CRM zu Rechnung

async function onDealClosed(deal) {
  let client = await cleverinvo.clients.findByEmail(deal.customerEmail);
  if (!client) {
    client = await cleverinvo.clients.create({
      name: deal.customerName,
      email: deal.customerEmail,
    });
  }

  await cleverinvo.invoices.create({
    clientId: client.id,
    currency: deal.currency,
    issueDate: new Date().toISOString().split("T")[0],
    dueDate: addDays(new Date(), 30).toISOString().split("T")[0],
    lineItems: deal.products.map((p) => ({
      description: p.name,
      quantity: p.quantity,
      unitPrice: p.price,
    })),
  });
}

Muster 2: Monatliche Retainer-Abrechnung

async function generateMonthlyInvoices() {
  const clients = await cleverinvo.clients.list({ isActive: true });

  for (const client of clients.data) {
    if (client.retainerAmount) {
      await cleverinvo.invoices.create({
        clientId: client.id,
        currency: "EUR",
        lineItems: [
          {
            description: `Monatliches Retainer - ${format(today, "MMMM yyyy")}`,
            quantity: 1,
            unitPrice: client.retainerAmount,
          },
        ],
      });
    }
  }
}

Rate Limits

Plan Limit
Business 100 Anfragen pro Minute

Fehlerbehandlung

Code HTTP Bedeutung
UNAUTHORIZED 401 Ungueltiger oder fehlender API-Schluessel
FORBIDDEN 403 API in Ihrem Plan nicht verfuegbar
NOT_FOUND 404 Ressource existiert nicht
VALIDATION_ERROR 422 Ungueltige Anfragedaten
RATE_LIMITED 429 Zu viele Anfragen
INTERNAL_ERROR 500 Serverfehler

Naechste Schritte

Die vollstaendige API-Dokumentation finden Sie unter /docs/api.

API-Schluessel erhalten ->

Invoicing, simplified

Create professional invoices in minutes.

Build clean invoices, send them instantly, and keep a searchable history for tracking payments and client records.

Start free

Keep reading

Related guides to help you streamline invoicing operations.