A monthly or yearly service is a Stripe subscription for one add-on, separate from the customer's plan subscription. Stripe charges it automatically until the customer or you cancel it.
Typical examples are Google Business Profile management, ads management, a monthly reporting call, or a remove-branding add-on.
Set up a recurring service
- Create the service at `Business -> Billing & Revenue -> Custom Products -> Create Product -> Service or add-on`
- Under `How do customers pay?`, choose `Stripe checkout`
- Set `Billing` to `Monthly` or `Yearly` and enter the `Price`
- Or click `Use an existing Stripe price ID` and paste a Stripe price that bills every month or every year at a fixed amount
- Turn on `Show to customers` and click `Save changes`
`Your own link` services can show `Monthly` or `Yearly` on the card, but the platform does not bill them. Use that only when you bill the customer elsewhere.
How it relates to the customer's plan
- The service subscription never changes the customer's plan, credits, or plan status
- Cancelling the service never downgrades their plan
- Syncing subscriptions from the customer's manage page does not turn a service subscription into a plan subscription
- You cannot use the Stripe price of one of your custom plans for a service. The editor shows `This price belongs to one of your custom plans. Create a separate price for the service.`
To make an add-on like remove branding take effect, change the option for that customer after they buy: open `Business -> Customers -> Manage Customers`, click `Manage` on the customer, go to `Plan Options -> General`, set `Remove 'Powered By' Branding` to `Enabled`, and click `Save`.
What the customer sees
- The `Manage` button only appears when the customer's plan shows `Billing Pages`
- If a customer tries to subscribe again while a subscription is still live in Stripe, they see `You already have an active subscription to` the service, with a `Manage billing` button
| Situation | Card shows |
|---|---|
| Not subscribed | The price per month or year and the `Subscribe` button (or your label) |
| Subscribed and active | `Active` badge and a `Manage` button that opens the Stripe billing portal |
| Set to cancel at the end of the period | Still `Active` until the period ends |
| Payment past due | Still `Active`, so they can fix payment through `Manage` |
| Cancelled | The button again, so they can subscribe again |
Renewals and cancellations
- Stripe renews and charges the subscription on its own schedule. Renewals appear in Stripe, not as new orders
- Customers can cancel from the Stripe billing portal if your billing portal settings in Stripe allow cancellation
- You can cancel any service subscription in your Stripe dashboard
- Subscription orders have no `Cancel` action in `Orders`, because cancelling there would not stop Stripe charging. Cancel in Stripe instead
One currency per customer
Stripe keeps each customer in one currency. A customer subscribed to a plan billed in USD cannot buy a service priced in EUR.
The service editor warns you when this can happen: `Some of your plans are billed in` those currencies. The customer sees `This service is priced in a different currency from your current subscription.` if they try to buy.
- Keep your platform currency and your plan prices in the same currency
- If you need a service in a plan's currency, create that price in Stripe and use `Use an existing Stripe price ID`
SEPA Direct Debit and other delayed payment methods
Some payment methods, such as SEPA Direct Debit, take a few days to confirm. The customer returns to `Services` with `Your payment is being processed. You will get an email when it is confirmed.`
The order is recorded and you are emailed once the payment succeeds. If it fails, no order is recorded. For monthly and yearly services, Stripe can keep the unpaid subscription open for a while, and during that time the customer sees `Manage billing` instead of buying again.