#No option to schedule plan change
1 messages · Page 1 of 1 (latest)
You’re right—scheduled plan changes at period end aren’t currently supported natively.
What you can do instead
- Continue using your scheduler (cron / cloud task) to call the update subscription API just before renewal
- Or:
- Store the intended next plan in your DB
- Listen to subscription renewal / invoice events (webhooks)
- Trigger the plan change when the new cycle starts
Recommendation
Webhook-driven change is usually more reliable than timing a job “minutes before”.
If this is critical, raise it with the Dodo team—this is a common feature request.
@split stone if i trigger the plan change after the subscription renewal a double charge would happen, right?
they get charged full price of previous plan since it happened first, and then what?
No, it shouldn’t result in a double full charge.
What happens instead:
- At renewal → customer is charged full amount of the old plan for the new cycle
- When you change the plan after that:
- Dodo typically applies proration
- Customer is charged (or credited) for the difference between plans for the remaining period
So the second charge is not another full charge, just an adjustment.
Implication:
- Users may still see an extra charge right after renewal (the proration), which can feel confusing
- That’s why pre-renewal switching (or native scheduling) is cleaner UX
If you want to avoid any post-renewal charge events, your current “change just before renewal” approach is still the safest.
Does the bot answer help?
This query has been marked as resolved by @reef hedge.
it did answer the question, sad to not have the change for the app to auto lower the plan in next billing cycle
We are working on this
We implemented this
Thank you for the help.
Sorry if it seems like a lot but I would really like to reach a solid solution for my credit based app.
Id say the only thing left is the fact that I'm having to handle proration myself.
If a person upgrades they should be charged the price difference and receive the credit difference hopefully.
If they then down grade, it shouldnt give back the credits but wait for next month. Or at least have it as an option.
Because a person might upgrade, use all the credits (lets say it maps to llm tokens), and then downgrade and they get the cash in wallet even though they already spent the credits...
@granite ginkgo please look into this
Checking