Commet
  • Pricing
Log InTry out
Introduction

Quickstart

Learn

Manage PlansConfigure FeaturesConsumption ModelsAdd-onsCredit PacksPromo CodesPlan GroupsRegional PricesTrial PeriodsIntroductory Offers

Resources

SDK ReferenceError HandlingTestingCLI

Plugins

Better Auth
DocumentationKnowledge BaseBuild with AIAPI ReferenceWebhooks

Add-ons

Offer optional features customers can activate on their subscriptions for an additional price.

Add-ons are optional features with their own price and consumption model that customers activate on their subscriptions. They extend a subscription without modifying the base plan — think SSO, SMS channels, or premium support.

How add-ons work

AspectDescription
PricingFixed base price per billing period, prorated on activation
Charge on activationImmediate charge for remaining days in current period
Recurring billingBase price added to the plan's invoice each cycle
DeactivationNo refund — the feature stops immediately
Feature accessThe add-on's feature appears alongside plan features

Each add-on maps to exactly one feature. When activated, that feature becomes available through features.get, features.check, and features.list — no different from a plan feature.

Consumption models

Add-ons declare their own consumption model. Boolean add-ons are compatible with any plan. All other models require matching the plan's model.

ModelDescriptionCompatible PlansExample
BooleanUnlocks access, no usage trackingAll plansSSO, HIPAA compliance
MeteredIncluded units + overage at period endMetered plansSMS: 1000 included, $0.03/extra
CreditsUsage consumes from the plan's credit poolCredits plansAI summaries: 5 credits/use
BalanceUsage deducts from the plan's balance poolBalance plansImage processing: $0.015/unit

Credits and balance add-ons consume from the plan's shared pool — there's no separate pool for the add-on. If the pool runs out, the add-on's feature is blocked too.

Create add-ons in the dashboard

Go to Add-ons and click Create Add-on. Configure the name, base price, feature, and consumption model. For metered add-ons, set included units and overage rate. For credits, set the credit cost per unit.

The feature dropdown only shows features not already assigned to another add-on. Once created, the add-on is available to any customer whose plan is compatible.

Availability by subscription status

Add-ons can be activated on any subscription with a payment method:

StatusCan activate add-ons
ActiveYes
TrialingYes — card was captured during trial checkout
Free planYes — first purchase prompts for a payment method

Manage add-ons

Add-ons are managed through the dashboard and the customer portal. Activation and deactivation are not available via the API or SDK.

ActionWhere
Create / archive add-onsDashboard → Add-ons
Activate / deactivateDashboard (subscription detail) or Customer Portal
List active add-onsAPI, SDK, Dashboard, or Customer Portal

List active add-ons via SDK

const active = await customer.addons.list()

Response:

{
  "success": true,
  "data": [
    {
      "slug": "sso-access",
      "name": "SSO Access",
      "basePrice": 5000,
      "featureCode": "sso",
      "featureName": "Single Sign-On",
      "featureType": "boolean",
      "consumptionModel": "boolean",
      "activatedAt": "2026-03-11T00:00:00.000Z"
    }
  ]
}

Pass either a Commet ID (cus_xxx) or your external ID as customerId to identify the customer.

Feature access

Add-on features work exactly like plan features — no special handling needed:

const customer = commet.customer('user_123')

// Check boolean add-on
const sso = await customer.features.get('sso')
// { access: true, type: 'boolean', enabled: true }

// Track metered add-on usage
await customer.usage.track('sms_messages', 50)

// List all features (plan + add-ons combined)
const features = await customer.features.list()

Billing behavior

Activation charge

When a customer activates a $50/month add-on on day 11 of a 31-day period (20 days remaining):

Value
Full price$50.00
Prorated$50 × (20/31) = $32.26
Invoice typeaddon_activation

The charge goes through Stripe immediately with its own invoice.

Recurring invoices

Starting from the next full billing cycle, the add-on base price appears as a separate line in the plan's invoice:

Plan Pro (base)                             $99.00
API Calls: 12,500 (2,500 overage × $0.01)  $25.00

Add-ons
  SMS Channel (base)                        $15.00
  SMS: 1,800 (800 overage × $0.03)         $24.00
  SSO                                       $50.00

Subtotal                                   $213.00

Multi-currency

Add-on prices are defined in USD. For non-USD subscriptions, the price is converted using the plan's exchange rate — the same mechanism used for plan base prices.

Customer portal

Customers can self-service add-ons from the portal:

  • Available add-ons — see compatible add-ons with pricing
  • Activate — confirmation dialog with prorated charge preview
  • Active add-ons — manage active add-ons
  • Deactivate — instant, no refund

Add-ons whose feature already exists in the customer's plan are hidden from the portal automatically.

Learn more

  • How Does Billing Work

Related

  • Consumption Models — Metered, Credits, and Balance explained
  • Configure Features — Define features that add-ons can unlock
  • Credit Packs — Another way to extend plan capabilities
  • Manage Subscriptions — Subscription lifecycle and management
  • Customer Portal — Where customers activate add-ons

How is this guide?

Consumption Models

Understand the three ways customers consume and pay for features in Commet plans.

Credit Packs

Configure credit packages that customers can purchase from the Commet Customer Portal.

On this page

How add-ons work
Consumption models
Create add-ons in the dashboard
Availability by subscription status
Manage add-ons
List active add-ons via SDK
Feature access
Billing behavior
Activation charge
Recurring invoices
Multi-currency
Customer portal
Learn more
Related