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

# Price and bill your clients

> Set up your own plans, charge clients through your own Stripe account, and understand what your reseller plan pays for.

There are two separate money flows in an agency, and they never touch each other:

<Columns cols={2}>
  <Card title="You pay DMLY" icon="arrow-up-right">
    Your own workspace carries a whitelabel reseller subscription, billed by DMLY on DMLY's
    Stripe account. This is what makes you an agency. See [Plans](/billing/plans).
  </Card>

  <Card title="Your clients pay you" icon="arrow-down-left">
    Your client workspaces are billed by **you**, on **your own Stripe account**, at whatever
    price you set. DMLY never sees that money and takes no cut of it.
  </Card>
</Columns>

Your clients never see a DMLY price, and DMLY never charges them. You keep the difference
between what you charge and what your reseller plan costs.

## Connect your Stripe account

Nothing can be billed to a client until your own Stripe account is connected. Go to
**Settings → Stripe (charge your customers)**, enter your Stripe keys, and select
**Save Stripe keys**.

The page has three fields — **Secret key**, **Publishable key**, and **Webhook signing
secret** — and a badge reading **Connected** or **Not connected**. Your keys are stored
encrypted. Your secret key and webhook signing secret are never shown back to you; your
publishable key is.

<Note>
  Charges, subscriptions, and receipts all run through your Stripe account, so refunds,
  disputes, and payouts are handled in your Stripe dashboard — not in DMLY.
</Note>

## Build your plans

Go to **Plans** in the agency dashboard and select **New plan**. A plan carries:

* **Enabled** — whether clients can subscribe to it.
* **Monthly** and **Yearly** prices.
* **Limits** — the caps a client workspace gets on that plan: **Contacts**, **Social
  accounts**, **Team members**, **AI credits**, and **Active bots / channel**. Leave a limit
  blank for unlimited, as the form notes with **(blank = unlimited)**.
* **Features** — *(off = not included in this plan)* — **AI Agent** and **Reputation &
  Reviews**. Both start on, so a client only loses one once you switch it off here.

A billing cycle is only offered to your clients when it has both a Stripe price and an
amount to display. If a cycle is missing either, the plan still appears on your client's
billing page, but with no price and a disabled **Unavailable** button instead of **Choose
plan** — the button and the price can never disagree.

When you assign a plan, its limits are copied onto the client workspace and enforced there
like any other DMLY plan.

<Warning>
  A plan that is assigned to a client workspace, or granted as an add-on, cannot be deleted.
  Move those clients to another plan first.
</Warning>

## Put a client on a plan

Open **Sub-accounts**, find the workspace, and pick a plan from the **— assign plan —**
dropdown. The client's limits change immediately.

Assigning a plan does not charge anyone. Billing starts when the client subscribes on their
own billing page — see below.

## Sell add-ons

An add-on is a plan you create with **Add-on plan** turned on, then choose an **Add-on type**:

* **Extra contacts**
* **Extra profile (social account)**
* **Additional teammate**

Then set **Quantity granted (per unit)** — how much allowance one unit adds. It's required
for an add-on plan, and the form won't save without it.

Grant one from **Sub-accounts** with **+ grant add-on**, and take it back with the **×** on
the add-on chip. The extra allowance is added on top of the client's plan limits straight
away.

<Warning>
  Add-ons you grant are billed by you, not by DMLY, and there is no checkout step — the
  client gets the allowance the moment you grant it. Charge for it on your side.
</Warning>

<Note>
  An add-on plan you leave **Enabled** also appears on your clients' own **Plans & billing**
  page as a plan they can subscribe to, and a priced one will start a real Stripe checkout.
  Leave add-on plans disabled unless you intend that.
</Note>

## What your clients see

Your clients don't have a DMLY billing page. When someone with admin access in a client
workspace opens **Billing** from their user menu, they land on **Plans & billing** — your
plans, your prices, your brand — and subscribe there through your Stripe account.

A **Monthly** / **Yearly** toggle sits above the plans, and appears only when at least one
plan is priced for each cycle. Their existing plan is marked **Current**.

<Note>
  Your own workspace is the exception. Its **Billing** still points at DMLY, because that's
  where your reseller subscription lives. You are not a customer of your own agency.
</Note>

## Your reseller limits

Your reseller plan caps how many workspaces you can have under your agency. The exact number
depends on the plan you're on — see [Plans](/billing/plans). Your own workspace counts
towards that cap: it sits under your agency too, so it appears in your **Sub-accounts** list
and takes one of the slots.

You never create a client workspace yourself; they arrive when someone signs up on your
branded domain — or, if you've switched on **Allow customers to create multiple workspaces**
in Settings (off by default), when an existing client creates another workspace. See
[Client workspaces](/agency/client-workspaces).

When you're at your cap, signups on your branded domain stop and the **Sub-accounts** page
warns you: *You've reached your sub-account limit. Contact support to raise it.* Raising it
means moving to a bigger reseller plan, or asking DMLY support to lift it for your account.

<Warning>
  If your reseller subscription lapses or is cancelled, your agency is suspended — and
  **every one of your client workspaces is locked out immediately**, whatever plan they're
  on and whatever they've paid you. Keep your own DMLY subscription current. Subscribing
  again restores your agency and your clients.
</Warning>

## Related

<Columns cols={2}>
  <Card title="Client workspaces" icon="users" href="/agency/client-workspaces">
    Assign plans, suspend, restore, and open a client's workspace.
  </Card>

  <Card title="Branding" icon="palette" href="/agency/branding">
    Your app name, logo, colour, and support email.
  </Card>

  <Card title="Custom domain" icon="globe" href="/agency/custom-domain">
    Serve your agency — and your signup page — on your own domain.
  </Card>

  <Card title="Plans" icon="tags" href="/billing/plans">
    What your own reseller plan includes.
  </Card>
</Columns>
