Notifications

BillHive sends automated notifications at key points in the subscription lifecycle. Notifications are triggered by business events, processed through a Redis stream, and delivered via email through your configured SMTP provider.

Notification Architecture

Camunda Workflow → Handler → Redis NOTIFICATION_STREAM → Notification Service → Email
  1. A Camunda workflow executes a service task at a lifecycle milestone.
  2. The handler fetches subscription and account details, builds template variables.
  3. The notification event is pushed to the Redis NOTIFICATION_STREAM.
  4. The notification service consumes the event and sends the email using the configured template.

Subscription Lifecycle Notifications

EventBusiness EventWhen SentRecipient
Trial StartedSUBSCRIPTION_TRIAL_STARTEDWhen a trial subscription beginsCustomer
Trial ActivationTRIAL_SUBSCRIPTION_ACTIVATEDWhen payment is confirmed and trial converts to activeCustomer
Trial Ending SoonSUBSCRIPTION_TRIAL_ENDING_SOONBefore the trial expiration dateCustomer
Subscription CreatedACTIVE_SUBSCRIPTION_CREATEDWhen a new paid subscription is createdCustomer
Subscription RenewedSUBSCRIPTION_RENEWEDWhen a subscription is renewed for a new termCustomer
Expiring SoonSUBSCRIPTION_EXPIRING_SOONBefore the subscription term end (configurable days)Customer
Subscription ExpiredSUBSCRIPTION_EXPIREDWhen the subscription term ends without renewalCustomer
Subscription PausedSUBSCRIPTION_PAUSEDWhen the subscription is paused (includes resume date)Customer
Subscription ResumedSUBSCRIPTION_RESUMEDWhen the subscription is reactivated from pauseCustomer
Subscription CancelledSUBSCRIPTION_CANCELLEDWhen the subscription is cancelledCustomer
Cancellation ScheduledSUBSCRIPTION_SCHEDULED_FOR_CANCELLATIONWhen a deferred cancellation is set (end of term / specific date)Customer

Amendment Notifications

EventBusiness EventWhen Sent
Plan UpgradedSUBSCRIPTION_UPGRADEWhen the customer moves to a higher-tier plan
Plan DowngradedSUBSCRIPTION_DOWNGRADEWhen the customer moves to a lower-tier plan
Plan ChangedSUBSCRIPTION_CHANGEDWhen the plan is updated
Change ScheduledSUBSCRIPTION_CHANGE_SCHEDULEDWhen a plan change is scheduled for a future date
Frequency ChangedSUBSCRIPTION_FREQUENCY_CHANGEDWhen billing frequency is updated
Frequency Change ScheduledSUBSCRIPTION_FREQUENCY_CHANGE_SCHEDULEDWhen a frequency change is scheduled
Addon AddedADD_ADDONWhen an addon is added to the subscription
Addon ScheduledADD_ADDON_SCHEDULEDWhen an addon addition is scheduled

Billing & Payment Notifications

EventBusiness EventWhen Sent
Invoice CreatedINVOICE_CREATEDWhen a new invoice is generated
Invoice PaidINVOICE_PAIDWhen an invoice is fully paid
Invoice Due SoonINVOICE_DUE_SOONReminder before invoice due date
Invoice OverdueINVOICE_OVERDUEWhen an invoice passes its due date
Payment SuccessfulPAYMENT_SUCCESSFULWhen a payment is processed
Payment FailedPAYMENT_FAILEDWhen a payment attempt fails
Refund IssuedREFUND_ISSUEDWhen a refund is processed
Credit Note IssuedCREDIT_NOTE_ISSUEDWhen a credit memo is created

Dunning Notifications

EventBusiness EventWhen Sent
Payment ReminderDUNNING_PAYMENT_REMINDERFirst notification after payment failure
Urgent NoticeDUNNING_URGENT_NOTICEEscalated payment warning
Account RestrictedDUNNING_ACCOUNT_RESTRICTEDAccess has been limited
Account SuspendedDUNNING_ACCOUNT_SUSPENDEDAccess fully suspended
Final NoticeDUNNING_FINAL_NOTICELast warning before cancellation
Cancelled (Non-Payment)DUNNING_SUBSCRIPTION_CANCELLEDSubscription cancelled due to failed recovery
Win-BackDUNNING_WIN_BACKPost-cancellation re-engagement offer

Proactive Warnings

EventBusiness EventWhen Sent
Card Expiry ApproachingCARD_EXPIRY_APPROACHINGBefore the payment card expires
Payment Method InvalidPAYMENT_METHOD_EXPIRED_OR_INVALIDPayment method is no longer valid
Post-CancellationPOST_CANCELLATIONConfigurable days after cancellation (win-back opportunity)

Configuration

Notifications are configured in Settings > Notifications:

  • Enable/disable individual notification types
  • Customize email templates with dynamic variables (customer name, product, amount, dates, etc.)
  • SMTP provider configuration (Settings > SMTP)