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

# Billing

> See your plan, track usage against its limits, and change your subscription.

**Settings › Billing** is where your organization's subscription lives: which
plan you're on, how much of it you've used this period, and how to move to a
different plan. It's an owner-only screen — everyone else gets an access-denied
message instead.

## Who can open it

| What                                | Permission       | Default role |
| ----------------------------------- | ---------------- | ------------ |
| View the plan, status, and usage    | `billing:read`   | Owner        |
| Change plans, cancel, or reactivate | `billing:manage` | Owner        |

Admins, Editors, and Viewers have neither permission by default, so Billing is
closed to them — see [Team and roles](/settings/team-and-roles). Without
`billing:manage`, the plan comparison and the cancel/reactivate controls don't
render at all; the page is read-only.

## Current subscription

The first card is the state of your subscription:

<ResponseField name="Plan" type="badge">
  The plan your organization is on.
</ResponseField>

<ResponseField name="Status" type="badge">
  Trial, active, past due, or canceled — mirrored from your payment provider, so
  it reflects what actually happened to the last charge.
</ResponseField>

<ResponseField name="Billing period" type="date range">
  The start and end of the period the usage numbers below are counted over.
</ResponseField>

Two situations get their own callout on the card:

* **Trial.** While you're on a trial, the card shows the trial's end date and
  the days remaining. When the trial expires, MerchantOps stops accepting new
  work that consumes your plan (see [When limits
  bite](#when-limits-bite)) until you pick a plan.
* **Payment past due.** If a charge fails, the card warns you to update your
  payment method before service is interrupted.

### Cancel and reactivate

With `billing:manage`, an active subscription shows a **Cancel Subscription**
button. Cancelling is scheduled, not immediate: you keep full access to your
current plan until the end of the billing period shown in the confirmation
dialog, and your account drops to the free plan after that date.

A subscription that's scheduled to cancel says so on the card and offers
**Reactivate Subscription**, which clears the scheduled cancellation and keeps
the plan running past the current period.

<Note>
  Updating a payment method or downloading invoices isn't available from this
  screen today. Ask your MerchantOps contact if you need either.
</Note>

## Usage this period

The second card tracks your consumption against the limits of your plan, with a
progress bar per meter. Each bar turns amber as you approach its limit, and the
text under it changes once you're at or over it.

| Meter            | What it counts                                                         |
| ---------------- | ---------------------------------------------------------------------- |
| **Enrichments**  | Product enrichment runs in the period                                  |
| **Searches**     | Web searches and page scrapes performed during enrichment and crawling |
| **Team members** | Members currently in your organization, against the plan's seat count  |

## Change plans

With `billing:manage`, the page lists the purchasable plans side by side with
their limits and features, and marks the one you're on. **Upgrade** on any other
plan moves you to it:

* If you already have a subscription, the plan is changed in place and prorated
  — you're credited for unused time on the old plan and charged for the new one.
* If you don't have one yet, you're redirected to a hosted checkout page to
  enter payment details. On return, MerchantOps syncs the result immediately
  rather than waiting for the provider's webhook, so the new plan shows up right
  away.

**Enterprise** isn't self-serve: its card links to a conversation with sales
instead of a purchase button.

<Note>
  If a plan hasn't been wired to your deployment's payment provider, its Upgrade
  button reports that the plan isn't available for purchase. That's a
  configuration gap, not a problem with your account — contact support.
</Note>

## When limits bite

Two actions are checked against your plan before they're allowed:

| Action                                                      | Checked against           |
| ----------------------------------------------------------- | ------------------------- |
| Creating a job (including a batch import or enrichment run) | Your enrichment allowance |
| Inviting a team member                                      | Your seat count           |

If the check fails, the request is refused with a payment-required error naming
the resource, your current usage, and the limit, and pointing at this page. An
**expired trial** fails both checks outright regardless of usage, so job
creation and invites stop until you choose a plan.

## Related

<CardGroup cols={2}>
  <Card title="Team and roles" icon="users" href="/settings/team-and-roles">
    Who holds the Owner role, and what each role can do.
  </Card>

  <Card title="Jobs" icon="list-check" href="/jobs/overview">
    Track the enrichment and import work your plan is being spent on.
  </Card>
</CardGroup>
