Expiration

A subscription expires when its term ends and it is not renewed. This can happen automatically (auto-renew disabled) or as a result of failed payment recovery. BillHive provides advance notifications and a grace period to give customers and admins time to act before the subscription expires.

Expiration vs Cancellation

ExpirationCancellation
TriggerTerm end reached, no renewalExplicit action by admin or customer
StatusExpiredCancelled
ReversibleYes — can be reactivatedTypically final
CreditsNo proration (term was fully used)May include prorated credits
Typical causeAuto-renew off, or renewal payment failedCustomer request, non-payment escalation

Expiration Flow

┌────────────────────┐
│ Subscription Active│
│ (approaching term  │
│  end date)         │
└────────┬───────────┘
         ▼
┌────────────────────┐
│ Expiring Soon      │──▶ Notification sent (configurable days before)
│ Notification       │
└────────┬───────────┘
         ▼
┌────────────────────┐     Auto-Renew enabled?
│ Term End Date      │──── Yes ──▶ Renewal Workflow (see Renewals)
│ Reached            │
└────────┬───────────┘
         │ No
         ▼
┌────────────────────┐
│ Expire Subscription│──▶ Status = EXPIRED
│ Workflow           │
└────────┬───────────┘
         ▼
┌────────────────────┐
│ Send Expiration    │
│ Notification       │
└────────┬───────────┘
         ▼
      Complete

Expiring Soon Notification

BillHive sends a proactive Subscription Expiring Soon notification before the term end date. This is orchestrated by a dedicated Camunda workflow:

  1. The workflow calculates the “expiring soon” date based on the Renewal Offset Days setting.
  2. It waits until that date arrives.
  3. It checks the current subscription status:
    • Active or Paused — sends the expiring soon notification
    • Cancelled, Expired, or other terminal states — skips the notification
  4. The business event SUBSCRIPTION_EXPIRING_SOON is emitted.

What the Notification Includes

  • Subscription details (product, plan, term dates)
  • Days remaining until expiration
  • Call-to-action to renew or enable auto-renew
  • Link to manage the subscription

Expire Subscription Workflow

When the term end date is reached and no renewal occurs:

  1. Subscription status is set to Expired.
  2. An expiration notification is sent to the customer (business event: SUBSCRIPTION_EXPIRED).
  3. The order is completed.
  4. Any pending workflows (expiring-soon, renewal) are terminated.
  5. Activity logged as SUBSCRIPTION_EXPIRED.

Active Subscription Expiring Soon

For active subscriptions approaching their term end, BillHive provides visibility through:

  • Expiring Soon notification — Email sent to the customer and logged
  • Upcoming Renewals & Expirations widget on the Billing & Payments dashboard — lists subscriptions nearing their term end
  • Renewal window on the subscription details page — shows a Renew button 14 days before expiry

Non-Renewing Subscriptions

When auto-renew is disabled on an active subscription, the status changes to Non Renewing. This signals that the subscription will expire at term end unless manually renewed.

ConditionWhat Happens
Auto-renew disabled while ActiveStatus → Non Renewing. Subscription continues until term end.
14 days before expiryRenew button appears on the subscription details page.
Expiry date is todayRenew Now — Expires Today! urgent prompt.
Term end reachedStatus → Expired. Expiration notification sent.

Reactivation After Expiration

Expired subscriptions can be reactivated within the Renewal Grace Period:

  • An admin clicks Reactivate on the subscription details page.
  • A renewal order is placed, starting a new term.
  • An invoice is generated and payment is collected.
  • Status returns to Active.

If the grace period has passed, the subscription cannot be reactivated — a new subscription must be created instead.

Configuration

SettingDescription
Renewal Offset DaysHow many days before term end the “expiring soon” workflow triggers (e.g., 30 days).
Renewal Grace PeriodNumber of days after expiration during which reactivation is still possible.
Access ContinuityWhether the customer retains product access during the grace period after expiration.