Wissen / Artikel

Abo-Abrechnung fuer SaaS: wie Stripe und Subscriptions funktionieren

Wenn du eine SaaS baust, ist die Abrechnung selten das spannende Thema - aber sie entscheidet, ob am Ende Geld auf deinem Konto landet. Die gute Nachricht: Du musst kein eigenes Zahlungssystem bauen. Stripe uebernimmt die heikelsten Teile (Kreditkartendaten, wiederkehrende Abbuchungen, Sicherheit) und du baust nur die Bruecke zwischen deinem Produkt und Stripe. In diesem Artikel erklaeren wir, wie das technisch und organisatorisch wirklich funktioniert - ohne Marketing-Geraede.

Die Grundbausteine: Produkt, Preis, Subscription

Stripe denkt in drei Ebenen, die du einmal verstehen solltest, dann ergibt der Rest sich von selbst:

Dazu kommt der Customer: das Stripe-Objekt, das einen deiner Nutzer repraesentiert und an dem Zahlungsmethode und Subscriptions haengen. Die wichtigste Regel von Anfang an: Speichere die Stripe-Customer-ID in deiner eigenen Datenbank am Nutzer-Datensatz. Dann kannst du jederzeit Stripe und dein System sauber zuordnen.

So laeuft eine Abo-Buchung ab

Der heute uebliche und sicherste Weg ist Stripe Checkout - eine von Stripe gehostete Bezahlseite. Der Ablauf:

Wichtig zu verstehen: Die Rueckleitung auf deine Erfolgsseite ist kein verlaesslicher Beleg dafuer, dass bezahlt wurde. Der Nutzer koennte den Tab schliessen. Der echte Wahrheitsbeweis kommt ueber Webhooks.

Webhooks: das Herzstueck, das viele unterschaetzen

Ein Webhook ist eine Nachricht, die Stripe aktiv an deinen Server schickt, sobald etwas passiert - Zahlung erfolgreich, Zahlung fehlgeschlagen, Abo gekuendigt. Dein Server hoert an einem festen Endpunkt zu und reagiert. Das ist der einzige zuverlaessige Weg, deine Datenbank mit der Realitaet bei Stripe synchron zu halten.

Die Ereignisse, auf die es bei einer SaaS praktisch immer ankommt:

Zwei Dinge musst du dabei richtig machen: Erstens die Signatur jedes Webhooks pruefen, damit niemand dir gefaelschte Ereignisse unterschiebt. Zweitens deinen Handler idempotent bauen - Stripe kann dasselbe Ereignis mehrfach senden, und du darfst einen Nutzer deswegen nicht doppelt freischalten oder abrechnen.

Testphasen, Kuendigung und Plan-Wechsel

Subscriptions koennen eine Trial-Periode haben - etwa sieben Tage kostenlos, danach wird automatisch abgebucht. Stripe verwaltet das Datum fuer dich. Eine Kuendigung setzt du in der Regel auf cancel_at_period_end: Der Nutzer behaelt den Zugang bis zum Ende des bezahlten Zeitraums, dann laeuft das Abo aus. Ein Upgrade oder Downgrade innerhalb des Zeitraums rechnet Stripe per Proration anteilig ab, sodass niemand zu viel oder zu wenig zahlt.

Steuern, Rechnungen und der EU-Kontext

Fuer den deutschsprachigen Raum sind zwei Punkte zentral. Erstens die Umsatzsteuer: Verkaufst du an Verbraucher in der EU, gelten die Steuersaetze des Kundenlands. Stripe Tax kann das automatisch berechnen und aufschlagen. Zweitens die Starke Kundenauthentifizierung (SCA): In der EU muessen viele Kartenzahlungen per 3-D-Secure bestaetigt werden. Stripe Checkout erledigt das automatisch - ein guter Grund, nicht selbst eine Bezahlmaske zu bauen. Rechnungen erzeugt Stripe ebenfalls; ob sie deinen formalen Anforderungen genuegen, solltest du mit deiner Steuerberatung kurz abgleichen.

Was wir aus der Praxis gelernt haben

Wir betreiben sieben eigene Marken in Produktion, mehrere davon mit Abo- oder Bezahlmodellen ueber Stripe. Die wiederkehrenden Stolpersteine sind selten die Anbindung selbst, sondern die Edge-Cases: fehlgeschlagene Folgezahlungen, doppelt verarbeitete Webhooks, Nutzer die im Stripe-Dashboard gekuendigt werden aber in deiner DB noch aktiv stehen. Ein ehrlicher Rat: Fang einfach an. Ein einziger Plan, monatliche Abrechnung, Checkout und drei sauber behandelte Webhook-Ereignisse reichen fuer den Start vollkommen. Komplexe Mengen-Tarife, Gutscheine und nutzungsbasierte Abrechnung kannst du spaeter ergaenzen, wenn echte Kunden danach fragen - nicht vorher.

Brauchst du selbst eine Website, ein Tool oder eine SaaS?

Wir bauen sie zum Festpreis - vom Team, das sieben eigene Marken live betreibt. Klarer Scope, klarer Preis, klarer Zeitrahmen.

Projekt startenLeistungen & Preise

Wenn Zahlungen fehlschlagen: Dunning und Wiederholung

Karten laufen ab, Limits sind erreicht, Banken lehnen einzelne Buchungen ohne erkennbaren Grund ab - fehlgeschlagene Folgezahlungen gehören bei jedem Abo-Modell zum Alltag, nicht zur Ausnahme. Stripe wiederholt eine fehlgeschlagene Abbuchung automatisch nach einem festen Rhythmus, den du in den Einstellungen anpassen kannst, und schickt dem Kunden parallel eine E-Mail mit der Bitte, die Zahlungsmethode zu aktualisieren. Erst wenn alle Versuche scheitern, markiert Stripe die Subscription als überfällig oder storniert sie, je nachdem, wie du das eingerichtet hast.

Für dich als Betreiber bedeutet das: Du solltest auf das Ereignis reagieren, das eine Zahlung als endgültig gescheitert meldet, und dann den Zugang sauber sperren - nicht sofort beim ersten Fehlschlag, sonst verlierst du zahlungswillige Kunden wegen einer einzelnen abgelehnten Karte. Viele SaaS-Betreiber unterschätzen, wie viel Umsatz allein durch vernünftig konfigurierte Wiederholungsversuche und freundliche Erinnerungsmails gerettet wird, bevor ein Kunde überhaupt aktiv kündigen müsste. Baue dir zusätzlich eine einfache Übersicht über Zahlungen im überfälligen Status, damit du bei wiederkehrenden Problemen einzelner Kunden auch von Hand nachfassen kannst, statt dich allein auf die automatischen Erinnerungen zu verlassen.

Das Customer Portal: Selbstverwaltung ohne eigene Oberfläche

Eine eigene Verwaltungsseite zu bauen, auf der Kunden ihre Zahlungsmethode ändern, Rechnungen herunterladen oder ihr Abo kündigen können, kostet Zeit, die du am Anfang meist nicht hast. Stripe liefert dafür das Customer Portal: eine gehostete Seite, die du mit wenigen Zeilen Code verlinken kannst und auf der Kunden genau diese Aufgaben selbst erledigen. Du legst fest, was erlaubt ist - etwa ob ein Wechsel zwischen Plänen möglich ist oder ob eine Kündigung sofort oder erst zum Periodenende wirkt - und Stripe übernimmt den Rest, inklusive Design und mobiler Darstellung.

Für kleine Teams ist das oft die pragmatischste Lösung: Du sparst dir eine ganze Kategorie von Support-Anfragen, weil Kunden ihre Zahlungsdaten selbst korrigieren können, statt dir eine E-Mail zu schreiben und auf eine manuelle Änderung zu warten. Vor allem in der Anfangsphase, wenn noch niemand im Team fest für Abrechnung zuständig ist, macht dieser eine Baustein einen spürbaren Unterschied im täglichen Aufwand. Ergänzend solltest du beim Einrichten des Portals genau festlegen, welche Aktionen ein Kunde ohne Rückfrage ausführen darf und welche eine Bestätigung von dir brauchen, damit niemand versehentlich Zugriff auf Konditionen bekommt, die du nur intern anbieten wolltest.

Häufig gestellte Fragen

Brauche ich für Stripe eine Gewerbeanmeldung oder reicht ein Privatkonto?

Stripe erfordert ein Geschäftskonto mit Angaben zu deinem Unternehmen; ein reines Privatkonto reicht für laufenden Geschäftsbetrieb nicht aus. Bei der Einrichtung hinterlegst du deine Unternehmensdaten und ein Bankkonto, auf das ausgezahlt wird.

Wie schnell bekomme ich mein Geld ausgezahlt?

Stripe zahlt in einem festen, im Dashboard einsehbaren Rhythmus aus. Wie lange es konkret dauert, hängt vom Land deines Kontos und deinem Auszahlungsstatus ab, deshalb lohnt sich ein Blick direkt in die Kontoeinstellungen.

Kann ich mehrere Preismodelle gleichzeitig anbieten?

Ja. Produkt und Preis sind in Stripe getrennte Objekte, du kannst einem Produkt beliebig viele Preise zuordnen - monatlich, jährlich, mit oder ohne Testphase. Ein Nutzer wählt bei der Buchung genau einen dieser Preise.

Was passiert, wenn ein Kunde mitten im Monat kündigt?

Üblicherweise setzt du eine Kündigung auf das Ende der laufenden Periode: Der Zugang bleibt bis dahin bestehen, danach läuft das Abo automatisch aus. Eine sofortige Kündigung mit anteiliger Rückerstattung ist ebenfalls möglich, wird aber seltener genutzt.

Brauche ich zwingend Stripe Tax für die Umsatzsteuer?

Nein, es ist eine optionale Zusatzfunktion. Ohne sie musst du Steuersätze selbst pflegen und korrekt zuordnen, mit Stripe Tax übernimmt Stripe diese Berechnung automatisch anhand des Kundenlands.

Wie teste ich die Integration, ohne echtes Geld zu bewegen?

Stripe stellt einen vollständigen Testmodus mit eigenen Test-Kreditkarten bereit, mit denen sich erfolgreiche Zahlungen, Ablehnungen und Webhook-Ereignisse gefahrlos durchspielen lassen, bevor du auf den Livemodus umschaltest.

Was unterscheidet Stripe Checkout von Stripe Elements?

Checkout ist eine fertige, von Stripe gehostete Bezahlseite mit wenig Aufwand für dich. Elements sind einzelne UI-Bausteine, die du in deine eigene Seite einbettest - mehr Gestaltungsfreiheit, aber auch mehr Aufwand bei Umsetzung und Sicherheit.