Zum Inhalt springen
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
Bolts generierte Webhooks prüfen die Stripe-Signatur oft nicht sauber 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 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 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 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.
  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: Verifiziere in deiner eigenen Funktion die Stripe-Signatur des Webhooks, bevor du daraus eine Bestellung ableitest. Bolt lässt diesen Schritt in den generierten Webhooks gern aus. 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 Einstellungen, 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 Einstellungen, Verbinden, 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. Verifiziere den Webhook in deiner eigenen Funktion, bevor du die Bestellung ableitest.
  • 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

Ein bekannter Stolperstein: Von Bolt generierte Stripe-Integrationen verarbeiten die Zahlung, prüfen aber die Signatur des Webhooks nicht immer sauber, was in Produktion zu Problemen führen kann. 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. Trotzdem solltest du in deiner eigenen Bolt-Funktion die Stripe-Signatur verifizieren, bevor du daraus eine Bestellung ableitest.
Stand:

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
de