---
title: "Changing a plan"
description: "Moving a Project up or down, when the charge lands, when the new allowance actually arrives, and what happens to work already produced."
updated: "2026-08-29"
verifiedAgainst:
  - apps/web/lib/project-plan-change.ts
  - apps/web/lib/new-project-quote.ts
  - apps/web/lib/server/project-plan-change-billing.ts
  - apps/web/lib/server/project-plan-change-delivery.ts
  - apps/web/components/change-project-plan-dialog.tsx
---

Plans are changed per Project, from that Project's billing settings.

Two things happen at different moments, and keeping them apart is the whole of
this page: **when you are charged** and **when the new allowance arrives**.

## Upgrading

The charge is immediate. Confirming an upgrade raises an invoice straight away,
prorated for the rest of the current period, and the dialog shows the amount due
today before you confirm it.

The allowance is not immediate. It arrives when the payment is confirmed, not
when you press the button.

<Callout variant="note" title="What you see if payment has not landed yet">
  The Project stays on its current plan and the dialog says so, with a link to
  complete the payment in Stripe. That is the intended state rather than a
  failure: it means you are not being given a larger allowance that has not been
  paid for, and there is no second purchase to start. Once Stripe confirms, the
  new plan is delivered on its own.
</Callout>

For most card payments the gap between the two is not noticeable. It becomes
visible when a card needs additional authentication, or when the payment is one
Stripe processes asynchronously.

## Downgrading

A downgrade is scheduled rather than applied. Nothing is charged today, and the
Project keeps its current plan and its current, larger allowance until the
period ends. At renewal the lower plan and the lower allowance start together.

<Callout variant="tip" title="This is the reason not to worry about downgrading mid period">
  Because the smaller allowance does not apply until renewal, a Project that has
  already spent more than the smaller plan allows is not pushed over its limit
  by the change. You keep what you are paying for until you stop paying for it.
</Callout>

## During a trial

While the workspace is trialing, a plan change is applied when the trial ends
rather than during it.

## A change that moves allowances both ways

A change that would raise one allowance while lowering another is refused rather
than guessed at, because there is no honest answer to whether it should be
charged now or scheduled for renewal. This does not arise between the self-serve
plans; it is why an unusual combination can be declined with a message about
needing a billing policy.

## What a change does not affect

- Published posts, drafts and topics stay exactly as they are.
- Knowledge, assets and analytics are untouched.
- Other Projects in the workspace keep their own plans.

## The quote

Before confirming, the workspace shows what the change costs, including how it
interacts with your multi Project discount band. That figure comes from Stripe
rather than from an estimate: the amount due today, and what the subscription
becomes at the next renewal, are shown side by side with the allowances the
Project ends up with.

A quote is only good for a few minutes. Leave the dialog open for longer and it
is re-quoted rather than charged against a stale figure, which is what stops you
being billed an amount that was true when the page loaded and is not true now.

## If a payment fails

A failed renewal puts the workspace into recovery: a banner appears with what to
do, and there is a grace period before access is restricted. Updating the card
resolves it.

## Plan changes in Stripe's portal

Deliberately switched off. Pricing is per Project and the portal only understands
the subscription, so a change made there would put a workspace on a plan the
product never agreed to. Change plans in the workspace.
