When this article matters
You're considering upgrading mid-cycle and want to know what you'll be charged today vs at the next renewal. Or you upgraded and the Stripe receipt has a smaller-than-expected amount and you're trying to understand why. This article walks through the proration math, the downgrade-no-proration rule, the annual-cycle variant, and the edge cases.
For the broader plan-switching context (when to upgrade vs downgrade vs cancel), see switch or cancel your plan. For the annual-vs-monthly trade-off, see annual vs monthly billing.
Upgrade math — one worked example
Suppose:
- You're on Starter (€29/mo), billing date is the 1st of the month.
- Today is the 15th of the month — 15 days into your current period, 16 days remain.
- You upgrade to Business (€49/mo).
Stripe calculates the prorated charge:
| Component | Math | Amount |
|---|---|---|
| Unused Starter credit (days 15–30) | €29 × 16/30 | €15.47 credit |
| Business charge (days 15–30) | €49 × 16/30 | €26.13 charge |
| Net charged today | €26.13 − €15.47 | €10.66 |
On the 1st of next month, you start fresh on Business at the full €49/mo. From then on, billing is normal monthly cycles.
The exact numbers depend on the day of the month, the days-in-month, and the two prices. Stripe handles the math automatically — the exact figure appears on the Stripe invoice for the change, with the full line-item breakdown in the Stripe billing portal. If you upgrade on the last day of the month, the proration approaches zero (nearly all of the period was already paid at the old rate); if you upgrade on day 1, the proration approaches the full upgrade delta.
What this means in practice
- You can upgrade any time without "wasting" what's left of the current cycle. The unused-period credit ensures you don't pay twice for the same days.
- You're charged a small partial amount immediately for the upgrade delta. It appears on your Stripe receipt.
- Stripe handles the math. The credit and the new charge are computed to the day; the detailed line items are visible in the Stripe billing portal.
- The receipt is downloadable any time from
Settings → Billingas a PDF, including the reverse-charge clause (for VAT-registered EU businesses outside Cyprus) and our company details.
The proration math is symmetric — if you upgraded by accident and want to revert, you can downgrade back. But the downgrade is not prorated (see below), so you'd stay on the higher tier for the rest of the period.
Downgrade — no proration
Downgrades work differently from upgrades:
- Scheduled for the end of the current period — no immediate change. The target plan shows a "Scheduled" state, and you can cancel the scheduled downgrade any time before it takes effect.
- You keep all current-tier features until the period ends.
- At the end of the period, you switch to the new (lower) tier and the new amount is charged on the next renewal.
- No partial refund for the unused portion of the higher tier — you've already paid for the full period, so we let you use it through to the end.
This asymmetry is intentional:
- Avoids refund surprises. Some users would expect a "I paid for the month, I get a partial refund" experience that doesn't fit how monthly subscriptions normally work.
- Keeps the math simple. Downgrades-with-proration would require Stripe to issue partial refunds mid-cycle, which complicates accounting and can introduce edge cases with chargebacks or failed refunds.
- Encourages confident upgrade. Knowing that downgrades are period-end (not instant proration in your favour) reduces "I'll just downgrade for the cheap part of the month" gaming.
Two consequences of the no-proration-on-downgrade rule:
- You can always downgrade today if you want — the change just won't take effect until the period-end.
- If you upgraded by mistake and want immediate cost relief, the only path is to use the higher tier for the rest of the period (you've paid for it).
Annual subscriptions
Annual cycles use the same prorated logic but the math involves bigger numbers because the period is 365 days:
- Annual Starter (€290/yr) → Annual Business (€490/yr) mid-cycle: prorated upgrade based on days remaining in the annual cycle. The charge can be substantial if you're early in the year. Example: 200 days remaining out of 365, the upgrade delta is
(€490 − €290) × 200/365 = €109.59. - Monthly → Annual mid-cycle: Stripe credits the unused portion of your current month and charges the full annual amount minus that credit. Effective immediately, you're on the annual plan, paying upfront for the next 365 days.
- Annual → Monthly is treated as a downgrade. Scheduled for the end of the annual cycle — you keep the annual benefits until then, then switch to monthly billing.
For unusual annual scenarios (large upgrade with many months remaining, change of billing cycle simultaneously with tier change), the exact math shows up on the Stripe invoice and in the billing portal's line items. If something looks wrong, write to [email protected] with [BILLING] prorated question and we'll walk through it.
What appears on the Stripe receipt
After the prorated upgrade processes:
- One line for the upgrade: "Subscription change credit + new period charge" with the net amount.
- VAT line (or reverse-charge clause if your VAT ID is set).
- Total: the net you paid.
Two lines = simple. The math underneath is more complex but Stripe's receipt format collapses it. If you need the detailed breakdown for accounting purposes, the full Stripe-side line items are visible in the Stripe billing portal (opened from Settings → Billing).
Edge cases
I upgraded yesterday by mistake — can I undo it? Downgrade back. The downgrade is scheduled for period-end; until then you stay on the higher tier you chose. We don't reverse the prorated charge (Stripe doesn't allow that easily), but you do get the higher-tier features for the period you paid for. Net result: a one-time small extra charge for the partial period at the higher rate, and the next renewal at the lower rate.
My credit card was declined for the prorated upgrade charge. You're routed to the Stripe billing portal to fix the payment method (Settings → Billing), then retry the upgrade. Stripe also retries failed charges on its own; if a retry succeeds after you updated the card, you don't need to re-trigger anything.
I want to skip the prorated charge and upgrade at next renewal. Currently there's no built-in scheduled-upgrade. Workaround: wait until the renewal date, then upgrade — the prorated math is then zero (full period charged at the new tier). Or upgrade today and accept the small partial charge for the rest of the cycle.
The prorated charge looks higher than I expected. Common reasons: (1) you're early in the period (more days to charge for at the new rate); (2) the new tier's rate is much higher than the old (Growth from Starter is a big jump); (3) you're on annual not monthly (the annual delta scales over many months). Check the line items in the Stripe billing portal; if it still looks wrong, write to support.
I upgraded, used the higher tier, then downgraded. What about the partial charge I paid? You paid for what you used — the partial charge covered the days at the higher tier. The downgrade scheduled is for period-end; the days you've been at the higher tier so far are fully paid for. No refund expected or owed.
VAT changed between the proration calculation and my actual payment. Rare but possible if you crossed an EU member-state border mid-cycle. Stripe uses the VAT rate at the moment of charge, not the moment of plan-change. The receipt reflects the rate as of charge time.
I want to see the proration math in detail. Open the Stripe billing portal from Settings → Billing after the change — Stripe's invoice line items show the exact credit, the exact charge, and the days used for each.
Related
- Switch or cancel your plan — the broader switching context
- Annual vs monthly billing — when to pick annual
- Understanding your document counter — the usage that drives the upgrade decision