Commet
  • Pricing
Log InTry out

How Commet Handles Subscription Changes Without Chaos

A clear look at Commet's rules for upgrades, downgrades, proration, interval changes, and other subscription changes that usually create confusion.

G
Guido Irigoyen·@guidooirigoyen·March 19, 2026
Blog

Most subscription systems become hard to reason about the moment a customer changes something.

Not when they subscribe.

When they upgrade in the middle of a cycle. When they downgrade after a budget review. When they move from monthly to yearly. When you deprecate a plan. When you improve a feature for everyone. When you reduce limits for new customers but need existing accounts to keep working.

This is where "flexible billing" often turns into policy sprawl.

At Commet, we wanted a simpler rule set:

Changes that benefit the customer happen immediately. Changes that reduce value wait until renewal.

That rule is what keeps subscription changes understandable for both the team operating billing and the customer experiencing it.

Why billing changes get messy

Most teams are not actually confused about pricing.

They are confused about timing.

Questions like these are what create support tickets:

  • Do I get charged now or later?
  • Do I lose access immediately?
  • If I already paid, do I get a refund?
  • What happens to seats and limits?
  • Can I switch by myself in the portal?

If the rules are inconsistent, every plan change becomes a custom explanation.

That does not scale.

The Commet rule set

Commet handles the main subscription changes with a consistent commercial logic.

ChangeWhat happens
Upgrade to a more expensive planImmediate, with proration
Downgrade to a cheaper planTakes effect at renewal
Monthly -> YearlyImmediate
Yearly -> MonthlyTakes effect at renewal
Free -> PaidImmediate, full new charge

This is not just a technical implementation detail. It is a policy choice designed to keep billing legible.

Upgrades happen now, and proration keeps the math fair

If a customer upgrades mid-cycle, they should get the new plan immediately.

That is the whole point of upgrading.

Commet credits the unused portion of the current plan and charges the prorated cost of the new plan for the remaining time in the cycle.

Starter: $29/month
Pro: $99/month
Upgrade on day 15 of a 30-day cycle

Credit for unused Starter time: $14.50
Charge for remaining Pro time: $49.50
Pay today: $35.00

That makes the upgrade feel immediate without forcing the customer to pay twice for the same days.

Downgrades wait until renewal

Downgrades are different.

If the customer already paid for the current period, the cleanest rule is to let them keep what they already paid for and switch later.

So in Commet:

  • the current plan stays active until renewal
  • the lower plan takes effect on the next cycle
  • there is no mid-cycle refund logic to untangle

This is easier for everyone involved.

The customer knows they keep access through the time they already bought. Your team does not need to explain partial reversals or access reductions in the middle of a paid cycle.

Interval changes follow the same logic

Billing interval changes are treated as commercial upgrades or downgrades, not as a separate special case.

That means:

  • Monthly -> Yearly is immediate
  • Yearly -> Monthly waits until renewal

Again, the rule is about whether the customer is moving into a higher-commitment plan now or stepping down into a lower one later.

Consistency matters more than novelty here.

Free to paid is immediate

Free plans do not create billable credit.

So when a customer moves from free to paid, there is nothing to prorate. They simply start the paid subscription and pay the full price of that plan.

That keeps the flow straightforward:

  • free plan ends
  • paid plan starts
  • checkout happens now

Plan changes are not only about price

Subscription-change logic also matters when the plan itself changes over time.

This is where a lot of systems become opaque.

Commet applies the same benefit-versus-harm principle to feature changes:

  • if you add value, existing customers get it immediately
  • if you reduce value, the reduction applies at renewal

Examples:

  • You raise an API limit from 5,000 to 10,000: existing customers get it now
  • You lower that limit from 10,000 to 5,000: existing customers keep the old limit until renewal

That protects customer trust while still letting you evolve your plans.

Commet Customer Portal plan management view with available subscription change options.

Self-serve changes require structure

A self-serve plan switch should not mean unlimited plan chaos.

In Commet, customers can only upgrade or downgrade through the portal when plans are organized into a Plan Group.

That matters because the portal needs a defined path:

  • which plans are in the same commercial family
  • what order they sit in
  • which moves count as upgrades or downgrades

Without that structure, plan changes become manual. With it, self-serve changes stay safe and predictable.

Deprecating and deleting plans should not punish current customers

Eventually every pricing system changes.

Some plans need to disappear from the pricing page. Some need to be retired entirely.

Commet handles those cases explicitly:

  • Deprecating a plan removes it from sale, but existing customers stay on it
  • Deleting a plan requires a clear outcome for existing customers at renewal

That keeps old subscriptions stable without freezing your pricing forever.

The goal is not more flexibility. It is fewer surprises.

The best subscription-change system is not the one with the most branches.

It is the one customers can understand without contacting support.

That is why Commet keeps the rules narrow:

  • immediate when the customer is moving up
  • renewal when they are moving down
  • fair proration when needed
  • explicit structure for self-serve changes

That is what subscription logic should feel like: not magical, just coherent.

Read the Upgrade and Downgrade Plans documentation, review Plan Changes, learn how proration works, or try Commet in sandbox.

Developers

  • Documentation
  • Templates
  • GitHub

Resources

  • Blog
  • Changelog
  • Pricing

AI

  • Agents
  • MCP Server
  • Agent Skills
  • Claude Code
  • Codex

Learn

  • Guides
  • Glossary
  • Solutions
  • Billing for AI Models
  • Comparison

Company

  • About
  • Open Source
  • Terms
  • Privacy
XLinkedInGitHub