Die Sitzplatzabrechnung ermöglicht es Ihnen, Kunden basierend auf der Anzahl der benötigten Nutzer, Teammitglieder oder Lizenzen zu berechnen. Es ist das Standardpreismodell für Team-Collaboration-Tools, Enterprise-Software und B2B-SaaS-Produkte.
Implementation Tutorial
Schritt-für-Schritt-Anleitung mit Codebeispielen.
Add-ons Documentation
Erfahren Sie mehr über das Add-on-System, das die Sitzplatzabrechnung antreibt.
Subscription Management
Verwalten Sie sitzplatzbasierte Abonnements und Tarifwechsel.
Webhooks
Verfolgen Sie Sitzplatzänderungen über Abo-Webhooks.
Was ist sitzbasierte Abrechnung?
Die sitzbasierte Abrechnung (auch als nutzerbasierte oder sitzbasierte Preisgestaltung bezeichnet) berechnet Kunden basierend auf der Anzahl der Benutzer, die auf Ihr Produkt zugreifen. Anstelle einer Pauschalgebühr skaliert der Preis mit der Teamgröße.Häufige Anwendungsfälle
| Branche | Beispiel | Preisgestaltung |
|---|---|---|
| Team-Kollaboration | Slack, Notion, Asana | Pro aktiven Benutzer/Monat |
| Entwickler-Tools | GitHub, GitLab, Jira | Pro Sitz/Monat |
| CRM-Software | Salesforce, HubSpot | Pro Benutzerlizenz |
| Design-Tools | Figma, Canva | Pro Editor-Sitz |
| Sicherheitssoftware | 1Password, Okta | Pro Benutzer/Monat |
| Videokonferenzen | Zoom, Teams | Pro Host-Lizenz |
Vorteile der sitzbasierten Preisgestaltung
Für Ihr Unternehmen:- Umsatz skaliert natürlich, wenn Kunden wachsen
- Vorhersehbare Preise, die Kunden budgetieren können
- Klarer Upgrade-Pfad von Einzelpersonen zu Teams zu Unternehmen
- Höherer Lebenszeitwert, wenn Teams wachsen
- Nur für das bezahlen, was sie nutzen
- Einfach zu verstehende und vorhersehbare Kosten
- Flexibilität, Benutzer nach Bedarf hinzuzufügen/zu entfernen
- Faire Preise, die der Teamgröße entsprechen
Wie die sitzbasierte Abrechnung bei Dodo Payments funktioniert
Dodo Payments implementiert die sitzbasierte Abrechnung mit dem Add-ons-System. So funktioniert es:Architekturübersicht
Ein Team-Pro-Abonnement kostet 15/Monat pro weiterem Sitz. Zum Beispiel, wenn Ihr Team 15 Sitze benötigt:- Basisplan: $99/Monat (beinhaltet 5 Sitze)
- Add-ons: 10 zusätzliche Sitze × 150/Monat
- Gesamtkosten pro Monat: 150 = $249 für 15 Sitze
Schlüsselkomponenten
| Komponente | Zweck | Beispiel |
|---|---|---|
| Basisprodukt | Kernabonnement mit enthaltenen Sitzen | ”Team-Plan - 99 $/Monat (5 Sitze enthalten)“ |
| Sitz-Add-On | Pro-Sitz-Gebühr für zusätzliche Benutzer | ”Zusätzlicher Sitz - 15 $/Monat pro Stück” |
| Menge | Anzahl der gekauften zusätzlichen Sitze | 10 zusätzliche Sitze |
Preisstrategien
Wählen Sie die sitzbasierte Preisstrategie, die zu Ihrem Unternehmen passt:Strategie 1: Basis + Pro-Sitz-Add-On
Fügen Sie eine festgelegte Anzahl von Sitzen im Basisplan hinzu und berechnen Sie zusätzliche Sitze. Beispiel:Strategie 2: Reine Pro-Sitz-Preisgestaltung
Berechnen Sie einen Festpreis pro Sitz ohne Basisgebühr. Beispiel:Strategie 3: Gestaffelte Sitzpreisgestaltung
Verschiedene Basispläne mit unterschiedlichen Pro-Sitz-Sätzen. Beispiel:Strategie 4: Sitzpakete
Verkaufen Sie Sitze in Paketen anstelle von einzeln. Beispiel:Einrichtung der sitzbasierten Abrechnung
Schritt 1: Planen Sie Ihre Preisgestaltung
Definieren Sie vor der Implementierung Ihre Preisstruktur:Define Base Plan
Entscheiden Sie, was im Basisabonnement enthalten ist:
- Grundpreis (kann $0 für reine Sitzplatzpreise sein)
- Anzahl enthaltener Sitze
- Funktionen, die auf dieser Stufe verfügbar sind
Set Seat Pricing
Bestimmen Sie die Kosten pro zusätzlichem Sitz:
- Preis pro zusätzlichem Sitz
- Mengenrabatte (über mehrere Add-ons)
- Maximale Anzahl an Sitzen (falls zutreffend)
Schritt 2: Erstellen Sie das Sitz-Add-On
In Ihrem Dodo Payments-Dashboard:- Navigieren Sie zu Produkte → Add-Ons
- Klicken Sie auf Add-On erstellen
- Konfigurieren Sie das Add-On:
| Feld | Wert | Hinweise |
|---|---|---|
| Name | ”Zusätzlicher Sitz” oder “Teammitglied” | Klarer, benutzerfreundlicher Name |
| Beschreibung | ”Fügen Sie ein weiteres Teammitglied zu Ihrem Arbeitsbereich hinzu” | Erklären Sie, was Kunden erhalten |
| Preis | Ihr Preis pro Sitz | z.B. 10,00 $ |
| Währung | Entspricht Ihrem Basisprodukt | Muss die gleiche Währung sein |
| Steuerkategorie | Die gleiche wie das Basisprodukt | Gewährleistet eine konsistente Steuerbehandlung |
Schritt 3: Erstellen Sie das Basisabonnement
Erstellen Sie Ihr Abonnementprodukt:- Navigieren Sie zu Produkte → Produkt erstellen
- Wählen Sie Abonnement
- Konfigurieren Sie Preisgestaltung und Details
- Fügen Sie im Abschnitt Add-Ons Ihr Sitz-Add-On hinzu
Schritt 4: Fügen Sie das Add-On zum Produkt hinzu
Verknüpfen Sie das Sitz-Add-On mit Ihrem Abonnement:- Bearbeiten Sie Ihr Abonnementprodukt
- Scrollen Sie zum Abschnitt Add-Ons
- Klicken Sie auf Add-Ons hinzufügen
- Wählen Sie Ihr Sitz-Add-On aus
- Änderungen speichern
Ihr Abonnementprodukt unterstützt jetzt Sitzplatzpreise. Kunden können während des Checkouts jede gewünschte Anzahl zusätzlicher Sitze erwerben.
Verwaltung von Sitzen
Hinzufügen von Sitzen zu neuen Abonnements
Beim Erstellen einer Checkout-Sitzung geben Sie die Sitzanzahl an:Ändern der Sitzanzahl bei bestehenden Abonnements
Verwenden Sie die Change Plan API, um die Sitze anzupassen:Entfernen von Sitzen
Um die Sitzanzahl zu reduzieren, geben Sie die niedrigere Menge an:Entfernen aller zusätzlichen Sitze
Übergeben Sie ein leeres Add-ons-Array, um alle Add-Ons zu entfernen:Pro-Rata-Abrechnung für Sitzänderungen
Wenn Kunden während des Abrechnungszyklus Sitze hinzufügen oder entfernen, bestimmt die Pro-Rata-Abrechnung, wie sie abgerechnet werden.Proration Modes
| Modus | Hinzufügen von Sitzen | Entfernen von Sitzen |
|---|---|---|
prorated_immediately | Berechnen Sie die restlichen Tage im Zyklus | Gutschrift für ungenutzte Tage |
difference_immediately | Volle Sitzpreis berechnen | Gutschrift für zukünftige Verlängerungen |
full_immediately | Volle Sitzpreis berechnen, Abrechnungszyklus zurücksetzen | Keine Gutschrift |
Proration Examples
Szenario: 15 Tage verbleibender Abrechnungszyklus, 5 Sitze zu je $10 hinzufügen- prorated_immediately
- difference_immediately
- full_immediately
Vorschau vor Änderungen
Zeigen Sie die Proration immer vor Änderungen in der Vorschau an:Sitzplätze mit Webhooks verfolgen
Überwachen Sie Sitzplatzänderungen, indem Sie auf Abonnement-Webhooks hören:Relevante Ereignisse
| Ereignis | Auslösezeitpunkt | Anwendungsfall |
|---|---|---|
subscription.active | Neues Abonnement aktiviert | Initiale Sitze bereitstellen |
subscription.plan_changed | Sitze hinzugefügt/entfernt | Aktualisieren Sie die Sitzanzahl in Ihrer App |
subscription.renewed | Abonnement verlängert | Bestätigen Sie, dass sich die Sitzanzahl nicht geändert hat |
subscription.cancelled | Abonnement gekündigt | Alle Sitze freigeben |
Beispiel für einen Webhook-Handler
Durchsetzen von Sitzplatzlimits
Ihre Anwendung muss Sitzplatzlimits durchsetzen. Dodo Payments übernimmt die Abrechnung, aber Sie steuern den Zugriff.Durchsetzungsstrategien
- Hard Limit
- Soft Limit with Warning
- Auto-Upgrade
Verhindern Sie strikt, dass Benutzer über die Sitzplatzanzahl hinaus hinzugefügt werden.
Erweiterte Muster
Unterschiedliche Sitzplatztypen
Bieten Sie verschiedene Sitzplatztypen mit unterschiedlichen Preisen an:Jährliche Sitzplatzrabatte
Bieten Sie rabattierte jährliche Sitzplatzpreise an:Mindestsitzplatzanforderungen
Erfordern Sie eine Mindestanzahl an Sitzen für bestimmte Pläne:Best Practices
Best Practices für die Preisgestaltung
- Klare Kommunikation: Zeigen Sie die Preisgestaltung pro Sitzplatz deutlich auf Ihrer Preisseite an
- Enthaltene Sitze: Ziehen Sie in Betracht, einige Sitze im Grundpreis einzuschließen, um Reibungsverluste zu reduzieren
- Mengenrabatte: Bieten Sie niedrigere Sitzpreise für größere Teams, um Enterprise-Deals zu gewinnen
- Jährliche Anreize: Rabattieren Sie Jahrespläne, um Cashflow und Bindung zu verbessern
- Echtzeit-Feedback: Zeigen Sie die sofortige Kostenwirkung beim Anpassen von Sitzen an
- Bestätigungsschritte: Fordern Sie eine Bestätigung an, bevor Änderungen an der Abrechnung vorgenommen werden
- Transparenz bei der Pro-Rata-Abrechnung: Erklären Sie die pro-rata Gebühren klar, bevor Sie sie anwenden
- Einfache Downgrades: Machen Sie es nicht schwierig, die Sitze zu reduzieren (das schafft Vertrauen)
Technische Best Practices
- Sitzanzahlen cachen: Speichern Sie Sitzanzahlen lokal im Cache, um API-Aufrufe bei jeder Anfrage zu vermeiden
- Regelmäßig synchronisieren: Synchronisieren Sie regelmäßig Ihre lokale Sitzanzahl über die API mit Dodo Payments
- Fehler behandeln: Wenn eine Sitzplatzänderung fehlschlägt, zeigen Sie klare Fehlermeldungen und Wiederholungsoptionen an
- Audit-Trail: Protokollieren Sie alle Sitzplatzänderungen für Abrechnungsstreitigkeiten und Compliance
Fehlersuche
Best Practices für die Benutzererfahrung
- Echtzeit-Feedback: Zeigen Sie sofortige Kostenfolgen beim Anpassen von Sitzen
- Bestätigungsschritte: Fordern Sie eine Bestätigung an, bevor Abrechnungsänderungen vorgenommen werden
- Transparenz bei Proration: Erklären Sie proratisierte Gebühren deutlich, bevor Sie sie anwenden
- Einfache Downgrades: Gestalten Sie das Reduzieren von Sitzen nicht schwierig (das schafft Vertrauen)
- Webhook nicht empfangen oder verarbeitet
- Race Condition während der Sitzänderung
- Zwischengespeicherte Daten nicht aktualisiert
Fehlerbehebung
Seat count mismatch between app and billing
Seat count mismatch between app and billing
Symptom: Ihre App zeigt eine andere Sitzanzahl als das Abonnement.Ursachen:
- Webhook wurde nicht empfangen oder verarbeitet
- Race Condition während der Sitzplatzänderung
- Zwischengespeicherte Daten nicht aktualisiert
- Implementieren Sie Webhook-Handler für
subscription.plan_changed - Fügen Sie eine Schaltfläche “Mit Abrechnung synchronisieren” hinzu, die das aktuelle Abonnement abruft
- Setzen Sie die Cache-TTL, um regelmäßige Aktualisierungen sicherzustellen
Proration charges unexpected
Proration charges unexpected
Symptom: Kunde ist vom Betrag der mid-cycle-Abrechnung verwirrt.Ursachen:
- Der Prorationsmodus wurde nicht klar kommuniziert
- Der Kunde hat die Vorschau vor Bestätigung nicht gesehen
- Verwenden Sie stets
previewChangePlan, bevor Sie Änderungen vornehmen - Zeigen Sie eine klare Aufschlüsselung: „Das Hinzufügen von X Sitzen = $Y heute (proratisiert für Z Tage)”
- Dokumentieren Sie Ihre Prorationsrichtlinie im Help Center
Add-on not appearing in checkout
Add-on not appearing in checkout
Symptom: Sitzplatz-Add-on ist während des Checkouts nicht verfügbar.Ursachen:
- Add-on ist nicht an das Produkt gebunden
- Add-on archiviert oder gelöscht
- Währungsinkongruenz zwischen Produkt und Add-on
- Vergewissern Sie sich, dass das Add-on in den Produkteinstellungen angehängt ist
- Überprüfen Sie den Add-on-Status im Add-Ons-Dashboard
- Stellen Sie sicher, dass die Währungen exakt übereinstimmen
Cannot reduce seats below current usage
Cannot reduce seats below current usage
Symptom: Kunde möchte Sitze reduzieren, hat aber zugewiesene Benutzer.Lösungen:
- Zeigen Sie, welche Benutzer entfernt werden müssen, bevor Sitze reduziert werden
- Implementieren Sie einen Workflow: Benutzer entfernen → Sitze reduzieren
- Ziehen Sie eine Kulanzfrist in Betracht, bevor die Sitzplatzreduzierung durchgesetzt wird