Billing

Cancelling & refunds

Two ways to cancel — at period end (always available, no money back) or with a refund (annual subscriptions within the first 30 days). Plus what happens to your data on the way out.

For
Admins evaluating cancellation, finance owners checking refund eligibility
Find it at
Admin → /billing → Cancel
Reading time
5 min

In one sentence

You can cancel any subscription at any time — always at the end of your current billing period, and sometimes with a full refund if you're inside the 30-day money-back window on an annual plan.

Three things to remember
  • Cancel-at-period-end is always available. Service runs through the date you've already paid through, then your org goes read-only for 30 days, then it's deleted. No money back, but no rush either — you can resume any time before the period ends.
  • Annual plans get a 30-day money-back window. Within the first 30 days of a new annual term, you can cancel immediately and get a full refund of the most recent invoice. Monthly plans aren't refunded at all.
  • The $10 trial AI bucket is never refunded. It's not part of the subscription invoice, so the annual-window refund naturally doesn't include it. Use it during the trial or it's gone.

How to cancel

From Admin → Billing, scroll to the bottom and click Cancel subscription. A modal appears with the available paths.

Path 1 — Cancel at period end (always available)

What happens:

  • Your subscription status flips to active_canceling.
  • The /billing page shows a banner with the date your access ends.
  • You keep full access until that date — same modules, same seat counts, same AI subscription.
  • After the period ends: status flips to readonly, you keep sign-in for 30 days but can't create or edit anything.
  • After the 30-day read-only window: the org is permanently deleted.

Want to come back? Resume subscription appears on /billing while you're in active_canceling and (with a fresh payment method) during the read-only window. Either restores you to a paying state without data loss.

Path 2 — Cancel and refund (annual plans, within 30 days)

If your plan is annual and you're inside the 30-day money-back window from the start of your current annual term, the cancel modal shows a second option: "Cancel now and refund $X". The dollar amount is exactly what your most recent subscription invoice charged.

What happens:

  • Your access ends immediately — not at the period end.
  • The full invoice amount is refunded to your original payment method via Stripe.
  • The org enters the same 30-day read-only window as path 1, then is deleted.

This option appears only when:

  • The plan is annual (monthly subs are never auto-refunded).
  • The current annual term started 30 days ago or less.
  • The most recent invoice is paid (not failed, not unpaid).

Outside any of those, only Path 1 is available.

Watch out for: the trial $10 AI bucket is never refunded

If you bought the $10 sample bucket during your trial and then converted to a paid plan, that $10 charge is separate from your subscription invoice and is never auto-refunded. It's a one-time purchase you used or didn't.

What gets refunded — and what doesn't

When the annual-window refund fires, the full most-recent subscription invoice is refunded. Practically, that's:

LineRefunded?
Plan base (Starter / Professional / Business)✅ Yes
Additional Full users beyond the included✅ Yes
Additional R&A blocks beyond the included✅ Yes
Storage add-on blocks (+50 GB / +200 GB / +1 TB) — billed on the same invoice✅ Yes
AI subscription (Managed or BYOK operating fee) — billed on the same invoice✅ Yes
Trial $10 sample AI bucket — separate invoice❌ Never
Other one-time charges (e.g. concierge migration)❌ Manual support intervention only

The refund hits Stripe immediately; the bank or card-issuer typically posts it back within 5–10 business days.

What happens to your data

Whichever cancellation path you pick, the data lifecycle is the same once your access ends:

PhaseDurationWhat you can do
Read-only30 days from when access endsSign-in still works. Admins can come back, add payment, and reactivate. No edits, no creates, no AI.
Deletion notice7 days before deletionEmail warning to all admins with a final reactivation link.
DeletedDay 30All organization data is permanently removed. Recovery is not possible after this point.

The deletion clock is the same one we use after a trial ends without conversion. See Trial restrictions for the same shape.

Subscription states you might see on /billing

A quick legend so the status badge isn't a mystery:

StatusWhat it means
ActivePaying customer, normal state.
TrialInside the 30-day free trial.
active_cancelingYou've cancelled-at-period-end. Access continues until the period ends. Resume is one click.
past_dueA payment failed. AI subscriptions are paused while the org is past_due; the rest of the app keeps working for a short grace window. Update your payment method to recover.
readonlyAccess has ended but data is preserved for 30 days. Reactivation possible with a new payment.

Audit & compliance angle

Every cancellation, every refund, every state transition is logged with an activity_type:

  • subscription_cancelled — the cancel-at-period-end action.
  • refund_issued — the annual-window refund. Includes the amount, the Stripe refund ID, and policy: 'annual_30day_window' in the metadata.
  • payment_failed and payment_recovered — the past_due transitions.

These show up on the org's Activity timeline (visible to admins) and persist through the read-only window. If you ever need to prove "we cancelled on March 14, refund issued same day, $4,990 returned", the data is there.

Public refund policy

A public summary of this policy is available at /legal/refunds — same numbers as above, just outside sign-in so finance teams and procurement can read it before signing up.

Was this helpful?
Suggest an edit →