Sätebaserad fakturering låter dig debitera kunder baserat på antalet användare, teammedlemmar eller licenser de behöver. Det är den standardiserade prismodellen för samarbetesverktyg för team, företagsprogramvara och B2B SaaS-produkter.
Implementation Tutorial
Steg-för-steg-guide med kodexempel.
Add-ons Documentation
Lär dig om tilläggssystemet som driver sätebaserad fakturering.
Subscription Management
Hantera sätebaserade prenumerationer och planändringar.
Webhooks
Följa sätesändringar med prenumerationswebhooks.
Vad är Sätebaserad Fakturering?
Sätebaserad fakturering (även kallad prissättning per användare eller per säte) tar betalt av kunder baserat på antalet användare som får tillgång till din produkt. Istället för en fast avgift, justeras priset efter teamets storlek.Vanliga Användningsområden
| Bransch | Exempel | Prissättningsmodell |
|---|---|---|
| Teamarbete | Slack, Notion, Asana | Per aktiv användare/månad |
| Utvecklarverktyg | GitHub, GitLab, Jira | Per säte/månad |
| CRM-program | Salesforce, HubSpot | Per användarlicens |
| Designverktyg | Figma, Canva | Per redigerarsäte |
| Säkerhetsprogram | 1Password, Okta | Per användare/månad |
| Videokonferens | Zoom, Teams | Per värdlicens |
Fördelar med Sätebaserad Prissättning
För Ditt Företag:- Intäkterna växer naturligt i takt med att kunderna växer
- Förutsägbar prissättning som kunder kan budgetera för
- Tydlig uppgraderingsväg från individuell till team- till företagsnivå
- Högre livstidsvärde när teamen expanderar
- Betala endast för det de använder
- Lätt att förstå och förutsäga kostnader
- Flexibilitet att lägga till/ta bort användare vid behov
- Rättvis prissättning som matchar teamets storlek
Hur Sätebaserad Fakturering Fungerar i Dodo Payments
Dodo Payments implementerar sätebaserad fakturering med hjälp av Tillägg-systemet. Så här fungerar det:Arkitekturöversikt
En Team Pro-prenumeration kostar 99 /månad för varje extra säte. Till exempel, om ditt team behöver 15 säten:- Basplan: 99 $/månad (inkluderar 5 säten)
- Tillägg: 10 extra säten × 15 /månad
- Total månadskostnad: 99 = 249 $ för 15 säten
Nyckelkomponenter
| Komponent | Syfte | Exempel |
|---|---|---|
| Basprodukt | Kärnprenumeration med inkluderade säten | ”Teamplan - $99/månad (5 säten inkluderade)“ |
| Sätes-tillägg | Per-säte avgift för ytterligare användare | ”Extra säte - $15/månad vardera” |
| Kvantitet | Antal ytterligare säten som köpts | 10 extra säten |
Prissättningsstrategier
Välj den sätebaserade prissättningsstrategi som passar ditt företag:Strategi 1: Bas + Per-Säte Tillägg
Inkludera ett visst antal säten i basplanen, ta betalt för ytterligare säten. Exempel:Strategi 2: Ren Per-Säte Prissättning
Ta ut en fast avgift per säte utan basavgift. Exempel:Strategi 3: Trappad Sätesprissättning
Olika basplaner med olika per-säte priser. Exempel:Strategi 4: Sätespaket
Sälj säten i paket istället för individuellt. Exempel:Ställa in Sätebaserad Fakturering
Steg 1: Planera Din Prissättning
Innan implementeringen, definiera din prissättningsstruktur:Define Base Plan
Bestäm vad som ingår i basprenumerationen:
- Grundpris (kan vara 0 $ för ren per-säte-prissättning)
- Antal inkluderade säten
- Funktioner som är tillgängliga på denna nivå
Set Seat Pricing
Fastställ priset för tillägg per säte:
- Pris per extra säte
- Eventuella volymrabatter (via flera tillägg)
- Max antal säten som tillåts (om tillämpligt)
Steg 2: Skapa Sätes-Tillägget
I din Dodo Payments-instrumentpanel:- Navigera till Produkter → Tillägg
- Klicka på Skapa Tillägg
- Konfigurera tillägget:
| Fält | Värde | Anteckningar |
|---|---|---|
| Namn | ”Ytterligare Säte” eller “Teammedlem” | Tydligt, användarvänligt namn |
| Beskrivning | ”Lägg till en annan teammedlem i din arbetsyta” | Förklara vad kunderna får |
| Pris | Ditt per-säte pris | t.ex. $10.00 |
| Valuta | Matcha din basprodukt | Måste vara samma valuta |
| Skattekategori | Samma som basprodukt | Säkerställer konsekvent skattehantering |
Steg 3: Skapa Basprenumerationen
Skapa din prenumerationsprodukt:- Navigera till Produkter → Skapa Produkt
- Välj Prenumeration
- Konfigurera prissättning och detaljer
- I avsnittet Tillägg, koppla ditt sätes-tillägg
Steg 4: Koppla Tillägg till Produkt
Länka sätes-tillägget till din prenumeration:- Redigera din prenumerationsprodukt
- Bläddra till avsnittet Tillägg
- Klicka på Lägg till Tillägg
- Välj ditt sätes-tillägg
- Spara ändringar
Din prenumerationsprodukt stödjer nu sätebaserad prissättning. Kunder kan köpa valfritt antal extra säten under utcheckningen.
Hantera Säten
Lägga till Säten till Nya Prenumerationer
När du skapar en kassa-session, specificera säteskvantiteten:Ändra Antal Säten på Befintliga Prenumerationer
Använd Change Plan API för att justera säten:Ta Bort Säten
För att minska antalet säten, specificera den lägre kvantiteten:Ta Bort Alla Ytterligare Säten
Skicka en tom tilläggsarray för att ta bort alla tillägg:Proportionering för Sätesändringar
När kunder lägger till eller tar bort säten mitt under cykeln, avgör proportionering hur de faktureras.Proration Modes
| Läge | Lägga till säten | Ta bort säten |
|---|---|---|
prorated_immediately | Debitera för återstående dagar i cykeln | Kreditera för oanvända dagar |
difference_immediately | Debitera fullt sätespris | Kredit tillämpas vid framtida förnyelser |
full_immediately | Debitera fullt sätespris, återställ faktureringscykeln | Ingen kredit |
Proration Examples
Scenario: 15-dagars faktureringscykel kvar, lägga till 5 säten för 10 $/säte- prorated_immediately
- difference_immediately
- full_immediately
Preview Before Changing
Visa alltid proration innan ändringar görs:Tracking Seats with Webhooks
Övervaka sätesändringar genom att lyssna på prenumerationswebhooks:Relevant Events
| Event | När det triggas | Användningsfall |
|---|---|---|
subscription.active | Ny prenumeration aktiverad | Tilldela initiala säten |
subscription.plan_changed | Säten tillagda/borttagna | Uppdatera sätesantalet i din app |
subscription.renewed | Prenumerationen förnyas | Bekräfta att sätesantalet inte förändrats |
subscription.cancelled | Prenumerationen avslutas | Avsluta alla säten |
Webhook Handler Example
Enforcing Seat Limits
Din applikation måste upprätthålla sätesgränser. Dodo Payments spårar faktureringen, men du kontrollerar åtkomsten.Enforcement Strategies
- Hard Limit
- Soft Limit with Warning
- Auto-Upgrade
Förhindra strikt att lägga till användare utöver sätesantalet.
Advanced Patterns
Different Seat Types
Erbjud olika sätestyper med skild prissättning:Annual Seat Discounts
Erbjud rabatterad årsvis sätesprissättning:Minimum Seat Requirements
Kräv ett minimalt antal säten för vissa planer:Best Practices
Pricing Best Practices
- Tydlig kommunikation: Visa per-sätespriset tydligt på din prissida
- Inkluderade säten: Överväg att inkludera några säten i grundpriset för att minska friktion
- Volymrabatter: Erbjud lägre per-säte-priser för större team för att vinna företagsaffärer
- Årliga incitament: Rabatterade årsplaner förbättrar kassaflöde och retention
Technical Best Practices
- Cachelagra sätesantal: Cachelagra prenumerationens sätesantal lokalt för att undvika API-anrop vid varje förfrågan
- Synkronisera regelbundet: Synka regelbundet ditt lokala sätesantal med Dodo Payments via API
- Hantera fel: Om en sätesändring misslyckas, visa tydliga felmeddelanden och omförsöksalternativ
- Revisionsspår: Logga alla sätesändringar för fakturatvister och efterlevnad
User Experience Best Practices
- Feedback i realtid: Visa omedelbart kostnadspåverkan när säten justeras
- Bekräftelsesteg: Kräv bekräftelse innan fakturaförändringar genomförs
- Prorationsgenomskinlighet: Förklara tydligt proraterade avgifter innan de tillämpas
- Enkla nedgraderingar: Gör det inte svårt att minska säten (det bygger förtroende)
Troubleshooting
Seat count mismatch between app and billing
Seat count mismatch between app and billing
Symptom: Din app visar ett annat sätesantal än prenumerationen.Causes:
- Webhook har inte mottagits eller bearbetats
- Race condition under sätesändring
- Cachelagrad data uppdateras inte
- Implementera webhook-hanterare för
subscription.plan_changed - Lägg till en knapp “Synka med fakturering” som hämtar aktuell prenumeration
- Sätt cache TTL för att säkerställa regelbundna uppdateringar
Proration charges unexpected
Proration charges unexpected
Symptom: Kunden är förvirrad över avgiften mitt i cykeln.Causes:
- Prorationsläget kommuniceras inte tydligt
- Kunden såg inte förhandsgranskningen innan bekräftelse
- Använd alltid
previewChangePlaninnan ändringar görs - Visa tydlig uppdelning: “Lägga till X säten = Y $ idag (proraterat för Z dagar)”
- Dokumentera din prorationpolicy i hjälpcentret
Add-on not appearing in checkout
Add-on not appearing in checkout
Symptom: Säte-tillägget är inte tillgängligt under utcheckningen.Causes:
- Tillägget är inte kopplat till produkten
- Tillägget är arkiverat eller borttaget
- Valutaskillnad mellan produkt och tillägg
- Verifiera att tillägget är kopplat i produktinställningarna
- Kontrollera tilläggsstatus i tilläggsöversikten
- Säkerställ att valutorna matchar exakt
Cannot reduce seats below current usage
Cannot reduce seats below current usage
Symptom: Kunden vill minska antalet säten men har användare tilldelade.Solutions:
- Visa vilka användare som måste tas bort innan säten kan minskas
- Implementera ett arbetsflöde: Ta bort användare → Minska säten
- Överväg en karenstid innan sätesminskning verkställs