Blog · The numbers
Why Stripe, RevenueCat and App Store Connect disagree about your MRR
Annual plans, trials, refunds, currency and cancellations: the five rules behind the gap, and which number to believe.
· 6 min read
Stripe, RevenueCat and App Store Connect show different numbers for the same business because each sees different sales and counts them by different rules. Five rules cause most of the gap: how annual plans are spread, whether trials count, which month a refund lands in, how currency is converted and the store's cut taken, and when a cancellation stops counting. None of the numbers is wrong. Each answers a different question.
Here are the five, in each platform's own words, a worked example where one business shows four numbers, and how to decide which one to watch. The documentation quoted was read on 8 November 2026; these pages change, so check them again if you're reading this much later.
First: they don't see the same sales
Before any rule, there's the plain fact of coverage. Stripe sees the sales made through Stripe, usually on the web. App Store Connect sees the sales made through the App Store. RevenueCat sees what you connect to it, which can be both.
So a business selling a web plan and an iPhone app has a Stripe number that leaves out the App Store and an App Store number that leaves out Stripe. Only a tool that reads both can add them up. Even then, the five rules below decide what the total means.
1. Annual plans: spread over twelve months, or counted when paid
MRR, monthly recurring revenue, spreads an annual plan across its months. Stripe's documentation gives the example: 50 subscribers on a plan of 600 USD a year add 50 × (600 ÷ 12), or 2,500 USD, to MRR. RevenueCat does the same: "An active subscription that costs $120/year will contribute $10 dollars per month to MRR."
Revenue charts do the opposite. RevenueCat's revenue chart credits a payment "to the period the transaction occurred in", so a $120 annual plan shows $120 in the month it was bought and nothing for the next eleven.
App Store Connect doesn't define an MRR figure at all. Its Sales figure is "the total amount billed to customers", so an annual plan shows its full price in the month it was billed.
2. Trials: in or out
Stripe leaves free trials out of MRR: a legacy free trial excludes "the entire subscription from MRR for the duration of the trial". App Store Connect's count of active paid subscriptions is "excluding free trials". RevenueCat's MRR chart counts paid, unexpired subscriptions.
So trials are the one rule where the three mostly agree: a free trial isn't recurring revenue yet. Tools that show a trial figure show it beside MRR.
3. Refunds: in the month of the sale, or the month of the refund
This is the rule that makes last month's number change after the fact, or not.
RevenueCat's revenue chart subtracts refunds "recorded in that period (regardless of the period of the original transaction)". A sale in November refunded in December lowers December, and November stays as it was.
Apple's help page warns that its dashboard and its downloaded reports can disagree with each other: "certain events — such as refunds, billing retries, and currency conversions — may be recorded at different times in each system."
Stripe's MRR counts active subscriptions. A refund on its own doesn't end a subscription, so it doesn't change MRR; the subscription drops out of MRR when it's cancelled.
4. Currency, and the store's cut
Most of the money gap between Apple and everyone else is here.
The exchange rate. RevenueCat converts each sale "using the exchange rate of the purchased currency on the day of purchase". In the same paragraph it notes that "Apple's Sales and Trends reports use a rolling average of the previous month's exchange rates". Apple's own page confirms its side. The same euro sale becomes two different dollar amounts, and neither tool is wrong.
Before or after Apple's commission. App Store Connect shows both Sales, what the customer paid, and Proceeds, what you receive. Proceeds are the price minus taxes and Apple's commission. In a subscription's first year that leaves you 70%, and 85% after a year of paid service. Apple also says proceeds in Sales and Trends "aren't final". RevenueCat's MRR chart can show revenue, revenue net of taxes, or proceeds, which it describes as its estimate of what the stores will pay you. Compare a sales figure with a proceeds figure and you'll see a gap of about 30% that isn't a gap at all.
Tax. Stripe's MRR excludes "any taxes applied to the subscription".
5. Cancellations: when they stop counting
Someone cancels on the 3rd, having paid through the 30th. When do they leave?
- App Store Connect: when a subscriber turns off auto-renew, "the event is counted when the subscription expires at the end of the period."
- RevenueCat: a cancelled subscription isn't counted as churned until it has expired.
- Stripe: a subscription that is cancelled stops counting toward MRR. Stripe's default cancellation takes effect at once. A cancellation set for the end of the period leaves the subscription active, and in MRR, until the paid time runs out.
Even within one platform, this rule can change. Lemon Squeezy changed its MRR calculation in May 2025. Its chief executive, JR Farr, wrote that it had previously excluded "any subscriptions in MRR that were ending in the future". A subscription created in January and set to cancel in November "wasn't being calculated toward MRR." The old figures live on as "Cumulative MRR".
One business, four numbers
An illustrative business, one month, prices before tax:
- 40 people on a $10 monthly web plan through Stripe, four of whom have cancelled but have paid to the end of the month
- 5 people who bought a $120 annual web plan through Stripe this month
- 20 people on a $9.99 monthly iPhone plan through the App Store
- 3 free trials running on the web
| Where you look | What it shows | Why |
|---|---|---|
| Stripe, MRR | $450.00 | 40 × $10, plus 5 × ($120 ÷ 12); web only; trials out; the four cancelling stay in until month end |
| App Store Connect, Sales | $199.80 | 20 × $9.99 billed; iPhone only |
| App Store Connect, Proceeds | about $139.86 | 70% of $199.80 in the first year; an estimate until Apple's payment |
| RevenueCat, MRR, both connected | $649.80 | $450.00 + $199.80, spread the same way |
| RevenueCat, Revenue chart | $1,199.80 | the annual plans in full ($600) in the month they were paid, plus $400 + $199.80 |
Add one refund. One annual buyer from November is refunded in full on 2 December. RevenueCat's revenue chart leaves November at $1,199.80 and shows −$120 in December. Stripe's MRR loses $10 only if the subscription is also cancelled.
Add currency. Suppose the iPhone subscribers paid €9.99 each, and that on the purchase day a euro was worth $1.08 while Apple's previous-month average was $1.10. These two rates are made up for the example. RevenueCat would record about $215.80 for the twenty, and Apple's Sales and Trends about $219.80. That's a $4 difference, with nothing changed in the business.
Which number should you believe?
Pick by the question you're asking.
- "How much money is coming in, and when?" Use the platform's payouts and Apple's proceeds. That's cash, and it's what pays the bills.
- "Is the business growing?" Use MRR, from one tool, with the same rules every month. The trend matters more than the level.
- "Did this month go well?" Use a revenue chart, knowing it jumps in months when annual plans renew.
The mistake to avoid is comparing a number from one tool with a number from another, or a sales figure with a proceeds figure, and treating the difference as news.
How TapRev counts
I make TapRev, a dashboard on the iPhone that puts every platform you sell on in one place, so here are its rules, from its own specification. MRR spreads every plan to a month and keeps a cancelled subscription in until its paid period ends. Trials are shown beside MRR, never inside it, and a trial joins MRR on the day its first payment is due. MRR is kept in each currency it was charged in rather than converted. For revenue, a refund takes the sale out of the period it was made in. That's the opposite of RevenueCat's revenue chart, so expect the two to disagree about a month that later had a refund.
To connect a platform with a read-only key, see the Stripe key guide or the RevenueCat key guide.
Sources
- Stripe Docs: Subscription analytics, read 8 November 2026
- Stripe Docs: Cancel subscriptions, read 8 November 2026
- RevenueCat Docs: Monthly Recurring Revenue (MRR) chart, read 8 November 2026
- RevenueCat Docs: Revenue chart, read 8 November 2026
- RevenueCat Docs: Churn chart, read 8 November 2026
- App Store Connect Help: View units, proceeds, sales and pre-orders, read 8 November 2026
- App Store Connect Help: View subscription data, read 8 November 2026
- App Store Connect Help: Sales and Trends metrics and dimensions, read 8 November 2026
- Lemon Squeezy: Fresh MRR and ARR calculations (13 May 2025), read 8 November 2026
Over fifteen years in product management, and technical with it. He takes products from zero to one and grows them through the product itself, across SaaS, consumer apps, platforms, AI and education. He makes TapRev and builds it in public.
Hear every sale, see everything you sell in one place, and keep the record of how far you’ve come.