Home

Release guide

Connect MRRdue safely

Connect read-only billing access, import the history window included in your plan, and work a ranked failed-payment queue with copyable recovery emails. No write access to your billing.

Connect your billing provider

After you create a workspace, open onboarding and connect Stripe or Dodo Payments: paste a restricted Stripe API key, or a Dodo Payments API key. MRRdue verifies the key against your account, stores it encrypted, and starts your 14-day trial on the first successful connection. A first sync runs automatically so you land on the dashboard with real recovery signals instead of an empty queue.

First sync

The initial import pulls the history window included in your plan (trial 3 months, Pro 24 months, full history for legacy custom accounts). Failed-payment cases and retention-risk scores appear in the dashboard once the sync completes. Use Sync now on onboarding or in settings any time you want a fresh pull. Manual syncs respect your plan's daily limit; in production, your provider's webhooks and scheduled jobs keep data current between manual runs — see Webhook Doctor & reliability.

Read-only credentials

For Stripe, create a restricted key in the Stripe Dashboard with read access to Customers, Subscriptions, Invoices, Products, and Prices, and no write permissions for charges, refunds, customer edits, or subscription changes. For Dodo Payments, use a Dodo API key and (optionally) a webhook secret; MRRdue verifies the key is read-only before storing it. Either way, MRRdue only needs to read billing state. Stripe test mode keys work for local development; live keys are for production workspaces. Full permission matrix on the Security page.

Sensitive data boundary

MRRdue stores billing metadata only: object IDs, invoice amounts, statuses, failure reasons, customer names/emails when present, hosted invoice links, and recovery activity. It does not ask for or store card numbers, CVCs, bank details, or raw payment method data. The same boundary applies to every surface that can read this data, including the MCP server: read-only in, no write path out.

Local sample data

For fuller local test data, use Stripe test mode and run npm run stripe:seed. The seed flow creates tagged test customers, subscriptions, invoices, and at least one failed-payment case, then syncs the data through the same import path as the app. More in Billing & local dev.

Ready to connect?

Explore the demo with sample data first, or sign up and connect a read-only billing provider on onboarding.