# How to Set Up Pay-Per-Seat Billing for B2B SaaS

> A comprehensive guide for B2B SaaS founders on implementing seat-based pricing, managing proration, and handling team billing with Dodo Payments.
- **Author**: Ayush Agarwal
- **Published**: 2026-03-30
- **Category**: Payments, SaaS, B2B
- **URL**: https://dodopayments.com/blogs/pay-per-seat-billing-b2b

---

In the world of B2B SaaS, the "per-seat" or "per-user" pricing model is the industry standard. From Slack and Zoom to Salesforce and GitHub, the most successful software companies in the world use this model to align their revenue with the value they provide to teams. It is a simple, scalable, and predictable way to grow your business as your customers grow theirs. The beauty of this model lies in its transparency: the customer knows exactly what they are paying for, and the provider knows exactly how to forecast revenue based on headcount growth.

However, while the concept is simple, the implementation is notoriously complex. How do you handle a customer adding three new employees in the middle of a billing cycle? How do you calculate the proration for a user who was removed after only ten days? How do you manage global tax compliance when a single corporate account has users spread across multiple countries? These technical and administrative challenges can quickly become a bottleneck for a growing startup, diverting engineering resources away from the core product.

This guide will walk you through the technical and strategic steps to set up pay-per-seat billing for your B2B SaaS. We will explore the different [subscription pricing models](https://dodopayments.com/blogs/subscription-pricing-models) and show you how to use Dodo Payments to handle the heavy lifting of [b2b payments](https://dodopayments.com/blogs/b2b-payments) and global compliance. By the end of this article, you will have a clear roadmap for implementing a robust, scalable billing system that supports your business's growth.

## Why Pay-Per-Seat? The B2B Advantage

The per-seat model is popular because it creates a natural expansion loop. As a company hires more people, they need more licenses for your software. This allows you to increase your Average Revenue Per User (ARPU) without having to sell a new product or feature. It is the foundation of a successful [segmented pricing strategy](https://dodopayments.com/blogs/segmented-pricing-strategy). This model also encourages adoption within an organization, as the cost is directly tied to the number of people who are actually using the tool.

> The billing model you choose in month one will constrain your pricing flexibility in year two. Build on infrastructure that supports subscriptions, usage, credits, and hybrid models from the start.
>
> \- Ayush Agarwal, Co-founder & CPTO at Dodo Payments

Furthermore, seat-based pricing is easy for procurement departments to understand. They can budget based on headcount, which makes the approval process much smoother. When combined with a [tiered pricing model guide](https://dodopayments.com/blogs/tiered-pricing-model-guide), you can offer different levels of functionality for different types of users within the same organization. For example, you might have a "Standard" tier for general users and a "Premium" tier for power users or admins, each with its own per-seat price point.

## The Technical Challenges of Seat-Based Billing

Implementing seat-based billing requires more than just a simple subscription. You need a system that can handle dynamic changes to the quantity of a subscription and calculate the financial impact of those changes in real-time. This involves complex logic that must be both accurate and transparent to the customer.

### 1. Proration Logic

Proration is the process of adjusting the cost of a subscription when the quantity changes mid-cycle. If a customer adds a seat halfway through the month, they should only be charged for the remaining 15 days. Conversely, if they remove a seat, they should receive a credit toward their next invoice. Calculating this manually is a recipe for errors and customer frustration. You need to account for the exact number of days (or even seconds) that a seat was active to ensure fairness.

### 2. Team and Organization Management

In B2B, the "customer" is usually an organization, not an individual. You need a database schema that supports "Teams" or "Workspaces" where a single billing admin can manage multiple user licenses. This adds a layer of complexity to your authentication and authorization logic. You also need to handle scenarios where a user might belong to multiple organizations, each with its own billing setup.

### 3. Global Tax Compliance

When a company buys 50 seats, they expect a proper tax invoice. If that company is based in the EU, you need to handle VAT. If they are in the US, you need to deal with state-specific sales tax. This is where using a [merchant of record for SaaS](https://dodopayments.com/blogs/merchant-of-record-for-saas) becomes a competitive advantage. A Merchant of Record takes on the legal responsibility for tax collection and remittance, allowing you to sell globally without the administrative burden.

## Setting Up Your Data Model

To support seat-based billing, your database needs to track the relationship between organizations, subscriptions, and users. This data model must be flexible enough to handle changes in team structure and subscription levels.

- **Organization Table**: Stores the billing details, the current subscription ID, and the total number of seats purchased. This is the primary entity for all billing-related actions.
- **User Table**: Stores individual user profiles and a reference to the Organization they belong to. You might also need a join table if users can belong to multiple organizations.
- **Subscription Table**: Tracks the state of the subscription (active, trialing, canceled) and the current quantity (number of seats). This table should also store historical data for auditing and reporting purposes.

When a user is added to a team, your application should check if there is an available "seat." If not, it should prompt the admin to upgrade the subscription quantity. This check should be performed at the application layer to ensure that you never exceed your licensed capacity.

## Implementing Seat Changes with Dodo Payments

Dodo Payments simplifies the entire process of managing subscription quantities. You don't need to write complex proration algorithms; our system handles it automatically. This allows you to focus on building features that your users love, rather than worrying about the mechanics of billing.

### Adding a Seat

When an admin adds a new user, you call the Dodo Payments API to update the subscription quantity. This can be done seamlessly in the background as part of your user onboarding flow.

```javascript
import DodoPayments from "dodopayments";

const client = new DodoPayments({
  bearerToken: process.env["DODO_PAYMENTS_API_KEY"],
});

const updatedSubscription = await client.subscriptions.update("sub_123", {
  quantity: 11, // Increasing from 10 to 11
});
```

Dodo will automatically calculate the prorated amount for the new seat and either charge the customer immediately or add it to their next invoice, depending on your configuration. You can find more details in the [subscriptions documentation](https://docs.dodopayments.com/features/subscriptions/introduction). This automation ensures that your revenue is always aligned with your usage.

### Removing a Seat

When a user is removed, you decrease the quantity. Dodo will calculate the credit for the unused time and apply it to the account. This ensures that your billing is always fair and transparent, which is key to reducing churn. Customers appreciate knowing that they are only paying for what they use, and this transparency builds long-term trust.

## Handling Invoices and Payouts

B2B customers often require more than just a credit card charge. They might need to pay via ACH, wire transfer, or require a formal purchase order. Dodo Payments supports multiple [payment methods](https://docs.dodopayments.com/features/transactions/payment-methods) and automatically generates professional, tax-compliant invoices for every transaction. These invoices can be customized with your branding and the customer's specific billing information.

As a Merchant of Record, Dodo also handles the [payouts](https://docs.dodopayments.com/features/payouts) to your bank account, regardless of where your customers are located. We take care of the currency conversion and the cross-border fees, so you get a clean, predictable payout every time. This simplifies your accounting and ensures that you always have a clear view of your cash flow.

```mermaid
sequenceDiagram
    participant Admin as Team Admin
    participant App as Your SaaS App
    participant Dodo as Dodo Payments
    participant Bank as Customer Bank

    Admin->>App: Add New Team Member
    App->>App: Check Seat Capacity
    App->>Dodo: Update Subscription Quantity (+1)
    Dodo->>Dodo: Calculate Prorated Amount
    Dodo->>Bank: Charge Prorated Fee
    Bank-->>Dodo: Success
    Dodo-->>App: Webhook: Subscription Updated
    App->>Admin: User Added Successfully
```

## Best Practices for B2B Seat Billing

To maximize the effectiveness of your seat-based pricing, follow these industry best practices. These strategies will help you increase your revenue while maintaining a positive relationship with your customers.

- **Offer a "True-Up" Period**: Instead of charging for every single seat change immediately, some companies offer a monthly "true-up" where they bill for the peak number of users during that period. This reduces the number of small transactions and makes the billing process less intrusive.
- **Implement Seat Caps**: Allow admins to set a maximum number of seats to prevent unexpected billing spikes. This gives the customer more control over their budget and prevents "bill shock."
- **Provide a Billing Portal**: Use Dodo's [overlay checkout](https://docs.dodopayments.com/developer-resources/overlay-checkout) or a custom portal to let admins see their current usage and download past invoices. A self-service portal reduces the support burden and empowers your customers.
- **Automate Dunning**: B2B credit cards often fail due to expiration or limit issues. Use Dodo's automated dunning to recover these payments without manual intervention. This is a critical part of maintaining a healthy subscription business.
- **Incentivize Annual Billing**: Offer a discount for customers who pay for a year of seats in advance. This improves your cash flow and reduces churn by locking in the customer for a longer period.

## Managing Global Compliance Automatically

The biggest hurdle in B2B expansion is the "tax wall." Selling to a company in London is different from selling to a company in San Francisco. Each jurisdiction has its own rules for B2B tax exemptions and reverse charge mechanisms. Navigating these rules can be a full-time job for an accounting team.

Dodo Payments acts as your Merchant of Record, meaning we are the legal seller of the software. We verify the VAT IDs of your business customers, apply the correct tax exemptions, and ensure that every invoice meets local legal requirements. This allows you to sell to any company, anywhere in the world, from day one. You don't have to worry about the legal and financial risks of international trade; we take care of it for you.

## Scaling Beyond Seats

While per-seat billing is a great start, many B2B companies eventually move toward a hybrid model that includes [usage-based billing](https://docs.dodopayments.com/features/usage-based-billing/introduction). For example, you might charge $50 per seat plus $0.10 per GB of data processed. This allows you to capture more value from your most active users while still providing a predictable base price.

Dodo Payments is built to support these complex, multi-dimensional pricing models, allowing you to evolve your strategy as your product matures. You can easily add new billing dimensions and adjust your pricing without having to rewrite your entire billing engine. This flexibility is essential for staying competitive in the fast-moving SaaS market.

## FAQ

### What is the difference between a "user" and a "seat"?

In most contexts, they are the same. A "seat" is a license that can be assigned to a "user." If a user leaves the company, the seat becomes vacant and can be assigned to a new user without changing the billing.

### How do I handle guest users or collaborators?

Many SaaS apps offer "limited" or "guest" seats for free or at a lower price point. You can implement this by creating a separate product in Dodo for guest seats and managing the quantities independently.

### Should I charge for seats in advance or in arrears?

Most B2B SaaS companies charge for the base number of seats in advance (at the start of the month) and handle any additions via proration or true-ups.

### How does Dodo handle tax-exempt businesses?

Dodo's checkout automatically detects the customer's location and provides a field for them to enter their tax ID (like a VAT number). If the ID is valid, the tax is automatically removed from the total.

### Can I offer annual discounts for seat-based plans?

Yes. You can create both monthly and annual versions of your seat-based products. Dodo handles the transition between these plans and ensures the proration is calculated correctly.

## Final Take

Setting up pay-per-seat billing is a critical milestone for any B2B SaaS. it aligns your incentives with your customers' growth and provides a clear path to expansion revenue. By leveraging Dodo Payments, you can bypass the technical debt of building a custom billing engine and the legal risk of global tax compliance.

Focus on building a product that teams love to use. Let us handle the complexity of making sure you get paid for every single seat.

Ready to scale your B2B SaaS? [Sign up for Dodo Payments](https://dodopayments.com) and launch your seat-based pricing in minutes. Check out our [pricing](https://dodopayments.com/pricing) to see how we help you grow without the administrative overhead.