Skip to content
MarginMeter

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

  1. In Stripe, open Developers → API keys → Create restricted key.
  2. Name it MarginMeter and set these permissions to Read: Balance, Charges and Payment Intents, Refunds, Disputes, Customers, Products, Prices, Coupons, Subscriptions, Invoices.
  3. Optional: Webhook Endpoints: Write lets MarginMeter register a webhook for real-time updates (Starter and Pro).
  4. 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.