# Changing your plan

> How upgrades and downgrades actually work, what happens to your quota, and why there's no proration.

Source: https://hyperjobs.io/help/changing-plan

Plan changes happen on [Billing & settings](/settings). Each paid plan has a
button; clicking one sends you to Stripe Checkout, and the change lands when the
payment succeeds.

Read this page before you click. The mechanics aren't what most subscription
products do, and the difference costs money if you assume wrong.

## What actually happens

A plan change is **not** an edit to your existing subscription. It's a new
subscription that replaces the old one:

<Steps>
  <Step title="You check out on the new plan">
    Stripe charges the new plan's **full price**, immediately. Checkout tells you
    what it's about to do above the submit button.
  </Step>
  <Step title="A new billing period starts now">
    Not at your old renewal date. Today becomes day one of the new period, and
    your next renewal is one month from today.
  </Step>
  <Step title="Your quota is refreshed to the new allocation">
    Immediately, and from zero — not carried over, not topped up. On Growth you
    get a fresh 500,000 for the new period regardless of what you'd already spent
    this month.
  </Step>
  <Step title="Your old subscription is cancelled">
    Automatically, as soon as the new payment lands. You're never on two
    subscriptions at once.
  </Step>
</Steps>

<Warning title="There is no proration">
  Unused time on your old plan is **not** credited against the new one and not
  refunded automatically. If you upgrade from Starter to Growth on day 25 of a
  month, you paid $49 for that month and you pay $199 now — the five remaining
  Starter days are simply gone.

  This applies to downgrades made with the in-app plan buttons too, and it's
  worse there: switching Growth → Starter charges you $49 today and cancels the
  Growth subscription you'd already paid for. Downgrade through the Stripe portal
  instead — see below.
</Warning>

The practical rule: **change plans near your renewal date, not just after it.**
If you're mid-period and not blocked, waiting costs you nothing and switching
costs you the remainder.

If a change went badly wrong — you clicked the wrong tier, or upgraded a day
after renewing — write to <Email kind="hello" /> before doing anything else. See
also the [refund policy](/legal/refund).

## Upgrading

Upgrading is the one case where the mechanics work in your favour: the new,
larger quota is live immediately, so an upgrade is the fastest way out of an
exhausted quota. You don't wait for the next calendar month. See
[your quota](/help/quotas).

## Downgrading

There are two routes to a cheaper plan, and they do different things. This is the
distinction worth getting right:

| | In-app plan button | Stripe customer portal |
| --- | --- | --- |
| Takes effect | Immediately | At the end of the period you've paid for |
| Charges you | The new plan's full price, today | Nothing today; cheaper price at next renewal |
| Current period | Cancelled and lost | Kept, at the limits you paid for |

The portal route is what most people mean by "downgrade", and it wastes nothing —
you keep the plan you already bought until it runs out, then the cheaper one
starts. Open it from [Billing & settings](/settings) → **Manage billing /
invoices**.

Use the in-app button only when you want the change *now* and accept paying for
it now.

If you're unsure which one you want, ask <Email kind="hello" /> before clicking.
Reversing a downgrade you didn't mean is a refund conversation, and the
[refund policy](/legal/refund) doesn't refund price differences by default.

## Moving to Free

There's no Free button, because Free isn't something you buy. To get to Free,
[cancel](/help/cancelling) — you keep paid access until the period ends, then the
account drops to Free's 500 requests per month and 10 requests per minute. Your
keys keep working the whole time.

## Buying the same plan again

The app rejects re-buying a plan you're already on, with one exception: **Scale**.
Scale is the top tier, so there's no upgrade available when a Scale account
exhausts its 5,000,000 requests — re-purchasing Scale refreshes the quota with a
new allocation and starts a new period, at full price. It's an escape hatch, not
a discount.

On any other plan, the same-plan button is disabled and a direct API call is
refused; the answer there is to move up a tier.

## Promotion codes

Stripe Checkout shows an "Add promotion code" field. If you have a code, enter it
there — it applies to the subscription created by that checkout.

## Billing interval

Every checkout in the app is monthly. Annual billing exists at 10× the monthly
price (two months free) but isn't self-serve — ask <Email kind="hello" />.

## Next

<CardGroup cols={2}>
  <Card title="Invoices & receipts" icon="Receipt" href="/help/invoices">
    Where the charge shows up, and how to get a VAT invoice.
  </Card>
  <Card title="Cancelling" icon="RefreshCw" href="/help/cancelling">
    Stopping at period end, and what survives.
  </Card>
</CardGroup>
