Seat Based Billing in Creem enables you to charge customers based on the number of seats or users they need, supporting both one-time payments and subscription models. This documentation explains how to implement and manage seat-based billing for your products.
Seat Based Billing allows you to set a per-seat price for your product and let customers purchase multiple seats. This is particularly useful for team-based products, enterprise software, or any service where pricing scales with the number of users.Seat Based Billing in Creem works for both One Time Payments and Subscriptions seamlessly without any special setup.
Create a product in your Creem dashboard where the price is the base seat price
Generate a checkout session with the desired number of seats using the units parameter
Direct your customer to the checkout URL
Next.js
TypeScript SDK
Better Auth
REST API
Copy
'use client'; // Optional: Works with server componentsimport { CreemCheckout } from '@creem_io/nextjs';export function SeatBasedCheckout({ seatCount }: { seatCount: number }) { return ( <CreemCheckout productId="prod_YOUR_PRODUCT_ID" units={seatCount} // Number of seats to purchase referenceId="user_123" // Optional: Track this purchase > <button>Purchase {seatCount} Seats</button> </CreemCheckout> );}
Update Behavior Options: - proration-charge-immediately: Calculate
proration and charge immediately - proration-charge: Calculate proration and
charge at next billing cycle - proration-none: No proration, just update the
seat count
Manual subscription changes through the Creem Dashboard
You can also modify subscription seats through your Creem Dashboard as a merchant.
Simply click on a subscription, and upon the details sheet opening, click on the “Modify Subscription” button
The new amount will be charged upon subscription renewal. If you need pro-rata charges or different use cases, contact the Creem team.
Remember to validate and track seat usage in your application to ensure
customers don’t exceed their purchased seat limit.
Troubleshooting Update Errors: If you receive a 404 error with the message
“Could not find product or price” when updating subscription seats, ensure
you’re providing either a valid price_id or product_id in your request.
The price_id is recommended as it provides the most specific reference for
validation.