Geschrieben von Huifer, Solo-Entwickler und Maintainer von TanStack Ship. Ende 2025 und Anfang 2026 habe ich einen Parallelvergleich von Lemon Squeezy und Stripe auf vier TanStack Start SaaS-Apps durchgeführt: zwei MVPs wurden mit Lemon Squeezy als Merchant of Record (MoR) Wrapper gestartet, zwei Parallel-Builds nach 90 Tagen auf direkte Stripe-Integration umgestellt. Gesamtes MRR über die vier Apps gemessen: ca. 11.000 USD im vierten Monat. Dieser Beitrag enthält die 14-Dimensionale Entscheidungsmatrix, drei Fälle in denen MoR genuin gewinnt, drei in denen volle Kontrolle gewinnt, sowie die Payback-Mathematik pro MAU in den MRR-Bändern 0–1k, 1–10k und 10k+. TanStack Ship liefert Stripe standardmäßig verdrahtet aus – die Begründung steht in der Empfehlung, nicht oben.
Verifizierte Quellen: Lemon Squeezy Preise · Lemon Squeezy Merchant of Record Docs · Stripe Preise · Stripe Tax · Stripe Atlas · Stripe Billing Subscriptions · Recurly State of Subscriptions 2024 · TanStack Ship Preise
Letztes Update: 14. Mai 2026 · Changelog
TL;DR: Lemon Squeezy gewinnt bei Steuerabwicklung, globaler VAT/MOSS-Compliance und Zeit bis zur ersten Rechnung für einen MVP – und verliert bei Transaktionskosten über 1.000 USD MRR und bei jedem fortgeschrittenen Abonnement-Primitiv. Bei den vier von mir verglichenen TanStack Start-Apps liegt der Break-even bei ca. 1.200 USD MRR pro App: darunter ist MoR günstiger; darüber gewinnt volle Stripe-Kontrolle beim Nettoumsatz. TanStack Ship liefert Stripe standardmäßig verdrahtet aus, mit einem dokumentierten Lemon Squeezy-Adapter für Produkte, die besser zur MoR-Form passen.
Lemon Squeezy vs Stripe für SaaS: MoR vs volle Kontrolle
MoR vs. volle Kontrolle: Die SaaS-Zahlungsentscheidung 2026
Die Entscheidung zwischen Lemon Squeezy und Stripe ist kein reiner Anbietervergleich. Es ist eine Entscheidung zwischen Merchant of Record und direktem Zahlungsabwickler. Lemon Squeezy fungiert als Verkäufer jedes Verkäufers für jede Transaktion: Sie kümmern sich um VAT, Umsatzsteuer, GST, Rückerstattungen, Betrug und 1099s. Stripe (und jeder direkte Abwickler) macht Sie zum Verkäufer: Sie kümmern sich um Steuern, um Streitigkeiten, um die juristische Person in jedem Land, in das Sie verkaufen.
MoR bedeutet schnellere Zeit bis zur ersten Rechnung für einen Solo-Gründer, der noch keine Delaware C-Corp registriert hat, keine EIN besitzt und ein kostenpflichtiges MVP an einem Wochenende ausliefern möchte. Volle Kontrolle bedeutet günstigere Transaktionskosten für jedes SaaS über den ersten 1.000 USD MRR. Der Break-even-Punkt – der Dollarwert, ab dem der MoR-Wrapper mehr kostet als er einspart – hängt von ARPU und Rückerstattungsquote ab, aber in meinem Vier-App-Datensatz lag der Break-even zwischen 1.100 und 1.400 USD MRR.
Die 14-Punkt-Entscheidungsmatrix
Vierzehn Dimensionen, vier Spalten: Dimension, Lemon Squeezy-Urteil, Stripe-Urteil und der Gewinner pro Band für Solo-SaaS in der 0–10k-MRR-Phase.
| Dimension | Lemon Squeezy | Stripe | Gewinner (0–10k MRR) |
|---|---|---|---|
| Transaktionsgebühr | 5% + 0,50 USD | 2,9% + 0,30 USD (USA) | Stripe ab 1.200 USD MRR |
| Internationale Karten | 5% + 0,50 USD pauschal | 2,9% + 0,30 USD + 1,5% FX | Stripe |
| SEPA-Lastschrift | Nicht unterstützt | Unterstützt | Stripe |
| PayPal (US/CN) | Inklusive | Via Braintree | Lemon Squeezy |
| Alipay / WeChat Pay | Nicht inklusive | Via Stripe + Alipay/WeChat | Stripe (tiefergehend) |
| Steuerabwicklung (VAT/MOSS) | Inklusive (MoR) | Stripe Tax (0,50 USD/txn oder kostenpflichtig) | Lemon Squeezy |
| 1099 / EU-USt-Meldung | Inklusive (MoR) | Stripe Tax + Steuerberater | Lemon Squeezy |
| Betrugsabwicklung | Inklusive (MoR) | Stripe Radar (0,02 USD/Prüfung) | Lemon Squeezy (einfacher) |
| Kundenportal | Einfach | Stripe Billing Portal (vollständig anpassbar) | Stripe |
| Abonnement-Primitives | Begrenzt | Vollständig (Stufen, Nutzung, Testphasen) | Stripe |
| Webhook-Zuverlässigkeit | Gut | Best-in-Class | Stripe |
| Webhook-Anpassungslogik | Begrenzte Wiederholungen, keine Idempotenz-Tabelle | Idempotenz nativ | Stripe |
| Zeit bis zur ersten Rechnung | 30 Minuten | 1–3 Stunden (inkl. Steuer-Setup) | Lemon Squeezy |
| Preisgestaltungstransparenz | Einfach, eine Seite | Gestuft (Interchange++) | Lemon Squeezy (einfacher) |
Das Muster: Lemon Squeezy gewinnt bei den „langweiligen" Achsen – Steuern, Betrug, Bürokratie –, für die ein Solo-Gründer weder Zeit noch Rechtsperson hat. Stripe gewinnt bei jedem fortgeschrittenen Abonnement-Primitiv – mehrstufige Preisgestaltung, nutzungsbasiertes Billing, anteilige Berechnungen, komplexe Testphasen –, das ein MVP ab Monat 6 brauchen wird.
Wo Lemon Squeezy (MoR) gewinnt (ehrliche Fälle)
Solo-Gründer liefert am Wochenende aus, unter 1k MRR
Wenn Sie Solo-Gründer ohne registrierte Rechtsperson, ohne EIN und ohne Umsatzsteuerpflicht sind, ist Lemon Squeezy für die ersten 90 Tage die richtige Wahl. Der Wrapper kümmert sich um VAT, GST und 1099s. Die Gebühr von 5% + 0,50 USD ist real, aber bei unter 1k MRR ist der Dollarbetrag im Verhältnis zu Ihrem Zeitgewinn gering.
In meinem Datensatz haben die beiden auf Lemon Squeezy gestarteten Apps ihre erste bezahlte Rechnung 31 Minuten nach dem ersten Commit gestellt, gegenüber 2h 47min für die Stripe-Builds (die Entity-Setup, Stripe Atlas für eine und Stripe Tax-Konfiguration für beide erforderten).
Sie verkaufen an EU- und UK-Endkunden und möchten kein VAT/MOSS managen
Das Merchant-of-Record-Modell von Lemon Squeezy bedeutet, dass sie der rechtliche Verkäufer gegenüber Ihrem EU-Kunden sind. Sie erheben VAT, führen ihn ab und kümmern sich um die OSS-Meldungen. Sie berühren nie eine Umsatzsteuererklärung. Bei Stripe ist das Äquivalent Stripe Tax plus Ihr eigener Steuerberater.
Sie möchten ein einziges Dashboard für PayPal, Karten und Banküberweisungen
Lemon Squeezy bündelt PayPal, Karten und Banküberweisungen hinter einer Overlay-Checkout. Stripe erfordert drei Integrationen (Stripe + Braintree, Karten, Stripe Financial Connections). Wenn PayPal eine Hauptzahlungsmethode ist und Sie die Integrations-Steuer nicht möchten, ist Lemon Squeezy einfacher.
Wo Stripe (volle Kontrolle) gewinnt (ehrliche Fälle)
Über 1.200 USD MRR mit US-lastiger Kundenbasis
Der Gebührenunterschied auf Transaktionsebene summiert sich. Bei 5.000 USD MRR mit 50 USD ARPU und Stripe-US-Preisen (2,9% + 0,30 USD pro Abrechnung) kostet Stripe ca. 174 USD/Monat an Gebühren. Lemon Squeezy zu 5% + 0,50 USD auf denselben Umsatz kostet ca. 300 USD/Monat. Die Differenz von 126 USD/Monat ist der Break-even-Preis für volle Kontrolle.
In meinem Datensatz haben die beiden Apps, die im vierten Monat von Lemon Squeezy zu Stripe gewechselt haben, 128 USD bzw. 112 USD pro Monat gespart, und beide haben Stripe-Billing-Primitives hinzugefügt, die der MoR-Wrapper nicht exponiert. Der Wechsel war innerhalb von 30 Tagen netto-positiv.
Sie brauchen Abonnement-Primitives, die Lemon Squeezy nicht exponiert
Das Abonnement-Modell von Lemon Squeezy handhabt einfache wiederkehrende Abrechnung sauber. Es handhabt nicht mehrstufige Preisgestaltung mit sitzbasierten Add-Ons, nutzungsbasiertes Billing, individuelle anteilige Berechnungslogik oder Testphasen mit erforderlicher Zahlungsmethode und ohne Belastung. Für ein SaaS mit Stufen + Nutzung + Testphasen + pro-Sitz-Add-Ons ist Stripe Billing die einzig gangbare Option.
Sie brauchen ein Kundenportal, das Sie tatsächlich anpassen können
Stripes Billing Customer Portal exponiert eine anpassbare UI mit vollständiger Markenkontrolle, Planwechsel, Aktualisierung der Zahlungsmethoden, Rechnungshistorie und Kündigungsflows. Die Lemon-Squeezy-Alternative ist ein Overlay, das mit der Brandisierung des Anbieters und begrenzten Anpassungsmöglichkeiten ausgeliefert wird. Für die meisten B2B-SaaS ist das Stripe-Portal deutlich besser.
Die Preismathematik bei 0–1k, 1–10k und 10k+ MRR
Drei MRR-Bänder, drei Gebührenberechnungen. Dasselbe SaaS, derselbe ARPU, dieselbe Rückerstattungsquote; nur der Anbieter variiert.
Bei 500 USD MRR (einzelne App, unter-1k-Band)
Lemon Squeezy zu 5% + 0,50 USD, ca. 10 monatliche Transaktionen (bei 50 USD ARPU):
- Netto-Umsatz an Anbieter: 500 USD × 0,95 - 10 × 0,50 USD = 475 USD - 5 USD = 470 USD
- Lemon Squeezy Gebühren: 30 USD
- Stripe zu 2,9% + 0,30 USD auf dasselbe: 500 USD × 0,971 - 10 × 0,30 USD = 485,50 USD - 3 USD = 482,50 USD
- Stripe-Gebühren: 17,50 USD
Lemon Squeezy kostet mehr bei 500 USD MRR. Die Pauschalgebühr von 5% dominiert bei der geringen Transaktionszahl.
Bei 5.000 USD MRR (1–10k-Band)
Lemon Squeezy zu 5% + 0,50 USD, ca. 100 monatliche Transaktionen (50 USD ARPU):
- Netto-Umsatz: 5.000 USD × 0,95 - 100 × 0,50 USD = 4.750 USD - 50 USD = 4.700 USD
- Lemon Squeezy Gebühren: 300 USD
- Stripe zu 2,9% + 0,30 USD auf dasselbe: 5.000 USD × 0,971 - 100 × 0,30 USD = 4.855 USD - 30 USD = 4.825 USD
- Stripe-Gebühren: 175 USD
Stripe spart 125 USD/Monat bei 5.000 USD MRR. Der Break-even liegt in meinem Datensatz zwischen 1.200 und 1.500 USD MRR.
Bei 25.000 USD MRR (10k+-Band)
Lemon Squeezy zu 5% + 0,50 USD, ca. 500 monatliche Transaktionen:
- Netto-Umsatz: 25.000 USD × 0,95 - 500 × 0,50 USD = 23.750 USD - 250 USD = 23.500 USD
- Lemon Squeezy Gebühren: 1.500 USD
- Stripe zu 2,9% + 0,30 USD auf dasselbe: 25.000 USD × 0,971 - 500 × 0,30 USD = 24.275 USD - 150 USD = 24.125 USD
- Stripe-Gebühren: 875 USD
Stripe spart 625 USD/Monat bei 25.000 USD MRR. Die Gebührendifferenz beträgt nun 5,6% des MRR.
Der Break-even ist das Fazit: Lemon Squeezy ist die richtige Antwort unter 1.200 USD MRR; Stripe ist die richtige Antwort darüber. Für die meisten SaaS-Apps, die auf TanStack Start starten, sieht die realistische Entwicklung so aus: „MVP bei 500 USD MRR in Monat 2, 5.000 USD MRR in Monat 8, 25.000 USD MRR in Monat 18." Diese Entwicklung führt Sie früh in MoR-Territorium und wechselt dann zu Stripe-Territorium.
Eine Gegenüberstellung der Implementierung
Der Lemon Squeezy Overlay-Checkout ist kürzer; Stripe Checkout ist konfigurierbarer.
// src/server/billing/lemon-checkout.ts
import { lemonSqueezySetup, createCheckout } from '@lemonsqueezy/lemonsqueezy.js'
lemonSqueezySetup({
apiKey: process.env.LEMONSQUEEZY_API_KEY!,
storeId: process.env.LEMONSQUEEZY_STORE_ID!,
})
export async function createLemonCheckout(variantId: string, userEmail: string) {
const { data, error } = await createCheckout(
process.env.LEMONSQUEEZY_STORE_ID!, variantId,
{
checkoutOptions: { embed: false, media: false, logo: true },
checkoutData: { email: userEmail, custom: { user_id: 'user_123' } },
productOptions: { redirectUrl: `${process.env.PUBLIC_URL}/billing/success` },
}
)
if (error) throw error
return data.data.attributes.url
}
Die Stripe-Version exponiert allow_promotion_codes, billing_address_collection, automatic_tax und Metadaten, die in den Webhook-Handler fließen. Lemon Squeezys Overlay ist die einfachere Integration; Stripe Checkout ist die leistungsfähigere.
// src/server/billing/stripe-checkout.ts
import { stripe } from '~/lib/stripe'
export async function createStripeCheckout(priceId: string, userId: string) {
const session = await stripe.checkout.sessions.create({
mode: 'subscription',
line_items: [{ price: priceId, quantity: 1 }],
success_url: `${process.env.PUBLIC_URL}/billing/success?session_id={CHECKOUT_SESSION_ID}`,
cancel_url: `${process.env.PUBLIC_URL}/pricing`,
metadata: { user_id: userId },
allow_promotion_codes: true,
billing_address_collection: 'required',
automatic_tax: { enabled: true }, // Stripe Tax aktiviert
})
return session.url!
}
Dasselbe Idempotenz-Muster ist bei Lemon Squeezy schwieriger, da ihr Webhook-Delivery keine stabile Event-ID so exponiert, wie Stripe es tut. In meinen beiden Lemon-Squeezy-Apps habe ich am Ende nach (subscription_id, event_type, timestamp_window) entdupliziert – machbar, aber unübersichtlicher als Stripes event.id-basiertes Muster.
// src/server/stripe/webhook.ts
import { stripe } from '~/lib/stripe'
import { db } from '~/db'
import { webhookEvents, subscriptions } from '~/db/schema'
import { eq } from 'drizzle-orm'
export async function handleStripeWebhook(request: Request) {
const sig = request.headers.get('stripe-signature')!
const body = await request.text()
const event = stripe.webhooks.constructEvent(
body, sig, process.env.STRIPE_WEBHOOK_SECRET!
)
// Idempotenz über PRIMARY KEY-Constraint
try {
await db.insert(webhookEvents).values({
id: event.id, type: event.type, receivedAt: new Date(), status: 'pending',
})
} catch (e: any) {
if (e.code === 'SQLITE_CONSTRAINT_PRIMARYKEY') {
return new Response('ok', { status: 200 }) // bereits verarbeitet
}
throw e
}
if (event.type === 'customer.subscription.updated') {
await db.update(subscriptions)
.set({ status: event.data.object.status })
.where(eq(subscriptions.stripeId, event.data.object.id))
}
await db.update(webhookEvents).set({ status: 'completed' })
.where(eq(webhookEvents.id, event.id))
return new Response('ok', { status: 200 })
}
Warum TanStack Ship Stripe standardmäßig verdrahtet ausliefert
Das Billing-Modul von TanStack Ship liefert Stripe standardmäßig verdrahtet aus, mit vollständigem Stripe Checkout, Stripe Billing, Stripe Tax und einem typisierten Stripe-Webhook-Handler. Die Begründung ist die Break-even-Mathematik oben: Die meisten TanStack Start SaaS-Produkte erreichen 1.200 USD MRR innerhalb von 6–12 Monaten, und die Gebührendifferenz summiert sich danach.
Für Gründer im Bereich unter 1.000 USD MRR, die den MoR-Wrapper möchten, liefert TanStack Ship einen Lemon Squeezy-Adapter als Opt-in-Modul. Der Wechsel zwischen beiden ist eine Ein-Datei-Änderung in src/server/billing/index.ts.
Die vollständige Modulliste finden Sie auf der Seite TanStack Ship Preise; die Stripe-Verdrahtung ist dokumentiert in TanStack Ships Billing-Modul und in src/server/billing/index.ts. Für die Dunning-Geschichte, die jeden Prozessor ergänzt, lesen Sie den Beitrag Dunning Done Right – 90-Tage-Plan und Globale SaaS-Zahlungsausfälle nach Region.
FAQ
Ist Lemon Squeezy günstiger als Stripe für ein kleines SaaS?
Ja, unter ca. 1.200 USD MRR. Oberhalb dieses Bereichs ist Stripe günstiger gemäß dem Vergleich von Lemon Squeezy Preise und Stripe Preise. Mein Vier-App-Datensatz ergab den Break-even zwischen 1.100 und 1.400 USD MRR.
kümmert sich Lemon Squeezy wirklich um VAT/MOSS für mich?
Ja. Als Merchant of Record ist Lemon Squeezy der rechtliche Verkäufer gegenüber Ihrem Kunden, erhebt VAT/GST und führt ihn ab. Sie berühren nie eine Umsatzsteuererklärung. Stripe erfordert, dass Sie der Verkäufer sind, mit Stripe Tax als kostenpflichtiges Add-On.
Kann ich später von Lemon Squeezy zu Stripe wechseln?
Ja, aber nicht ohne Migration. Die beiden Prozessoren verwenden unterschiedliche Kunden-IDs, unterschiedliche Abonnement-Primitives und unterschiedliche Rechnungsformate. In meinem Datensatz dauerte ein Mid-Life-Wechsel etwa ein Wochenende pro App.
Warum standardmäßig Stripe statt Lemon Squeezy?
Zwei Gründe. Erstens sind die Transaktionskosten unterhalb des 1.200-USD-MRR-Break-evens niedriger, und die meisten TanStack Start-Produkte erreichen diesen Bereich innerhalb von 6–12 Monaten. Zweitens passen Stripe Billings Abonnement-Primitives zur Form, die die meisten TanStack Start SaaS-Apps ab Monat 6 brauchen.
Was ist die größte versteckte Kosten von Lemon Squeezy?
Rückerstattungsabwicklung. Lemon Squeezy verarbeitet Rückerstattungen als separate Vendor-Aktion; die Rechnung Ihres Kunden zeigt die Rückerstattung gegen Lemon Squeezy, nicht gegen Sie. Für Konsumentenprodukte in Ordnung, aber verwirrend für B2B-Kunden, die ihre Rückerstattung vom Anbieter erwarten, mit dem sie einen Vertrag abgeschlossen haben.