Connect Stripe
Step-by-step: create a read-only Stripe restricted key for MarginMeter, what gets imported, how MRR is calculated, and how to troubleshoot permission errors.
Create a restricted key
- In Stripe, open Developers → API keys → Create restricted key.
- Name it
MarginMeterand set these permissions to Read: Balance, Charges and Payment Intents, Refunds, Disputes, Customers, Products, Prices, Coupons, Subscriptions, Invoices. - Optional: Webhook Endpoints: Write lets MarginMeter register a webhook for real-time updates (Starter and Pro).
- Create the key and paste it into Connections → Stripe.
MarginMeter checks each permission when you save and tells you exactly which one is missing.
What happens next
An initial import runs in the background: balance transactions, customers, prices, subscriptions and invoices. Progress is shown live. Afterwards, incremental syncs run on your plan's schedule.
How numbers are derived
- Revenue comes from balance transactions (charges, refunds, disputes) net of tax reported on invoices.
- Payment fees come from the fee on each transaction plus Stripe billing fees, and count as COGS.
- MRR comes from subscriptions, normalized to a month after discounts. See metric definitions.
Troubleshooting
- "Missing permission" — edit the restricted key in Stripe and add the listed read permission, then update credentials in MarginMeter.
- Numbers differ from the Stripe dashboard — Stripe's gross volume includes tax and excludes refunds differently; MarginMeter reports revenue net of refunds, disputes and tax.