Skip to content
LatchkeyLatchkeyLatchkey home
Documentation menu

Managing your subscription

The Billing page, changing plans, adding seats, the Stripe customer portal for payment methods and invoices, and what each subscription status means.

The Billing & Subscription modal
The Billing & Subscription modal: plan, seats, runner usage, and the billing actions.

Click Billing in the dashboard sidebar (owners and admins) to open the Billing page. Members see it as View only, with a note to contact the workspace owner or admin for changes.

What the page shows#

  • Estimated bill this period: the plan fee, runner minutes past the free allowance, and extra seats, added into an estimated total with its invoice date.
  • Repositories: monitored count against your plan limit.
  • Seats: seats in use against your limit, with any purchased extras marked.
  • Runners at once and Payment method: your concurrent runner cap and the card on file.
  • A Trial ends notice while trialing: the date the trial ends and you keep the plan you pick.
  • Runner usage this period: a free-minute meter, this period's minutes by runner size and billed past the free minutes, and the estimated runner cost so far.

The Runner usage this period panel is the one worth a monthly glance: it is the live view of free-tier consumption and the runner cost accumulating this period. The mechanics behind those numbers are covered in Runner usage and free minutes.

While trialing, a dashboard banner also reminds you to add a payment method before the trial ends, so your managed runners keep running without interruption; the page's trial notice tells you how long you have.

The actions#

  • Change plan upgrades or downgrades in place. Downgrading below your monitored-repository count asks you to choose which repositories stay monitored. Downgrading to Developer requires the workspace to have only one member.
  • Manage seats adds or removes $5/month seats on every plan except Developer, with a live price preview before you confirm. It needs a Stripe subscription on file, so it stays disabled during a card-less trial.
  • Invoices & payment method opens the Stripe customer portal, where payment methods, invoices (with PDFs), and subscription details are managed securely by Stripe. It is disabled until the workspace has a Stripe customer, which happens when you first subscribe.
  • Contact support is on the page too, for anything the other buttons cannot fix.

Manage Seats#

The Manage Seats modal (every plan except Developer) sets the new seat count with a plus/minus counter, and a live Price Change preview shows exactly what the change costs before you confirm: price per seat, current monthly, new monthly, and the prorated charge today. You cannot reduce seats below your number of active members, so no change can orphan a teammate. No surprise charges either way: what you see in the preview is what the confirmation applies.

Downgrading without surprises#

Upgrades are simple: pick the higher plan and the new limits apply. Downgrades have two rules worth knowing before you start, both enforced by the flow itself:

Check the repository count

Each plan caps monitored repositories (Developer 1, Launch 10, Scale 40). If you are above the target plan's cap, the downgrade asks you to choose which repositories stay monitored, so it is worth deciding which ones matter before you change the plan. See Managing repositories.

For Developer: get to one member

Downgrading to Developer requires the workspace to have only one member, because the plan has no team collaboration. Remove members from the Team page first; each removal frees the seat immediately.

Change the plan and verify

Use Change plan, then confirm the after-state on the same page: repositories against the new limit, seats in use, and the estimated total.

Subscription statuses and their effects#

StatusWhat it means for you
ActiveFull access.
TrialingFull access until the trial end date.
Past dueA payment failed. Dashboard and API access are blocked and runner launches stop until the payment method is fixed in the Stripe portal.
PausedThe subscription is paused. Dashboard and API access are blocked and runner launches stop until it is resumed.
CanceledThe subscription ended. Access is blocked, but billing remains reachable so you can re-subscribe; your data is retained.

The blocked states have different exits. Past due resolves through Stripe once the payment method is fixed; until then the workspace lands on the activation screen, and dashboard, API, and runner launches stay blocked. Contact support if you need the payment link. Paused clears when the subscription is resumed. Canceled keeps billing reachable on purpose, so you can re-subscribe whenever you choose; your data is retained while you decide.

Common questions#

Where do I see exactly what my next charge will be?

The Billing page shows it as the Estimated total: this period's estimate and its invoice date, covering the plan, runner minutes, and any extra seats. Once an invoice is issued, the itemized version with a PDF lives in the Stripe customer portal, under Invoices & payment method.

I changed plans mid-cycle. What will I actually pay?

Check the Estimated total on the page right after the change: it shows the estimated upcoming charge and its date. The Stripe portal has the itemized invoice once it is issued.

Do runner minutes arrive on a separate bill?

No. Usage beyond your free minutes lands as metered line items on the same monthly Stripe invoice as your plan. See Runner usage and free minutes.

What happens to my data if I cancel?

Your data is retained, and billing remains reachable so you can re-subscribe later. The destructive path is different and deliberate: deleting the workspace (Settings, Account; owner only) permanently removes its repositories, workflow data, and managed runner resources. Your GitHub repositories themselves are never affected.

Who can manage billing?

Owners and admins get the full Billing page; members see it as View only and are pointed to the workspace owner or admin for changes.

References