Prerequisites: a connected payment processor (Stripe or Authorize.Net) and a CRM contact for the client. New to Commerce? Start with Send Your First Invoice.
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: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)
is_plan: true plans, see Products & Services.
Step 2: Create the subscription
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).
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).
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.
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 3: Capture the client’s payment method
For the auto-charge to work, the client needs a saved payment method.- They pay the first invoice manually
- Send a 'set up payment method' link
- Manual entry (don't do this)
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.
Step 4: Watch the first cycle
After the start date passes (or immediately if you backdated):First invoice generates
A new invoice appears at
/dashboard/commerce/invoices/ linked to the subscription.Client pays (or auto-charge runs)
If they have a saved method, the auto-charge runs. Otherwise they pay manually through the portal.
Email reminders before the charge
For subscriptions with auto-charge, optional pre-charge reminders give the client a heads-up: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].”
Handling failed payments
When a subscription’s auto-charge fails (insufficient funds, expired card, processor timeout), the dunning policy kicks in:Day 3 — second retry
Another retry, plus an email to the client asking them to update their payment method.
Plan changes
If the client wants to upgrade, downgrade, or swap to a different plan:- Upgrade now (with proration)
- Downgrade at next renewal (no proration)
- Same-day swap (no 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.
Pausing or canceling
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.
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
Subscription is active but no invoice generated
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 is healthy.
Auto-charge not running on the cycle date
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.
Proration math doesn't match what I expected
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.
Failed payment retry isn't running
Failed payment retry isn't running
Check the dunning policy in Payment Settings. Also verify the processor connection is authorized — Stripe OAuth tokens can expire and a disconnected processor can’t retry.
Pre-charge reminder didn't send
Pre-charge reminder didn't send
Pre-charge reminders use your transactional email infrastructure. Check that your sending domain is verified — see Email Domains. Also confirm reminders are enabled for this subscription.
What’s next?
Subscriptions Reference
Full reference for plan changes, dunning, and MRR.
Track AR Aging
Find subscriptions that have gone past_due.
Reports & Analytics
Watch your MRR and ARR grow.
Set Up the Client Portal
Where clients manage their payment methods.