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

# Set Up Recurring Subscriptions

> Create a recurring product, attach it to a client as a subscription, and let invoices generate automatically each cycle

For retainer work or recurring services, subscriptions automate the monthly (or quarterly, or annual) invoice generation so you don't have to remember to bill each cycle. This guide walks through setting up your first recurring subscription end-to-end.

<Info>
  Prerequisites: a connected payment processor ([Stripe or Authorize.Net](/commerce/payments)) and a CRM contact for the client. New to Commerce? Start with [Send Your First Invoice](/how-tos/send-first-invoice).
</Info>

## What you'll build

A monthly retainer subscription: \$3,000/month, auto-billed on the 1st of each month, with the client's saved card auto-charged. If the charge fails, dunning emails go out automatically.

## Step 1: Create the recurring product

If you don't already have a recurring product in your catalog:

<Steps>
  <Step title="Go to Products">
    Navigate to `/dashboard/commerce/products/`.
  </Step>

  <Step title="Click New Product">
    A blank product form opens.
  </Step>

  <Step title="Fill in the basics">
    * **Name**: "SEO Retainer — Standard"
    * **Description**: "Ongoing search engine optimization, content production, and reporting"
    * **Price**: `3000`
    * **Recurrence**: **Monthly**
    * **Taxable**: as applicable
    * **Plan flag**: leave off (this is a single retainer, not a tiered plan)
  </Step>

  <Step title="Save">
    The product is now available for subscriptions.
  </Step>
</Steps>

For the difference between regular recurring products and `is_plan: true` plans, see [Products & Services](/commerce/products).

## Step 2: Create the subscription

<Steps>
  <Step title="Go to Subscriptions">
    Navigate to `/dashboard/commerce/subscriptions/`.
  </Step>

  <Step title="Click New Subscription">
    A blank subscription form opens.
  </Step>

  <Step title="Pick the client">
    Search by name or company. Must already be in CRM with a billing email.
  </Step>

  <Step title="Pick the product">
    Search "SEO Retainer". Select. The price and recurrence pre-fill.
  </Step>

  <Step title="Set the start date">
    Today, or a future date. The first invoice generates on this date (or the first billing anchor after, depending on your billing-anchor config).
  </Step>

  <Step title="Set the billing frequency">
    Should default to Monthly from the product. Override if you want a different cadence (e.g., bill quarterly even though the price is monthly).
  </Step>

  <Step title="Set the billing anchor">
    Day 1 of the month is the most common (everyone bills together; predictable cash-flow). Or the start-date day-of-month for client-specific anchors.
  </Step>

  <Step title="Confirm proration">
    If you start mid-month and want a partial first month, enable proration. If you want to charge a full first month regardless, disable.
  </Step>

  <Step title="Review and activate">
    Confirm the configuration. Click **Activate**. The subscription is live; the first invoice generates on schedule.
  </Step>
</Steps>

## Step 3: Capture the client's payment method

For the auto-charge to work, the client needs a saved payment method.

<Tabs>
  <Tab title="They pay the first invoice manually">
    Recommended. The first invoice generates and emails a portal link. They pay using a card and check **"Save this card for future payments."** Subsequent invoices auto-charge that card.
  </Tab>

  <Tab title="Send a 'set up payment method' link">
    From the subscription's actions menu, click **Request Payment Method**. The client gets an email with a secure link to add a card without paying anything yet. The card saves for future auto-charges.
  </Tab>

  <Tab title="Manual entry (don't do this)">
    Don't take card numbers over phone or email and enter them manually — it explodes your PCI scope. Always use the portal flow.
  </Tab>
</Tabs>

## Step 4: Watch the first cycle

After the start date passes (or immediately if you backdated):

<Steps>
  <Step title="First invoice generates">
    A new invoice appears at `/dashboard/commerce/invoices/` linked to the subscription.
  </Step>

  <Step title="Email goes to the client">
    Standard invoice email with portal link.
  </Step>

  <Step title="Client pays (or auto-charge runs)">
    If they have a saved method, the auto-charge runs. Otherwise they pay manually through the portal.
  </Step>

  <Step title="Invoice flips to Paid">
    Webhook updates the status. The subscription's "next billing" date advances to the next cycle.
  </Step>
</Steps>

## Email reminders before the charge

For subscriptions with auto-charge, optional pre-charge reminders give the client a heads-up:

<Steps>
  <Step title="Open subscription settings">
    Navigate to `/dashboard/commerce/settings/`.
  </Step>

  <Step title="Configure pre-charge reminder">
    Set the lead time — 3 days before the next charge is common. The client gets an email saying "Your \$3,000 charge will run on \[date]."
  </Step>

  <Step title="Save">
    Applies to all subscriptions. Per-subscription overrides are also available.
  </Step>
</Steps>

This reduces "I forgot you were charging me" complaints and gives clients a chance to update payment methods or pause if needed.

## Handling failed payments

When a subscription's auto-charge fails (insufficient funds, expired card, processor timeout), the dunning policy kicks in:

<Steps>
  <Step title="Day 1 — first retry">
    Automatic retry the next day, in case the failure was transient.
  </Step>

  <Step title="Day 3 — second retry">
    Another retry, plus an email to the client asking them to update their payment method.
  </Step>

  <Step title="Day 7 — third retry">
    Final automatic retry. More urgent email.
  </Step>

  <Step title="Day 7+ — past_due">
    Subscription flagged `past_due`. Your team gets notified to follow up directly.
  </Step>

  <Step title="Day 21 — auto-cancel">
    After the configurable grace period, the subscription auto-cancels.
  </Step>
</Steps>

Configure retry intervals and grace period in [Payment Settings](/commerce/payments).

<Tip>
  Personal follow-up at day 7 (when it goes past\_due) recovers the most subscriptions. The client usually wants to keep the service — they just have a card issue. A quick email or call from a real person fixes it faster than another automated email.
</Tip>

## Plan changes

If the client wants to upgrade, downgrade, or swap to a different plan:

<Tabs>
  <Tab title="Upgrade now (with proration)">
    From the subscription's actions menu, click **Change Plan**. Pick the new product. The current cycle prorates — credit for unused old plan, charge for prorated new plan. Next cycle bills the full new plan price.
  </Tab>

  <Tab title="Downgrade at next renewal (no proration)">
    Same flow but pick **At next renewal**. Current cycle finishes at old price; next cycle starts at new price.
  </Tab>

  <Tab title="Same-day swap (no proration)">
    For renames or non-pricing swaps. No credit or charge; the cycle continues at the old price; next cycle uses the new product.
  </Tab>
</Tabs>

## Pausing or canceling

<Steps>
  <Step title="Pause">
    Stops invoice generation but keeps the subscription record. Resume any time.
  </Step>

  <Step title="Cancel at end of cycle (default)">
    Honors the current cycle (client got what they paid for) and stops at renewal. The most common cancellation flow.
  </Step>

  <Step title="Cancel immediately">
    Stops billing on the spot. Optionally issues a prorated refund.
  </Step>
</Steps>

## Verify it worked

After your first full cycle:

* The first invoice should be `paid`
* The next-billing-date should have advanced to the next cycle
* The subscription's status should be `active`
* The client should have a saved payment method

## Troubleshooting

<AccordionGroup>
  <Accordion title="Subscription is active but no invoice generated">
    Check the next-billing-date — it may not have arrived yet. Check the activity log for any errors. Verify the [payment processor connection](/commerce/payments) is healthy.
  </Accordion>

  <Accordion title="Auto-charge not running on the cycle date">
    The client may not have a saved payment method. Send them a payment-method link from the subscription's actions menu. Until they save a method, each cycle's invoice generates but waits for manual payment.
  </Accordion>

  <Accordion title="Proration math doesn't match what I expected">
    Proration depends on the change type. Upgrades prorate (credit + charge); downgrades-at-renewal don't. Same-day swaps don't. Double-check which option you picked. The activity log shows the math.
  </Accordion>

  <Accordion title="Failed payment retry isn't running">
    Check the dunning policy in [Payment Settings](/commerce/payments). Also verify the processor connection is authorized — Stripe OAuth tokens can expire and a disconnected processor can't retry.
  </Accordion>

  <Accordion title="Pre-charge reminder didn't send">
    Pre-charge reminders use your transactional email infrastructure. Check that your sending domain is verified — see [Email Domains](/email/domains). Also confirm reminders are enabled for this subscription.
  </Accordion>
</AccordionGroup>

## What's next?

<CardGroup cols={2}>
  <Card title="Subscriptions Reference" icon="book" href="/commerce/subscriptions">
    Full reference for plan changes, dunning, and MRR.
  </Card>

  <Card title="Track AR Aging" icon="hourglass-half" href="/how-tos/track-ar-aging">
    Find subscriptions that have gone past\_due.
  </Card>

  <Card title="Reports & Analytics" icon="chart-line" href="/commerce/reports">
    Watch your MRR and ARR grow.
  </Card>

  <Card title="Set Up the Client Portal" icon="user-tie" href="/how-tos/setup-client-portal">
    Where clients manage their payment methods.
  </Card>
</CardGroup>
