Docs
Sign In

Subscriptions & policies

A subscription is what turns a membership plan into recurring billing. This page covers how one gets started, what each status means, and what to do about pauses, cancellations, and failed payments.

Start a subscription

A subscription can start three ways: you start it from a member's profile, a prospect starts it while joining through your signup page, or an existing member starts it themselves from their own app.

Pending members activate the moment billing starts

A member sitting on your roster as Pending — someone who booked a free trial, or stopped partway through your signup page — becomes Active automatically the instant a subscription starts for them, whichever of these paths gets them there. No need to click Activate Member yourself. See Member statuses.

From a member's profile

Go to Members, open the member, and find the Membership card. Click Start Subscription, pick a plan, add a Promotion Code if one applies, and confirm.

Start Subscription
Card on file will be charged for Maria Reyes.
PlanUnlimited Adults · $150/mo
Promotion Code (optional)Enter a code
Confirm & Subscribe

If there's no card on file yet, you enter one right there — no redirect, no separate checkout page. The button then reads Continue instead.

The same Start Subscription action lives on a member's profile in your mobile app, with the same plan picker and card entry.

Another way in

Your Dashboard home's Charge button can also start a subscription — choose Membership Plan as the charge type. See Charging a member.

The member starts it themselves

Joining through your signup page. A prospect who opens trainos.site/your-url/signup picks a plan and pays on their own phone as part of joining — no staff work needed. See Share your signup link for the full walkthrough of that page.

From their own app, once they're already a member. A member with no active plan opens Plans and taps Subscribe. They enter their own card, or TrainOS charges whatever card is already on file. A member who already has a plan sees Change Plan here instead — see Change a member's plan below.

What each status means

Active
Full access
Paying on schedule.
Trialing
Full access
On a free trial period.
Past due
Full access
A payment failed and is being retried.
Paused
No access
Billing is frozen until it resumes.
Cancelled
No access
The membership has ended.

You'll see these on Payments → Subscriptions and on each member's Membership card. A subscription with a cancellation scheduled shows its current status plus the date it cancels.

Past due is a grace period, not a lockout

A member with a failed payment keeps checking in as usual. If your academy requires a subscription to train, that setting only blocks someone with no subscription at all — a past-due member still has one. See When payments fail below.

Pause a subscription

You can pause or resume any subscription at any time — the one exception is a yearly plan, which can't be paused by you or the member.

While pausedNo charges go out.
ResumingBilling restarts on the date you set. Either of you can resume early instead.
Yearly plansCan't be paused, by you or the member.

Pause from Payments → Subscriptions, or from the member's Membership card — both have a Pause action. You choose 1, 2, or 3 months, or type in any custom length. Members pause from the Membership screen in their own app, within whatever limits you set — see Set your policies below.

You are never limited by these settings

Every pause, cancel, and switch setting only governs what a member can do on their own. You can always pause, resume, cancel, or switch any member's plan yourself, and without the limits those settings put on members.

Cancel a subscription

You choose exactly when a cancellation takes effect:

At end of billing periodThe member keeps access until their current period ends. No further charges.
A future dateEnd of next period, end of the following period, and so on. Offered on plans that bill from every four weeks up to just under a year — monthly, 3-month, and 6-month plans, but not weekly or yearly ones. The first date that satisfies your Minimum notice period is marked Academy policy.
ImmediatelyAccess ends right now. Any time already paid for in the current period is forfeited.

A subscription that's already past due skips all of that — cancelling it is immediate only, stops the payment retries, and writes off the unpaid invoice.

Changed your mind, or so did the member? Undo Cancellation removes a scheduled cancellation and restarts normal billing, any time before the end date arrives.

Change a member's plan

A plan's price is locked in the moment you create it — the only way to charge something different is to deactivate it and create a new one (see Membership plans). Editing prices this way never touches anyone already subscribed; each member keeps paying what they signed up for until you move them to a different plan.

To move a member, click Switch Plan from Payments → Subscriptions or the member's Membership card, and pick a New Plan. TrainOS shows how the switch is handled before you confirm:

UpgradeA pricier plan or a longer billing interval. Defaults to prorating and charging the difference right away.
DowngradeA cheaper plan or a shorter billing interval. Defaults to waiting until the current billing period ends, at no extra charge today.

You can override how any switch is handled — charge the difference immediately, add it to the next invoice instead, or skip proration entirely — and TrainOS shows the exact amount due before you confirm. A scheduled downgrade can be called off with Cancel Switch, on your side or the member's, before it takes effect.

When payments fail

Payment fails
The card on file is declined on the renewal date.
Past due
automatically, on its own schedule
Stripe retries
Nothing for you to do yet.
the member fixes it
Card updated
From Cards on file, or their own app.
the moment the card is updated
Retried right away
TrainOS doesn't wait for the next scheduled attempt.
Active again

Fixing the card is what speeds things up — TrainOS retries the unpaid invoice the instant a new default card is saved, instead of waiting for the next scheduled attempt.

If every retry fails

Once Stripe's own retry schedule is exhausted, it may cancel the subscription — TrainOS reflects that here as Cancelled. Start a new one from the member's Membership card any time.

Meanwhile, a past-due member keeps checking in as usual — the front-desk kiosk just shows a Membership past due banner as a reminder to update their card. See Attendance & check-ins.

Set your policies

Go to Settings, then find the Membership Lifecycle section. Only owners and admins can change these.

Members can pauseOff by default. Set how long and how often, when you turn it on.
Members can cancelOn by default. You can require advance notice on plans that bill from every four weeks up to just under a year — monthly, 3-month, and 6-month plans.
Members can switch plansOn by default. Upgrades and downgrades can be allowed separately.

See Academy settings for the exact defaults and ranges, and how a failed payment behaves.

What members see

9:41
Membership
Unlimited Adults
Active
Next billing Aug 15

$150

/ month

ChangePauseCardHistory
Cancel Membership
Only the actions you've allowed appear. Turn Pause off and it disappears from this screen entirely.

Who's allowed to do what

FeatureOwnerAdminInstructorStudent
Start a subscription for a member✓✓——
Manage any member's subscription✓✓——
Manage their own subscription✓✓If allowedIf allowed
Apply or remove a discount✓✓——
Change Membership Lifecycle settings✓✓——

Instructors and students don't get billing access

The web dashboard is owner and admin only, so these rows describe the mobile app. An instructor can manage a subscription of their own the same as any member, gated by the same settings — but not anyone else's. Billing stays with owners and admins.

See also