## TL;DR

Schedule the downgrade with a subscription schedule or by updating at period end so the cheaper price starts on the next cycle with zero proration. Avoid updating mid-cycle with default proration, which creates credit line items and confusing invoices. Preview the upcoming invoice to prove no proration lines exist.

## Steps

1. Choose the mechanism: subscription schedules for full control, or a timed update at period end.
   Expected: You pick schedule-based for complex changes, simple update for one-step downgrades.
2. With subscription schedules, create a schedule from the current subscription with a new phase starting at period end carrying the cheaper price.
   Expected: The downgrade is queued and proration-free by construction.
3. With the simple path, wait until current_period_end, then update the subscription price.
   Expected: No partial period exists to prorate.
4. Preview the upcoming invoice before the renewal to confirm no proration lines.
   Expected: You have proof the invoice is clean.
5. Notify the customer that the lower price starts on the next billing date.
   Expected: Expectations match the invoice they will receive.

## When to use

- A customer downgrades to a cheaper plan
- You want zero proration noise on downgrades
- Finance needs clean period boundaries

## When not to use

- The customer upgrades (immediate proration is usually correct)
- The downgrade must take effect today (then handle proration deliberately)
- You are canceling outright (different flow)

## Compatibility

Stripe Billing; subscription schedules since API 2018-07-27. current_period_end on subscription objects.

## Variant phrasings

### ### Stripe schedule downgrade no proration

### ### downgrade at period end Stripe subscription

### ### avoid proration credit on downgrade

## Root cause

Default proration exists to be fair on upgrades (pay for what you use now), but on downgrades it generates credits and partial-period math that confuse customers and complicate revenue recognition. Period-end scheduling sidesteps the partial period entirely.

## Edge cases

- If the customer already paid annually, a downgrade may still warrant a credit note discussion with finance
- Subscription schedules add operational complexity; use them when downgrade-then-upgrade sequences are common
- Metered plans: usage through period end still bills at the old metered price

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_aVATaS1VE6j1maNll94Mjg
