DebugBundle

Billing

How DebugBundle billing works — Stripe integration, shared allowances, capacity units, and billing lifecycle.

DebugBundle uses Stripe for all payment processing. This page explains how billing works, from checkout through ongoing subscription management.

Overview

Billing follows a simple model:

  1. Start on Free — Every new organization begins on the Free baseline
  2. Optionally start a no-card trial — Eligible organizations can start a 30-day Solo or Team trial
  3. Convert through checkout when ready — Stripe Checkout handles payment securely and applies VAT or applicable taxes
  4. Add capacity as needed — Purchase extra capacity units from the billing page after paid conversion
  5. Manage via portal — Update payment methods and view invoices through Stripe

Stripe Integration

DebugBundle never stores credit card numbers or payment details. All payment processing is handled by Stripe:

  • Checkout — Stripe Checkout Session (hosted payment page)
  • Tax — Stripe Tax calculation and business tax ID collection during Checkout
  • Portal — Stripe Customer Portal (self-service subscription management)
  • Webhooks — Stripe notifies DebugBundle of subscription changes
  • Invoicing — Stripe handles all invoice generation and delivery

No-Card Trials

Eligible Free organizations can start one 30-day no-card trial for:

  • Solo
  • Team

Trial rules:

  • Every organization starts from the Free baseline first
  • Solo trial can convert to paid Solo or Team
  • Team trial can convert to paid Team only
  • Extra purchased capacity is unavailable during the trial
  • Unconverted trials expire back to Free automatically and cannot be restarted

Trials can be started from:

  • pricing page signup CTA
  • billing page
  • POST /v1/billing/trial/start
  • debugbundle billing trial start --plan solo|team
  • MCP start_trial

Checkout Flow

When you upgrade directly from Free or convert from an active trial:

  1. Click Upgrade or Convert to paid on the billing page
  2. Redirected to Stripe Checkout with the selected plan
  3. Complete payment
  4. Redirected back to DebugBundle
  5. Stripe webhook updates your organization's entitlements

The paid upgrade is effective immediately after payment.

Shared Allowances

Usage allowances are pooled across your entire account. Each included or purchased capacity unit expands the total allowance pool.

Solo plan (3 included units) + 3 extra units = 6 allowance units
Total allowance = 6 × per-unit allowance
Any number of projects can use any portion of the shared pool

Projects draw from the same pool, so your allowance follows where activity is happening most.

Paid plans keep project creation unlimited. Capacity units expand shared allowance capacity across the full account.

Capacity Management

Increasing Capacity

Capacity increases take effect immediately with prorated billing:

# Add 2 extra capacity units
debugbundle billing capacity increase --target-additional-capacity-units 2

Or from the billing page in the dashboard — click Manage capacity.

The prorated charge covers the remainder of the current billing period. Paid organizations can hold up to 99 purchased extra capacity units.

During an active no-card trial, capacity purchase is blocked until you convert to a paid plan first.

Reducing Capacity

Capacity reductions are scheduled for the next billing period to prevent mid-cycle disruption:

# Schedule reduction: go from current 5 purchased units to 3
debugbundle billing capacity schedule-reduction --target-additional-capacity-units 3

# View pending reduction
debugbundle billing get --json

# Cancel a pending reduction
debugbundle billing capacity cancel-reduction

The billing summary shows any pending reduction with the target purchased-unit count, effective date, and resulting allowance capacity.

Capacity Notes

Project creation is not hard-gated on paid plans. Capacity changes affect your shared hosted allowance, not whether you can create another project.

Billing Lifecycle

Active

Normal state. Subscription is paid and current. All tier features are available.

Past Due

Payment failed (expired card, insufficient funds). Stripe automatically retries according to its Smart Retries schedule. During this period:

  • All features remain available
  • DebugBundle sends email notifications about the payment issue

Canceled

Subscription was explicitly canceled or failed all retry attempts.

  • Access is downgraded to Free tier limits
  • Existing data is retained per the original tier's retention period
  • You can resubscribe at any time

Trialing

Internal no-card trial state. The organization temporarily uses Solo or Team entitlements without a Stripe customer or subscription.

Trial Expired

The no-card trial ended without a paid conversion. The organization is back on Free, but trial history remains visible in the billing summary.

When a trial expires or any paid plan is downgraded, DebugBundle pauses functionality that is no longer part of the target tier while preserving the saved setup. For example, Free downgrades stop paid-only remote probes, GitHub automation, Slack delivery, collaborator access, invite acceptance, and hosted improvement automation until the organization returns to an eligible plan.

Billing Emails

EventEmail
Trial startedConfirmation with selected plan and exact end date
Trial ending soon7-day and 1-day reminders
Trial expiredDowngrade back to Free confirmation
Trial convertedPaid plan confirmation after trial
Paid subscription createdWelcome + receipt
Payment succeededInvoice receipt
Payment failedAction required notification
Subscription canceledConfirmation + data retention info
Capacity changeUpdated invoice

API Access

The billing API allows programmatic subscription management:

# Get billing summary
curl https://api.debugbundle.com/v1/billing \
  -H "Authorization: Bearer dbundle_mem_..."

# Increase capacity
curl -X POST https://api.debugbundle.com/v1/billing/capacity/increase \
  -H "Authorization: Bearer dbundle_mem_..." \
  -H "Content-Type: application/json" \
  -d '{ "target_additional_capacity_units": 2 }'

See Billing API for all endpoints.

Next Steps

On this page