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​