Rechnungen für no-code und KI-App-Builder
KI-Baukästen wie Lovable, Bolt, Replit oder v0 bauen deine App und binden Stripe an, erstellen aber keine rechtssichere E-Rechnung. Rechnungskit schließt die Lücke über eine REST-API: In der serverseitigen Funktion, die dein Baukasten für den Stripe-Webhook anlegt, meldest du die Bestellung mit einem API-Aufruf an Rechnungskit. Sobald die Stripe-Zahlung eintrifft, entsteht automatisch eine GoBD-konforme ZUGFeRD-Rechnung nach EN 16931 mit deinem Nummernkreis, DATEV-Export und Archiv.
Ein API-Aufruf aus der serverseitigen Funktion deines Baukastens, egal ob Lovable, Bolt, Replit oder v0, und aus jedem Verkauf wird eine konforme E-Rechnung mit DATEV-Export.
Rechnungen schreiben ist einfach. Rechtssicher schreiben nicht.
Der Unterschied zwischen einem PDF und einer konformen E-Rechnung entscheidet bei der nächsten Steuerprüfung. Rechnungskit schließt genau diese Lücke.
In vier Schritten zur konformen E-Rechnung.
- 01API-Schlüssel anlegenIn Rechnungskit unter Einstellungen, API erstellst du einen Schlüssel mit der Berechtigung orders:write (und invoices:read zum Abrufen). Zum Testen nimmst du rk_test_, im Echtbetrieb rk_live_. Den Wert legst du im Secrets-Speicher deines Baukastens ab, nie im Frontend.
- 02Stripe einmal verbindenDein Baukasten nutzt deinen eigenen Stripe-Account. Denselben verbindest du einmalig in Rechnungskit unter Einstellungen, Verbinden und stellst als Verkaufsgrundlage deine API-Bestellungen ein. So ordnet Rechnungskit die Stripe-Zahlung deiner per API gemeldeten Bestellung zu. Ein Klick-Schritt, kein Code.
- 03Bestellung im Backend meldenFast jeder Baukasten legt für Stripe eine serverseitige Funktion mit Webhook an (Supabase Edge Function bei Lovable und Bolt, ein Server-Endpoint bei Replit, eine Next.js API-Route bei v0). Dort ergänzt du einen Aufruf an POST /v1/orders mit Käuferadresse, Positionen in ganzzahligen Cent und der Stripe-Zahlungsreferenz. Der Schlüssel bleibt serverseitig, der Aufruf ist ein einzelner fetch.
- 04Rechnung entsteht automatischSobald die Stripe-Zahlung bei Rechnungskit eintrifft und zur Bestellung passt, entsteht die E-Rechnung: geprüft nach EN 16931, mit korrektem Steuersatz, GoBD-archiviert, fertig für den DATEV-Export. Bei physischer Ware meldest du zusätzlich den Versand über POST /v1/fulfillments. Über GET /v1/orders/{orderNo} holst du dir die fertige Rechnung zurück.
Dein Baukasten baut die App, aber nicht die Rechnung
KI-Baukästen wie Lovable, Bolt, Replit oder v0 bauen dir in Stunden eine App und binden Stripe an. Was danach fehlt, merkst du erst, wenn das Finanzamt oder deine Steuerkanzlei fragt: Diese Tools erzeugen eine Zahlung, aber keine Rechnung im deutschen Rechtssinn. Kein strukturierter Beleg nach EN 16931, kein GoBD-Archiv, keine Umsatzsteuerlogik nach Land, kein DATEV-Export. Das alles selbst nachzubauen, ist genau die Arbeit, die man mit einem Baukasten vermeiden wollte.
Rechnungskit schließt diese Lücke über eine REST-API, dort wo dein Baukasten die Zahlung ohnehin verarbeitet: in der serverseitigen Funktion hinter deinem Stripe-Webhook. Ein API-Aufruf, und aus dem Verkauf wird eine ZUGFeRD-Rechnung mit deinem Nummernkreis, revisionssicher archiviert und fertig für die DATEV-Buchung.
Passt dein Baukasten? Die ehrliche Übersicht
Entscheidend ist eine einzige Frage: Kann dein Baukasten einen API-Aufruf serverseitig machen (mit einem geheimen Schlüssel, der nie im Browser landet) und Stripe-Zahlungen über einen Webhook verarbeiten? Wenn ja, passt die Anbindung.
- Sehr gut geeignet, mit eigener Anleitung: Lovable und Bolt. Beide erzeugen Supabase Edge Functions plus Stripe mit Webhook, genau die Umgebung, die die Anbindung braucht.
- Sehr gut geeignet: Replit (echtes Backend plus Secrets-Speicher) und v0 von Vercel (Next.js API-Routen). Der Aufruf kommt in deinen Stripe-Webhook-Endpoint.
- Geeignet mit Backend: WeWeb zusammen mit Supabase oder Xano, außerdem Bubble (Backend-Workflows) und FlutterFlow (Cloud Functions).
- Braucht eine Zwischenschicht: reine Frontend-Baukästen wie Framer oder Softr haben kein eigenes Backend. Dort läuft der Aufruf über eine kleine serverlose Funktion (etwa Cloudflare oder Vercel), die du dazwischenschaltest.
- Eher nicht nötig: Baukästen mit eigener Rechnungsfunktion wie Wix oder Jimdo. Prüfe dort aber, ob die Belege wirklich E-Rechnungen nach EN 16931 und GoBD-konform sind.
Der Aufruf, den du ergänzt
Egal welcher Baukasten: In der Funktion, die deinen Stripe-Webhook verarbeitet, kommt im
Erfolgszweig ein fetch auf POST /v1/orders dazu. Beträge in ganzzahligen Cent, die
Stripe-Zahlungsreferenz als paymentRef, der Schlüssel aus den Secrets:
// Backend-Funktion deines Baukastens, im Stripe-Webhook nach erfolgreicher Zahlung
const res = await fetch('https://api.rechnungskit.de/v1/orders', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.RECHNUNGSKIT_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': session.id
},
body: JSON.stringify({
orderNo: session.id,
paymentRef: session.payment_intent, // pi_... aus Stripe
email: session.customer_details?.email,
billingAddress: {
name: session.customer_details?.name,
country_code: session.customer_details?.address?.country, // Pflicht für die USt
postal_code: session.customer_details?.address?.postal_code,
city: session.customer_details?.address?.city,
street: session.customer_details?.address?.line1
},
items: [{ name: 'Pro-Plan', quantity: 1, unitGrossCents: 2900, taxRate: 19 }]
})
})
Die Rechnung entsteht nicht in diesem Aufruf, sondern sobald die Stripe-Zahlung bei
Rechnungskit eintrifft und zur Bestellung passt. Ein bezahlt-Feld gibt es bewusst nicht.
Einmalige Einrichtung, ehrlich benannt
Der Code ist einfach, ein paar Dinge richtest du einmal ein:
- Stripe im Dashboard verbinden und auf API stellen (Einstellungen, Verbinden, Verkaufsgrundlage API-Bestellungen). Ein Klick-Schritt, kein Code.
- Länderkürzel mitschicken. Ohne
country_codein der Rechnungsadresse wird die Bestellung abgelehnt. - Idempotency-Key setzen. Jeder POST braucht den Header, sonst erzeugt ein doppelter Webhook zwei Bestellungen.
- Stripe-Signatur im Baukasten prüfen und bei 5xx erneut senden, dann geht keine Bestellung verloren.
Zeig deiner KI die Doku
Rechnungskit veröffentlicht eine vollständige OpenAPI-3.1-Spezifikation unter
api.rechnungskit.de/v1/openapi.json. Gib sie der KI deines Baukastens mit der Bitte, im
Stripe-Webhook nach erfolgreicher Zahlung eine Bestellung an Rechnungskit zu melden. Die
komplette Referenz mit lauffähigen Beispielen steht in der
API-Dokumentation.
Häufige Fragen zur E-Rechnung Software
Dieser Beitrag erklärt allgemeine Zusammenhänge und ist keine Steuerberatung (§ 5 StBerG). Rechnungskit richtet sich an in Deutschland ansässige Unternehmen und bereitet Belege, Steuersätze und Buchungen automatisch auf. Die steuerliche Bewertung im Einzelfall bleibt deine Entscheidung, im Zweifel gemeinsam mit deiner Steuerkanzlei.
Bereit für die E-Rechnungs-Pflicht?
Wir öffnen nach und nach und onboarden jeden Kunden persönlich. Komm auf die Warteliste, wir melden uns, sobald du dran bist.
Auf die Warteliste