Common pattern is 1 subscription = N seats, not multiple subscriptions.
Typical implementation:
• Admin buys 1 subscription with quantity = seats (e.g. quantity: 9)
• Store subscription_id + seat_count in your DB
• Create a team table and a seat assignments table
• Admin invites users and you mark seats as assigned/unassigned
When seats change:
• Upgrade seats → update subscription quantity (e.g. 9 → 12)
• Remove seats → decrease quantity (usually applied next billing cycle)
Why this is preferred:
• One invoice
• Easier proration handling
• Cleaner billing logic
• Matches how tools like Figma, Slack, Notion handle teams
Avoid creating Pro Monthly x9 as separate subscriptions — it complicates billing and seat management.
Helpful Links
https://docs.dodopayments.com/subscriptions
https://docs.dodopayments.com/api-reference/subscriptions