Dodo Payments MRR, sales and churn, next to the rest of your stack
Selling a Mac app or SaaS through Dodo Payments? SoulStack reads your subscriptions and payments, works out MRR and churn, counts one-time sales and Dodo's real fees, and puts each app beside everything else you run.
This connector is in beta. It follows Dodo Payments's documentation and is new, so if a number looks off, tell us and we'll fix it fast.
What SoulStack reads from Dodo Payments
- MRR from active subscriptions, before tax: yearly plans count as a twelfth a month, and free trials don't count until they end
- Subscription payments and one-time sales each day, without the tax Dodo collects as merchant of record
- Refunds and failed payments each day
- Dodo's fee on each payment, from what reached your balance, so profit margin takes off what you actually paid
- Churn rate over the last 30 days
How it feeds your health score and alerts
MRR growth and churn feed each app's health score. An MRR drop or churn above your limit opens an alert, and one-time sales count toward revenue and profit.
Access it needs
An API key with Read on Subscriptions, Payments and Refunds, and None on everything else. SoulStack never writes to Dodo.
Connect Dodo Payments in a few minutes
- In Dodo Payments, open Developer → API Keys → Add API Key.
- Set Subscriptions, Payments and Refunds to Read and everything else to None. Make a new key: keys made before per-resource access can write.
- Paste the key into SoulStack when you connect Dodo Payments to an app, and pick Live or Test.
- SoulStack checks the key, then reads the last 90 days so your trends show straight away.
Syncs every 6 hours, plus whenever you press Sync now.
Questions
- Does it count one-time purchases?
- Yes. Payments that aren't part of a subscription count as one-time revenue, so a paid Mac app or lifetime licence shows up next to your MRR.
- Is tax counted as revenue?
- No. Dodo collects tax as merchant of record, and SoulStack takes it out of each payment before counting it.
- Can I try it with test mode?
- Yes. Pick Test when you connect and use a test mode key. The connection says it's reading test data.
Works well with
Stripe, RevenueCat, App Store Connect, Google Play, PostHog, Sentry, OpenAI, Anthropic, OpenRouter, Vercel, Supabase, Paddle, Your own numbers, AdMob and AdSense. Each one adds another part of the health score, so the more you connect, the more of the picture SoulStack can see.