Changing Plans (Upgrades & Downgrades)

When a company changes plans, whether an upgrade or a downgrade, Schematic automatically updates the company’s entitlements, usage limits, and billing status in Stripe (if applicable). Downgrades can be applied immediately or scheduled for the end of the billing period. Plan changes can occur from a few different sources — in all cases, the steps Schematic takes are the same. The possible reasons for a plan change are:

  • The customer goes through a checkout flow via the Schematic Customer Portal Component
  • You update a company’s plan via the Schematic App using the “Manage Plan” button
  • A customer’s trial period ends, and they are converted to the default plan
  • A customer fails to pay their bill, their subscription is marked unpaid in Stripe, and they are downgraded to the default plan

Plan Change Basics

Whenever a plan changes, Schematic will automatically update the company’s entitlements and usage limits. Accrued usage is fully preserved. All company overrides are preserved and re-applied. If a company override is less generous than the current plan entitlement, the more generous amount will be applied.

Schematic prevents companies from downgrading to a plan if they will be over the usage limits of the new plan.

Downgrade to over limit

Using the “Manage Plan” button in the Schematic App, you are able to downgrade a company to a plan even if they are over the usage limits of the new plan. This will display a warning:

Downgrade to over limit

Stripe-Linked Plans

Stripe-linked plans have additional considerations concerning how usage based charges are synced to Stripe.

Upgrade vs. Downgrades

For Stripe-linked plans, Schematic handles upgrades and downgrades differently. A plan change is considered an upgrade if the new plan has a higher base price (or the same base price) as the current plan. A downgrade is considered a plan change to a plan with a lower base price.

Upgrade/Downgrade logic

When determining if a plan change is an upgrade or downgrade, the following logic is used. Below are the steps for determining if a change is an upgrade, whereas the inverse is considered a downgrade.

  1. Both plans need to be paid (otherwise it’s a sunbscribe/unsubscribe)
  2. If the new plan has a longer billing period (e.g. monthly -> yearly), it’s an upgrade.
  3. If the new plan has a higher base price, it’s an upgrade.
  4. If the new plan includes a new add on, it’s an upgrade.
  5. If the new plan includes more Pay-in-advance usage (typically representing user seats), it’s an upgrade.
  6. If the new plan includes the purchase of a credit bundle, it’s an upgrade.

Period Changes

When a company upgrades to a new plan, Schematic will maintain the current billing period (e.g. if you are 15 days into your billing period, you will remain on day 15 after the upgrade).

However, if the plan change is a downgrade, Schematic will reset the billing period (e.g. the new plan will start on day 1 of the new billing period). If scheduled downgrades are enabled, the downgrade is deferred to the end of the current billing period and the customer retains access to their current plan until then.

Proration

Additionally, when changing plans, Schematic will use Stripe’s proration logic to refund the remaining base cost of the current plan and the base cost of the new plan. These costs are presented to the user during the checkout flow or to you while using the “Manage Plan” button in the Schematic App.

For usage-based features, Schematic will carry over usage from the current plan to the new plan.

Preventing Downgrades

Schematic allows you to prevent customers from downgrading to a plan if they are over the usage limits of the new plan. This is configured in the Catalog configuration tab and is turned on by default.

Additionally, you can require customers reach out to you before they can downgrade to a plan (preventing self-service downgrades). This is configured in the Catalog configuration tab and is turned off by default.

Scheduled Downgrades

If this setting is selected, when a customer downgrades their plan, the downgrade is scheduled for the end of the current billing period rather than applied immediately. The customer retains full access to their current plan until the billing period ends, and no proration or credits are applied.

This behavior is controlled by the setting under the On downgrade section of the Catalog configuration tab. The available options are:

  • Schedule downgrade for end of billing period, no credits applied — The downgrade takes effect at the end of the current billing period. The customer keeps their current entitlements until then.
  • Downgrade immediately, apply credit for next period (default) — The downgrade is applied immediately and the customer receives a prorated credit for the remainder of their billing period.

Scheduled downgrade billing rule setting

Under the hood, scheduled downgrades use Stripe’s subscription schedule phases to ensure the plan transition happens precisely at the billing period boundary.

Behavior while a downgrade is scheduled

While a downgrade is scheduled, the customer continues to use their current plan with full access to all entitlements. However, certain actions are blocked until the downgrade takes effect or is canceled:

  • Add-on purchases are blocked
  • Pay-in-advance purchases (e.g. seats) are blocked
  • Credit purchases are blocked

These restrictions ensure the customer’s subscription remains in a consistent state leading into the scheduled plan change. However, the customer can always cancel the downgrade at any time via the component and then do any action.

Canceling a scheduled downgrade

A scheduled downgrade can be canceled if the customer resubscribes to a paid plan or upgrades before the billing period ends. When this happens, the scheduled downgrade is removed and the customer’s subscription continues as normal.