> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pulsyai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Plans

> Create the subscription plans your end-clients see when they sign up for your white-labeled PulsyAI platform. Configure tier names, pricing, features, and limits.

Plans are the subscription tiers your end-clients subscribe to on your white-labeled PulsyAI platform — each plan combines a flat monthly base price, a fixed number of included minutes, an overage rate for usage above that limit, a customizable list of customer-facing features, and granular visibility controls that let you target specific end-clients.

<Warning>
  **Stripe Setup is a prerequisite for creating plans.** PulsyAI uses Stripe to process subscription payments and overage billing, so you must complete [Stripe Setup](/platform/white-label/stripe-setup) before any of the plan creation options become available.
</Warning>

## How Plans work in PulsyAI

PulsyAI uses a multi-tenant architecture where Plans appear in three different contexts depending on who is viewing them and from which domain:

| Where                                     | Who sees it       | What's displayed                                                                                               |
| ----------------------------------------- | ----------------- | -------------------------------------------------------------------------------------------------------------- |
| **Plans** (under SETTINGS in your admin)  | You, the reseller | The PulsyAI subscription tier you pay PulsyAI for as a reseller                                                |
| **Rebilling** (top of your admin sidebar) | You, the reseller | The custom plans you've created for your end-clients — with full create, edit, delete, and visibility controls |
| **Plans** page on your branded domain     | Your end-clients  | The custom plans you've created and made visible to them                                                       |

The same "Plans" URL serves different content depending on context — your end-clients accessing your branded domain see your custom prices, while you accessing your own admin see what you pay PulsyAI. This separation is what makes PulsyAI's white-label model genuinely white-label: your end-clients have zero visibility into your supplier relationship with PulsyAI.

<Warning>
  For your end-clients to see **your** custom plans (and not PulsyAI's default pricing), your [Custom Domain](/platform/white-label/custom-domain) must be configured and verified. Without a custom domain, end-clients accessing the platform would land on PulsyAI's default branding and pricing — breaking the white-label experience.
</Warning>

In short: **create plans in Rebilling, your end-clients see them through your branded domain.**

## The PulsyAI pricing model

PulsyAI plans use a hybrid subscription-plus-usage pricing model designed for voice AI workloads, with three pricing components per plan:

* **Monthly price** — A flat subscription fee charged every month (e.g. \$49/month).
* **Minutes included** — A pre-paid amount of voice AI minutes included in the base subscription (e.g. 10 minutes per month).
* **Overage charge (per minute)** — A per-minute rate charged for usage above the included amount (e.g. \$0.20 per additional minute).

A client on a `$49 / 10 minutes / $0.20 overage` plan who uses 30 minutes in a given month would be billed:

```text theme={null}
$49 base + (30 - 10) minutes × $0.20 = $49 + $4.00 = $53.00
```

Optionally, you can attach a **trial period** to any plan — a free window before billing starts, configurable in days.

All prices are processed in **USD**.

## Create a plan

<Steps>
  <Step title="Open the Rebilling page">
    Click **Rebilling** in the left sidebar of your white-label admin. With your Stripe account already configured, you'll see the plan management interface with the **Add Plan** button at the top right.

    <Frame>
      <img src="https://mintcdn.com/pulsyai/6GTIrmu0x2zb1-oE/images/01-addplan.png?fit=max&auto=format&n=6GTIrmu0x2zb1-oE&q=85&s=4bf2874aa4cce6a525d1ff5d623f85ca" alt="01 Addplan" width="1918" height="943" data-path="images/01-addplan.png" />
    </Frame>
  </Step>

  <Step title="Open the Create a product modal">
    Click **Add Plan** to open the **Create a product** modal. The modal has three sections: Plan Details, Features, and Pricing.

    <Frame>
      <img src="https://mintcdn.com/pulsyai/6GTIrmu0x2zb1-oE/images/02-firstpartofmodaltop.png?fit=max&auto=format&n=6GTIrmu0x2zb1-oE&q=85&s=3826bd0c064abb9103b64418eec4d9c9" alt="02 Firstpartofmodaltop" width="1918" height="944" data-path="images/02-firstpartofmodaltop.png" />
    </Frame>
  </Step>

  <Step title="Fill in the Plan Details">
    * **Plan name** *(required)* — The name displayed to your end-clients (e.g. "Bronze Plan", "Professional", "Starter").
    * **Description** *(required)* — A short summary of the plan. This is **only visible inside Stripe** — your end-clients do not see this description. Use it for your own internal Stripe organization, not for marketing copy.
  </Step>

  <Step title="Add features">
    Click **+ Add feature** to add a customer-facing bullet point. Each feature is a free-text input — type whatever you want to communicate to clients about what's included in the plan.

    Features are entirely customizable and unlimited. Common examples:

    * "24/7 AI Call Answering"
    * "Lead Qualification"
    * "Appointment Booking"
    * "Call Transfer to Staff"
    * "SMS Follow-Ups"
    * "Priority Support"
    * "Custom Knowledge Base"

    Each feature you add gets a trash icon next to it so you can remove it before saving — and you can edit or remove features after the plan is created too.
  </Step>

  <Step title="Set the Pricing">
    Fill in the three required pricing fields:

    * **Monthly price** *(required)* — The flat subscription fee in USD, charged every month.
    * **Minutes included** *(required)* — The number of voice AI minutes included in the base subscription each month.
    * **Overage charge (per minute)** *(required)* — The per-minute rate charged for usage above the included amount.

    <Frame>
      <img src="https://mintcdn.com/pulsyai/6GTIrmu0x2zb1-oE/images/03-secondpartofmodalbottom.png?fit=max&auto=format&n=6GTIrmu0x2zb1-oE&q=85&s=2b10a38e078d5194b645ec859808cba0" alt="03 Secondpartofmodalbottom" width="1918" height="945" data-path="images/03-secondpartofmodalbottom.png" />
    </Frame>
  </Step>

  <Step title="Optionally enable a trial period">
    Check **Enable trial period** to offer end-clients a free window before billing starts, then enter the number of days (e.g. 3, 7, 14). During the trial, your end-clients do not pay you — they get full access to the plan without subscription charges.

    <Warning>
      **The trial period applies only between you and your end-client.** PulsyAI continues to bill you, the reseller, for the actual usage (minutes consumed, telephony costs, AI processing) generated by your end-client during their trial window. The trial defers your end-client's subscription billing — it does not pause your underlying platform costs with PulsyAI.

      Factor your expected trial-period usage into your pricing strategy. A long trial with heavy usage can erode your margins if the end-client doesn't convert.
    </Warning>
  </Step>

  <Step title="Save the plan">
    Click **SAVE** at the bottom of the modal. PulsyAI creates the plan in your white-labeled platform and provisions the corresponding Product and Price in your connected Stripe account automatically — no manual Stripe configuration needed.
  </Step>
</Steps>

## After you create a plan

Once saved, your plan appears as a card on the Rebilling page with all of its details laid out: name, monthly price, trial period (if enabled), cost structure, included features, visibility controls, and edit/delete actions.

<Frame>
  <img src="https://mintcdn.com/pulsyai/6GTIrmu0x2zb1-oE/images/04-planadded.png?fit=max&auto=format&n=6GTIrmu0x2zb1-oE&q=85&s=7aa938a9c226ec34cbc4b0cb179b694e" alt="04 Planadded" width="875" height="932" data-path="images/04-planadded.png" />
</Frame>

From this card you can:

* Review the full plan configuration at a glance.
* Control **which end-clients can see and purchase the plan** (see Plan visibility below).
* **Edit** the plan's features and trial period.
* **Delete** the plan.

## Plan visibility — control who sees each plan

Plan visibility lets you decide which of your end-clients can see and purchase a given plan. This is one of PulsyAI's most powerful white-label features for resellers and master partners who run mixed pricing arrangements with different clients.

Each plan has two visibility modes:

* **All subaccounts** *(default)* — Every end-client on your white-labeled platform can see and purchase this plan. Use this for your standard public plans.
* **Selected subaccounts** — Only the specific end-clients you check can see and purchase this plan. The plan is invisible to every other end-client on your platform.

To restrict a plan:

1. On the plan card, find the **PLAN VISIBILITY** section.
2. Switch the selection from **All subaccounts** to **Selected subaccounts**.
3. Check the specific end-clients who should have access.
4. Click **Save Visibility** to apply.

### A practical use case

A reseller negotiates a custom deal with a single enterprise client at **\$1,000/month** with bespoke included minutes and features — a price they don't want their other clients to see.

The reseller:

1. Creates a "Custom Enterprise — Client X" plan at \$1,000/month with the agreed features and limits.
2. Sets the plan visibility to **Selected subaccounts**.
3. Checks only the enterprise client's subaccount.
4. Saves visibility.

Now the \$1,000 plan appears only on that specific client's pricing page. Every other end-client on the reseller's platform sees only the public plans — they have no way to know the custom plan exists.

This same mechanism supports:

* Legacy pricing grandfathered to long-standing clients.
* Pilot pricing for clients testing new offerings.
* Internal staff accounts on free or discounted plans.
* Migration plans used temporarily during a pricing change.
* Promotional plans tied to specific marketing campaigns or partners.

## What your end-clients see

The plans you create appear to your end-clients on the **Plans** page of your white-labeled platform — accessed through your branded custom domain (for example, `yourbrand.com/plans`) — formatted as side-by-side pricing cards with the plan name, monthly price, included minutes, your list of features, and a Select button to subscribe.

End-clients only see plans whose visibility includes their subaccount — visibility-restricted plans are filtered out automatically based on who is viewing the page.

<Frame>
  <img src="https://mintcdn.com/pulsyai/6GTIrmu0x2zb1-oE/images/05-pricingyourclientsee.png?fit=max&auto=format&n=6GTIrmu0x2zb1-oE&q=85&s=df8a1f5d25810211c9be6cb44fa16059" alt="05 Pricingyourclientsee" width="1900" height="1000" data-path="images/05-pricingyourclientsee.png" />
</Frame>

End-clients can:

* Compare all plans visible to them side by side.
* Subscribe to a plan by clicking **Select**.
* See which plan they're currently on (marked as **Current plan**).
* Apply a discount code if you've configured one.

## Editing a plan

Once a plan is saved, **most fields are locked** because Stripe does not allow editing of core Price object fields after creation. The fields you CAN edit are:

* **Features** — Add new features, edit existing ones, or remove features at any time.
* **Trial period** — Enable, disable, or change the number of trial days.
* **Plan visibility** — Change which end-clients can see the plan (All subaccounts vs Selected subaccounts).

The fields you **cannot** edit are:

* Plan name
* Description
* Monthly price
* Minutes included
* Overage charge per minute

To change any locked field, you must **delete the plan and create a new one** with the updated values.

## Deleting a plan

Click the red **Delete** button at the bottom of the plan card to remove the plan from your platform.

<Warning>
  Deletion is irreversible. When migrating end-clients between plans, the recommended flow is:

  1. Create the new plan first (so it's available before you remove the old one).
  2. Move existing end-clients onto the new plan via the Clients management interface.
  3. Delete the old plan only after all subscribers have migrated.
</Warning>

## Next step

<CardGroup cols={1}>
  <Card title="Clients" icon="users" href="/platform/white-label/clients">
    Manage your end-client subaccounts, view their dashboards, and impersonate them for support.
  </Card>
</CardGroup>
