ModulesDecision memoUpdated 2026-04-18

User Subscriptions

Tier 2 user-to-plan subscription management with full lifecycle, auto-reconciliation, feature gating, and self-service capabilities.

Buyer-readyFounder-grade detailModules
  • Full Lifecycle

    Free → Trial → Active → PastDue → Cancelled → Expired with automatic transitions.

  • Auto-Reconciliation

    Daily background job handles trial expiry, auto-renewal, and expiration automatically.

  • Feature Gating

    UserFeatureCheckerService resolves which features each user can access based on their plan.

  • Self-Service

    Users can view their own subscription status via the /me endpoint.

  • Audit Trail

    Immutable Cancel+Replace pattern keeps a complete history per billing cycle.

  • Domain Events

    Created, Cancelled, and Renewed events feed into webhook and notification systems.

Subscription Lifecycle

StatusDescriptionCan Transition To
FreeNo billing, on free planTrial, Active
TrialTrial period activeActive (auto-renew), Expired (no renew)
ActivePaid and currentPastDue, Cancelled, Expired
PastDuePayment failed, grace period activeActive (recovered), Expired
CancelledManually cancelled (terminal)—
ExpiredPeriod ended (terminal)—

Automatic Reconciliation

JobScheduleWhat it does
UserSubscriptionReconciliationJobDaily 5:00 AM UTCTrial expiry, period expiry, auto-renewal