Plan changes and proration
How upgrades, downgrades, and mid-cycle plan changes are handled in Stripe.
Upgrading your plan
Upgrades (e.g., Free → Starter, Starter → Pro) take effect immediately. Stripe calculates a prorated charge for the remainder of your current billing period and applies it to your next invoice. Your new plan limits and alert types are available as soon as the upgrade is confirmed by the Stripe webhook.
Downgrading your plan
Downgrades (e.g., Pro → Starter, Starter → Free) take effect at the end of the current billing period. Stripe does not issue a refund for unused days; the current period runs to its end date. Companies above the new plan limit remain on your list but stop receiving advance alerts once the downgrade is active.
Monthly to annual
Switching from a monthly plan to an annual plan applies from the next billing cycle. Stripe prorates any unused days on the monthly plan as a credit toward the annual charge. The credit is shown in the Stripe billing portal before you confirm the switch.
What the code does
Plan changes are processed via the Stripe customer portal (for self-service) or via webhook events (customer.subscription.updated, customer.subscription.deleted). PenaltyProof updates your plan field in the database when the webhook confirms the change. There is no manual step required.
Common questions
Is there a refund when I downgrade mid-cycle?
Stripe does not refund unused days when you downgrade. The current billing period runs to its end regardless. If you believe there has been a billing error, contact us at hello@penaltyproof.co.uk.
Can I switch from annual to monthly?
Annual-to-monthly switches are handled in the Stripe billing portal. Contact us at hello@penaltyproof.co.uk if you need help with this — the self-service portal may require a support step for this direction of change.
Related articles
PenaltyProof checks Companies House deadlines and configured HMRC-rule reminders for the clients you add.
Start 30-day free trialOr start free with up to 5 companies.