Skip to main content

Subscription Item Changes

Besides plan changes (upgrade/downgrade), Automatic Billing supports changes to the individual items of a subscription — changing quantities, adding add-ons, swapping a one-off product or a metered item without having to change the main plan. The /dashboard/subscription-changes screen groups the history of these changes and the default proration settings.

History tab​

Shows every item change recorded in the organization. Each row corresponds to a SubscriptionItemChange record and displays:

  • ID of the affected subscription
  • Status: pending, scheduled, completed, canceled or failed
  • Timing: immediate (applies now) or end_of_period (applies on the next cycle)
  • Changes: items added, removed or changed (with quantity and price)
  • Credit generated (proration_credit) and charge generated (proration_charge)
  • Effective date and creation date

completed changes have already been processed; scheduled ones wait for the renewal worker to run them at the cycle turnover.

Settings tab​

Defines the default behavior when an item is added, removed or has its quantity changed:

  • Allow quantity increase and allow reduction — controls who can change what.
  • Default timing — when the change is applied (immediately or at the end of the period).
  • Proration method — full_proration, partial_proration or no_proration.
  • Credit on reduction — whether reducing the quantity creates a balance on the customer's account.
  • Refund on reduction — whether it refunds through the gateway instead of creating a credit.

The settings are resolved per organization and can be overridden by specific rules at the time of the change via the API.

Item change vs. plan change​

ScenarioScreen
Switch from Starter to GrowthPlan Change
Add 10 extra users to the current planItem Changes
Swap the Email Premium add-on for SMS PremiumItem Changes
Reduce the number of licenses at the end of the cycleItem Changes

Both flows generate proration when applicable, and both trigger events and webhooks (subscription.updated, subscription_item.changed).

Screenshot​

History and settings of subscription item changes