Skip to main content

Plan changes

This guide covers upgrade, downgrade, and cancellation behaviors.

Prereqs

Change primitives

Treat each commercial change as an assignment transition:

  • create a new assignment window
  • update an existing assignment window
  • change assignment status

Upgrade and downgrade timing

PatternTypical useAssignment strategy
Immediate upgradepaid now, instant accessopen new window at now
Next-cycle upgradecycle-aligned subscriptionnew window at next cycle start
Immediate downgraderisk/compliance actionclose current window at now, activate lower plan now
End-of-cycle downgradestandard self-serve UXkeep current window until cycle end, start lower plan next cycle

Cancellation

Use one of two explicit strategies:

  • set assignment status away from active
  • keep status but set/shorten window_end

Choose one strategy consistently per source system.

Determinism requirements

  • Keep source identity stable (source_kind + source_ref) for each commercial object.
  • Never rely on "latest write wins" semantics alone.
  • Ensure support tooling can reconstruct the effective plan for any timestamp.

Verify

  • Your system can explain the effective plan for any timestamp.
  • The gate loop reflects changes within your expected propagation window.

Next