Short answer
Update the affected subscription items back to the original price with proration_behavior=none. Delete any pending proration items the first change created, and refund or credit any invoice that has already charged the wrong amount. The original price still works even if it's archived.
With the Change Subscription Price App, rolling back is one more job: the original job's CSV report tells you exactly which subscriptions to move back, and neither job creates proration items to clean up.
Change Subscription Price App — by FinriteUpdate a price across all your Stripe subscriptions from the dashboard, in bulk. Built by former Stripe Billing product managers and engineers.
View on Stripe Marketplace1. Stop the bleeding
If a migration is still running or scheduled, stop it first. Then decide how urgent the rest is. If nobody has renewed since the change, you have until the next renewal date to fix it quietly. If renewals have already happened, some customers have been billed and you'll need step 5.
2. Find exactly who changed
Your migration log is the best source. The Finrite app gives you a per-subscription CSV for every job. Without a log, list active subscriptions on the new price (GET /v1/subscriptions?price=price_new) and exclude anyone who legitimately signed up on it after the change, for example by filtering on creation date.
3. Move them back
Update each subscription item back to the original price ID with proration_behavior=none. If you use prorations here, you create a second adjustment on top of the first. This is the most common way a rollback makes things worse.
With the app, run a new job from the new price back to the old one, targeting only the subscriptions in the original job's report.
4. Clean up pending proration items
If the original change used Stripe's default proration behavior, each affected customer has pending invoice items waiting for their next invoice. List the customer's pending invoice items and delete the proration lines before the invoice finalizes.
5. Refund or credit what was already billed
Changing the price back doesn't touch invoices that are already paid. For each overcharged invoice, either refund the difference on the payment, or add a customer balance credit that the next invoice absorbs automatically. A credit is quieter; a refund is cleaner if the customer has already noticed.
6. Tell the customers who noticed
A short note, "we applied a price change to your account in error, it's been reversed and the difference refunded," is enough, and it heads off disputes.
How the Change Subscription Price App makes rollbacks painless
- You know exactly who changed. Every job produces a per-subscription CSV.
- Rolling back is one job. Run it from the new price back to the original.
- Nothing to clean up. Neither direction creates prorations, so step 4 above doesn't apply.
- Fewer rollbacks in the first place. Most come from prorations left on, duplicate items or reset quantities, and the app prevents all three.
Change Subscription Price App — by FinriteUpdate a price across all your Stripe subscriptions from the dashboard, in bulk. Built by former Stripe Billing product managers and engineers.
View on Stripe MarketplaceFrequently asked questions
Can I undo a subscription update in Stripe?
There's no undo button, but the old price still exists, even if it's archived. Update the subscription item back to it with proration_behavior=none and the subscription bills exactly as before from the next renewal.
Can I move subscriptions back to an archived price?
Yes. Archiving only hides a price from new checkouts. Existing and updated subscriptions can still reference it.
What if customers were already charged the new price?
Refund the difference on the affected invoice, or add a credit to the customer's balance so the next invoice absorbs it. Reverting the price doesn't change invoices that are already paid.
How do I reverse a change made with the Finrite app?
Run a new job from the new price back to the original price. The job's CSV report tells you exactly which subscriptions were changed, so you can target only those.
Related guides
Every change logged, every change reversible
Each Change Subscription Price App job produces a per-subscription CSV report, so you always know exactly what to roll back.
Install from the Stripe App MarketplaceRead the app user guide first · Questions? contact@finrite.co