Pending Dunning Features

This page lists dunning management features that are not yet implemented in BillHive, identified by comparing against Chargebee’s Dunning v2 capabilities. Features are grouped by priority.

What’s Implemented Today

FeatureStatus
Automated dunning recovery workflow (6 phases, 30 days)Done
Soft vs hard decline classificationDone
Soft retry (configurable count and interval)Done
Smart retry mode (optimized timing)Done
Custom retry mode (configurable max retries and intervals)Done
Escalation retriesDone
Escalating email sequence (9 emails across dunning period)Done
SMS notification on Day 5Done
Self-serve payment update link generationDone
Feature restriction during grace periodDone
High-value account escalation to manual reviewDone
Configurable subscription final action (Cancel / Retain Active / Pause)Done
Configurable invoice final action (Write Off / Not Paid / Void / Reverse with Credit Note)Done
Configurable dunning period (1–90 days)Done
Dunning Settings UI (Settings > Dunning)Done
Dunning configuration API (GET/PUT /dunning-config)Done
Invoice write-off (mark uncollectible)Done
Win-back campaign (Day 30)Done
Activity logging for all dunning actionsDone
Dunning triggered from all 4 entry pointsDone
8 dunning-specific notification event typesDone
BPMN workflow with dynamic process variables from configurationDone

Priority 2: Dunning Management Actions (Medium-High Impact)

2.1 Pause Dunning API

Chargebee: API to pause dunning for a specific invoice, freezing retries and emails until an expected payment date.

BillHive gap: No pause capability. Once started, dunning runs to completion.

What’s needed:

  • POST /subscriptions/{id}/dunning/pause API endpoint
  • Camunda message correlation to pause the running dunning workflow
  • Expected payment date storage
  • Resume timer in BPMN

2.2 Resume Dunning API

Chargebee: API to resume a paused dunning process.

BillHive gap: No resume capability.

What’s needed:

  • POST /subscriptions/{id}/dunning/resume API endpoint
  • Camunda message correlation to resume the paused workflow
  • Logic to skip elapsed retries and resume from current position

2.3 Stop Dunning API

Chargebee: API to permanently stop dunning. Invoice marked “Not Paid”. Cannot be restarted.

BillHive gap: No stop capability.

What’s needed:

  • POST /subscriptions/{id}/dunning/stop API endpoint
  • Camunda process instance cancellation
  • Invoice status update to “Not Paid”
  • Optional expected payment date capture

2.4 Collect Now (Manual Retry)

Chargebee: Manual payment attempt from the invoice detail page. Counts toward Smart Dunning retries.

BillHive gap: No manual trigger capability.

What’s needed:

  • POST /invoices/{id}/collect-now API endpoint
  • Payment retry logic (reuse existing retry-payment handler)
  • Integration with running dunning workflow to update retry count
  • UI button on invoice detail page

Priority 3: Payment Type Support (Medium Impact)

3.1 Direct Debit Dunning (SEPA, ACH)

Chargebee: Separate dunning configuration for direct debit with 1–5 configurable retries, longer intervals, and awareness of 5–7 day settlement periods.

BillHive gap: No direct-debit-specific dunning behavior. All payment types use the same retry schedule.

What’s needed:

  • Payment-type-aware retry schedule in dunning configuration
  • Longer default intervals for direct debit (e.g., 7-day minimum between retries)
  • Suppress email reminders while a direct debit transaction is in-progress
  • Max 2 recommended retries for direct debit

3.2 3DS / SCA Payment Dunning

Chargebee: Special handling for 3DS failures — only retries on the last day of dunning if no customer action, since retries require customer authentication.

BillHive gap: No 3DS-aware dunning logic.

What’s needed:

  • Detect 3DS failure reasons from gateway error codes
  • Skip automatic retries (they’ll fail without customer authentication)
  • Send “Authentication Required” email with a link to complete 3DS verification
  • Single retry on last day of dunning period as a fallback

3.3 Offline Payment Dunning

Chargebee: Email reminders only (no retries) for cash, check, and bank transfer payments. Separate enablement toggle.

BillHive gap: No offline payment dunning support.

What’s needed:

  • Detect offline payment method type
  • Skip all payment retries (email-only flow)
  • Separate enable/disable toggle for offline dunning
  • Modified BPMN path for offline payments

Priority 4: Advanced Features (Lower Priority)

4.1 Custom Dunning Policies per Plan/Product

Chargebee: Implied support for different dunning settings per product or plan.

BillHive gap: Dunning configuration is global (per-tenant). No per-plan or per-product customization.

What’s needed:

  • Dunning policy model linked to plan or product
  • Policy inheritance: plan-level overrides tenant-level defaults
  • Policy selection logic in dunning workflow start

4.2 Dunning Exclusion Rules

Chargebee: Toggle to apply dunning only when Future/Trial subscriptions become active. Separate toggles for one-time invoices and advance invoices.

BillHive gap: No exclusion rules. Dunning triggers for all payment failures.

What’s needed:

  • Configuration toggles: enable dunning for trial subscriptions, one-time invoices, advance invoices
  • Filtering logic in dunning workflow start handler

4.3 One-Time Invoice Dunning

Chargebee: Optional dunning for one-time invoices. Final action applies to the invoice but the subscription remains uninterrupted.

BillHive gap: No distinction between recurring and one-time invoice dunning.

What’s needed:

  • Detect one-time vs recurring invoice
  • Modified final action: do not cancel subscription for one-time invoice failures

4.4 Advance Invoice Dunning

Chargebee: Special dunning logic for advance invoices. If the term hasn’t started, subscription cancellation is scheduled for term end with full refund as credit note.

BillHive gap: No advance invoice awareness in dunning.

What’s needed:

  • Detect advance invoice (term not yet started)
  • Modified final action: schedule cancellation for term end, issue credit note

4.5 ML-Based Smart Retry Optimization

Chargebee: Smart Retry uses ML to determine optimal retry timing based on transaction patterns and gateway error codes. Up to 12 retries.

BillHive gap: Retry timing is rule-based (fixed day intervals). No ML optimization.

What’s needed:

  • Analytics pipeline for payment success/failure patterns
  • ML model training on retry timing vs success rate
  • Dynamic retry scheduling based on model predictions
  • A/B testing framework for retry strategies

4.6 Webhook Events for Dunning

Chargebee: Webhook notifications for dunning state changes.

BillHive gap: No dunning-specific webhook events. Only email/SMS notifications exist.

What’s needed:

  • Webhook event types: dunning.started, dunning.retry_succeeded, dunning.retry_failed, dunning.paused, dunning.stopped, dunning.recovered, dunning.cancelled
  • Integration with existing webhook delivery system

4.7 Dunning Reporting & Analytics

Chargebee: Retry attempt logs showing count, dates, status, and failure reasons per invoice.

BillHive gap: Dunning data is in activity logs but no dedicated reporting views or dashboards.

What’s needed:

  • Dunning dashboard: active dunning count, recovery rate, average recovery time
  • Invoice-level dunning history view (retry attempts, dates, results)
  • Reporting metrics: dunning recovery rate, revenue recovered, churn prevented
  • Integration with reporting-service schema

Implementation Roadmap Summary

PriorityFeature GroupItemsStatus
P1Core ConfigurationConfigurable retries, final actions, dunning period, Settings UI, APIComplete
P2Management ActionsPause, Resume, Stop, Collect Now APIsPending
P3Payment TypesDirect debit, 3DS, offline payment dunningPending
P4AdvancedPer-plan policies, exclusion rules, ML retry, webhooks, reportingPending

Reference

This gap analysis is based on Chargebee’s Dunning v2 documentation.