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
| Feature | Status |
|---|---|
| Automated dunning recovery workflow (6 phases, 30 days) | Done |
| Soft vs hard decline classification | Done |
| Soft retry (configurable count and interval) | Done |
| Smart retry mode (optimized timing) | Done |
| Custom retry mode (configurable max retries and intervals) | Done |
| Escalation retries | Done |
| Escalating email sequence (9 emails across dunning period) | Done |
| SMS notification on Day 5 | Done |
| Self-serve payment update link generation | Done |
| Feature restriction during grace period | Done |
| High-value account escalation to manual review | Done |
| 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 actions | Done |
| Dunning triggered from all 4 entry points | Done |
| 8 dunning-specific notification event types | Done |
| BPMN workflow with dynamic process variables from configuration | Done |
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/pauseAPI 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/resumeAPI 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/stopAPI 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-nowAPI endpoint- Payment retry logic (reuse existing
retry-paymenthandler) - 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
| Priority | Feature Group | Items | Status |
|---|---|---|---|
| P1 | Core Configuration | Configurable retries, final actions, dunning period, Settings UI, API | Complete |
| P2 | Management Actions | Pause, Resume, Stop, Collect Now APIs | Pending |
| P3 | Payment Types | Direct debit, 3DS, offline payment dunning | Pending |
| P4 | Advanced | Per-plan policies, exclusion rules, ML retry, webhooks, reporting | Pending |
Reference
This gap analysis is based on Chargebee’s Dunning v2 documentation.