Skip to main content
More Stripe documentation

Stripe MRR Reports - SaaS Metrics from Your Stripe Data

How ERPClaw computes MRR from your synced Stripe subscriptions: plan amounts normalized to monthly, active and trialing counts, and a breakdown by billing interval.

If you run a SaaS business on Stripe, MRR is the metric that defines your trajectory. ERPClaw computes MRR directly from the Stripe subscriptions it has synced into your own database, not from estimates or aggregations.

What ERPClaw reports

You ask for it the way you would ask a finance lead:

“What is our MRR right now, and how much of it comes from annual plans?”

The report behind that question is stripe-mrr-report. It returns:

Field What it is
Total MRR Every active and trialing subscription, normalized to one month and summed
Active subscriptions Count of subscriptions with status active
Trialing subscriptions Count of subscriptions with status trialing
Interval breakdown For each billing interval (day, week, month, year): the subscription count and its MRR contribution

All figures are computed from the stripe_subscription table that the sync fills, not from aggregate Stripe API calls.

ARR is not a separate report. If you want it, it is total MRR times 12, and your agent can do that arithmetic for you.

How MRR is calculated

MRR is the sum of all current active and trialing subscriptions, normalized to one month.

For each subscription, ERPClaw takes the plan amount (the unit price of the subscription’s first item) and converts it by billing interval:

  • monthly: the plan amount as is
  • yearly: plan amount × 0.08333 (one twelfth)
  • weekly: plan amount × 4.333
  • daily: plan amount × 30

Each monthly figure is rounded to the cent before summing, using Decimal arithmetic.

Trialing subscriptions are included in total MRR and counted separately, so you can see how much of the figure is still in trial. Subscriptions in any other status (canceled, past due, paused, incomplete) are left out.

What this report does not compute

Keep these in mind when you compare it with a dedicated SaaS metrics tool:

  • No movement breakdown. New, expansion, contraction, and churned MRR, and net new MRR, are not calculated.
  • No churn, cohort, or lifetime value reports.
  • Quantity, discounts, and extra items are not applied. The plan amount is the first item’s unit price.
  • Interval counts are not applied. A plan billed every three months is read by its interval (month), not divided by three.
  • Point in time. The report reflects the subscriptions as last synced; there is no as-of date.

Multi-currency

The report sums plan amounts as they are stored, in the currency each subscription bills in, and does not convert between currencies. If your subscriptions bill in more than one currency, read the total with that in mind, or run the list below per currency.

Checking the figure

To see the subscriptions behind the total, list them:

erpclaw stripe-list-subscriptions --stripe-account-id <id> --status active

Each row carries the plan amount, interval, currency, and status, so you can recompute any subscription’s contribution by hand.

When MRR doesn’t match Stripe Dashboard

Stripe Dashboard’s MRR can differ from ERPClaw’s because:

  • ERPClaw includes trialing subscriptions, which Stripe may count differently
  • ERPClaw uses the first item’s unit price, without quantity or discounts
  • ERPClaw normalizes weekly and daily plans with fixed multipliers

If they differ, list the subscriptions (above) and compare the largest ones first.

Source