Zum Inhalt springen
Rechnungskit
E-Rechnung Software · made in Germany

Rechnungen für deine Bolt-App

Bolt (bolt.new) baut deine App und bindet Stripe per Ein-Klick an, erstellt aber keine rechtssichere E-Rechnung. Rechnungskit schließt die Lücke: In der Supabase Edge Function, die Bolt für deine Stripe-Webhooks anlegt, schickst 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 Supabase Edge Function, die Bolt ohnehin für deine Stripe-Webhooks generiert, und aus jedem Verkauf deiner Bolt-App wird eine konforme E-Rechnung mit DATEV-Export.

Keine Kreditkarte · Anbindung in unter einer Stunde · persönliches Onboarding
Deine Bolt-App
Espresso-Set Stripe Checkout · bezahlt
49,00 €
POST /v1/orders
RE-2026-0517 E-Rechnung erzeugt
Espresso-Set 41,18 €
Leistungsdatum = Versandtag · zzgl. 19 % USt
ZUGFeRD nach EN 16931 · GoBD-archiviert
Versanddatum aus /v1/fulfillments (§ 13 UStG)
DATEV-Export · Steuersatz je EU-Land
Die Lücke

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.

Ohne RechnungskitMit Rechnungskit
Bolt macht dir schnell Checkout und Stripe-Webhook, aber keine Rechnung ein API-Aufruf im Webhook, die Rechnung entsteht automatisch
E-Rechnung nach EN 16931, GoBD-Archiv und Umsatzsteuerlogik fehlen jede Zahlung wird zur ZUGFeRD-Rechnung mit deinem eigenen Nummernkreis
generierten Webhook-Code, etwa die Prüfung der Stripe-Signatur, kontrollierst du selbst Rechnungskit prüft die Signatur beim eigenen Eingang selbst, sauber
kein fertiger DATEV-Export für deine Steuerkanzlei GoBD-Archiv und fertiger DATEV-Export, ohne eigene Buchhaltungslogik
So funktioniert es

In vier Schritten zur konformen E-Rechnung.

  1. 01
    API-Schlüssel anlegen
    In Rechnungskit unter Verbindungen → 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 in Bolt bzw. Supabase als Secret ab, nie im Frontend.
  2. 02
    Stripe einmal verbinden
    Deine Bolt-App nutzt deinen eigenen Stripe-Account. Denselben Account verbindest du einmalig in Rechnungskit unter Verbindungen → Connect 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.
  3. 03
    Bestellung aus der Edge Function melden
    Bolt legt für Stripe eine Supabase Edge Function mit Webhook-Verarbeitung an (Zahlungen, Abos, Erstattungen). Genau 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.
  4. 04
    Rechnung entsteht automatisch
    Sobald 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, damit das Leistungsdatum stimmt. Über GET /v1/orders/{orderNo} holst du dir die fertige Rechnung zurück.

Bolt baut den Checkout, aber nicht die Rechnung

Mit Bolt baust du in Minuten eine App und schaltest Stripe per Ein-Klick frei, inklusive Webhook-Verarbeitung für Zahlungen und Abos. Was danach fehlt: Bolt erzeugt eine Zahlung, aber keine Rechnung im deutschen Rechtssinn. Kein strukturierter Beleg nach EN 16931, kein GoBD-Archiv, keine Umsatzsteuerlogik nach Land, kein DATEV-Export.

Diese Lücke schließt Rechnungskit genau dort, wo Bolt die Zahlung ohnehin verarbeitet: in der Supabase Edge Function 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.

Warum Bolt besonders gut passt

Bolt generiert eine echte Full-Stack-App: React-Frontend plus serverseitige Funktionen auf Basis von Supabase Edge Functions, dazu die native Stripe-Anbindung mit Webhooks. Das ist genau die Umgebung, die die Anbindung braucht: eine serverseitige Funktion, in der dein API-Schlüssel sicher liegt und in der du beim erfolgreichen Checkout einen Aufruf an Rechnungskit ergänzt. Du baust also keine neue Infrastruktur, sondern nutzt die, die Bolt schon angelegt hat.

Der Aufruf, den du ergänzt

In der Edge Function, 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:

// Supabase Edge Function (Bolt), im Stripe-Webhook nach erfolgreicher Zahlung
const res = await fetch('https://api.rechnungskit.de/v1/orders', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${Deno.env.get('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 }]
  })
})

Ein wichtiger Hinweis zu Bolt: Prüf, ob deine Funktion die Stripe-Signatur des Webhooks verifiziert, bevor sie daraus eine Bestellung ableitet. Laut Bolt-Doku erledigt die Stripe-Integration das automatisch, nach Änderungen am generierten Code lohnt der Blick trotzdem. Auf der Rechnungskit-Seite ist das abgesichert, denn Rechnungskit prüft die Signatur der Stripe-Zahlung beim eigenen Eingang selbst.

Woher kommt der API-Schlüssel?

Den Schlüssel erstellst du in Rechnungskit unter Verbindungen → API (direkt unter app.rechnungskit.de/settings/api), mit der Berechtigung orders:write. Er wird genau einmal angezeigt. Den Wert legst du in Bolt bzw. Supabase als Secret ab (zum Beispiel RECHNUNGSKIT_API_KEY), nie im Frontend, und liest ihn in der Edge Function mit Deno.env.get('RECHNUNGSKIT_API_KEY').

Einmalige Einrichtung, ehrlich benannt

Der Code ist einfach, aber ein paar Dinge richtest du einmal ein:

  • Stripe im Dashboard verbinden und auf API stellen. Deinen Stripe-Account verbindest du einmalig in Rechnungskit unter Verbindungen → Connect, Verkaufsgrundlage API-Bestellungen. Ein Klick-Schritt, kein Code.
  • Länderkürzel mitschicken. Ohne country_code in der Rechnungsadresse wird die Bestellung abgelehnt, die Umsatzsteuer lässt sich sonst nicht bestimmen.
  • Idempotency-Key setzen. Jeder POST braucht den Header, sonst erzeugt ein doppelter Webhook zwei Bestellungen. Die Stripe-Session-ID ist ein guter Wert.
  • Stripe-Signatur in Bolt prüfen. Schau nach, ob deine Funktion den Webhook verifiziert, bevor sie die Bestellung ableitet.
  • Bei 5xx erneut senden. Wiederhol den Aufruf mit etwas Abstand, 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 Bolts KI 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. Baust du deine App lieber mit Lovable, Replit oder v0? Das funktioniert genauso, siehe Rechnungen für no-code und KI-App-Builder.

FAQ

Häufige Fragen zur E-Rechnung Software

Laut Bolt prüft die Stripe-Integration die Webhook-Signatur automatisch (Bolt-Doku). Generierter Code ändert sich aber mit jedem Prompt, deshalb lohnt ein Blick in deine Edge Function: Prüft sie die Signatur mit dem Signing Secret, bevor sie eine Bestellung ableitet? Für die Anbindung an Rechnungskit ist das unkritisch, weil Rechnungskit die Signatur der Stripe-Zahlung beim eigenen Eingang selbst prüft, unabhängig von deiner Bolt-Funktion.
Stand:

Rechnungskit ist keine Steuerberatung und keine Rechtsberatung. Dieser Beitrag erklärt allgemeine Zusammenhänge und ersetzt weder die Beratung durch deine Steuerkanzlei (§ 5 StBerG) noch eine Rechtsberatung (§ 3 RDG). Rechnungskit richtet sich an in Deutschland ansässige Unternehmen und bereitet Belege, Steuersätze und Buchungen automatisch auf. Wie dein Einzelfall zu bewerten ist, entscheidest du, im Zweifel gemeinsam mit deiner Steuerkanzlei oder einer Anwaltskanzlei.

Bereit für die E-Rechnungs-Pflicht?

Konto erstellen, Zahlungsquelle verbinden, im kostenlosen Testmodus prüfen. Abgerechnet wird erst ab dem Go-Live.

Jetzt testen
de en