Data Discrepancies


This guide explains why GrowPanel's numbers might differ from your billing platform and how to investigate discrepancies.


Settings to check first

The most common cause of MRR discrepancies is a mismatch between your settings in GrowPanel and your billing platform. Check these first.

Churn recognition

GrowPanel and your billing platform may recognize churn at different times:

Immediate recognition:

  • Churn counted when the cancellation is processed by the billing platform
  • Matches when the customer decided to leave
  • May differ from when revenue actually stops

End-of-period recognition (GrowPanel default):

  • Churn counted when the subscription period ends
  • Matches when the revenue impact is felt
  • May differ from when the customer canceled

Why this matters: Stripe's dashboard uses immediate recognition by default. If a customer cancels on January 15th but their subscription runs until January 31st, Stripe shows the churn in January 15th's metrics, while GrowPanel (by default) shows it on January 31st.

Check your setting in Settings → Billing.

Auto-churn past-due customers

GrowPanel automatically churns customers after a configurable number of days past-due (default: 30 days). Your billing platform may use a different threshold or not auto-churn at all.

If a customer's payment fails and they remain past-due for longer than your threshold, GrowPanel will count them as churned while your billing platform might still show them as active.

You can adjust this in Settings → Billing.

One-time discounts in MRR

Billing platforms like Stripe have a setting to exclude one-time discounts (coupons with duration "once") from MRR calculations. GrowPanel has a matching setting: Subtract one-time discounts from MRR.

If this setting is off in Stripe but on in GrowPanel (or vice versa), you will see different MRR values for any customer with a one-time coupon applied.

Check your setting in Settings → Billing and compare it with your billing platform's setting.

MRR on unpaid subscriptions

In Stripe, you can configure MRR to include subscriptions where payments have never succeeded. GrowPanel does not support this — MRR is always calculated from paid invoices. If a customer creates a subscription but the first payment fails, Stripe may count it as MRR while GrowPanel will not.

This is a fundamental difference in how MRR is calculated and is one of the most common reasons GrowPanel shows less MRR than Stripe.


Other MRR differences

Pending invoices

GrowPanel counts MRR from paid invoices. A subscription might be active but if the invoice is unpaid or pending, it may not count in MRR yet.

Metered/usage billing

For metered pricing:

  • GrowPanel calculates MRR from historical invoices
  • Your billing platform might show expected/estimated usage
  • These can vary significantly

Trial subscriptions

GrowPanel counts MRR only when a customer is paying. Trials with $0 invoices don't contribute to MRR until they convert.

Your billing platform might show "potential MRR" or "trial MRR" separately.

Currency conversion

GrowPanel converts all currencies to your reporting currency using daily exchange rates from exchangerate-api.com. Your billing platform might:

  • Show original currencies separately
  • Use different exchange rates or rate sources
  • Not convert at all

Churn differences

Downgrade to free

If a customer downgrades to a free plan:

  • GrowPanel counts this as churn (MRR went to zero)
  • Your billing platform might call it a "downgrade" or keep them as "active"

Customer count differences

Status definitions

GrowPanel statusWhat it means
LeadCustomer record exists, no trial or subscription
TrialIn active trial period
ActiveHas an active subscription (including $0 plans)
Past DuePayment failed, awaiting payment or auto-churn
CanceledPreviously paid, now churned

Your billing platform may use different status names or definitions.

Multiple subscriptions

If a customer has multiple subscriptions:

  • GrowPanel counts them as one customer
  • MRR is summed across all subscriptions
  • Some platforms count each subscription separately

How to investigate

Step 1: Export comparable data

  1. Export customer-level data from GrowPanel
  2. Export customer-level data from your billing platform
  3. Use the same date range for both

Step 2: Reconcile totals

  1. Sum MRR from both exports
  2. Note the difference
  3. Calculate the percentage variance

A small variance (< 1%) is normal due to timing and rounding.

Step 3: Find specific differences

  1. Sort both lists by customer name or ID
  2. Compare MRR values side-by-side
  3. Identify customers with differences

Step 4: Investigate individual customers

For customers with different MRR:

  1. View their detail page in GrowPanel
  2. Check their subscription in your billing platform
  3. Look for:
    • Different subscription status
    • Currency conversion
    • Pending vs. paid invoices
    • Multiple subscriptions

Common explanations

"GrowPanel shows less MRR"

Usually because:

  • Billing platform includes MRR on unpaid subscriptions
  • One-time discounts are subtracted in GrowPanel but not in your billing platform
  • Past-due customers auto-churned
  • Trials are excluded
  • Pending invoices not counted
  • Currency conversion at different rates

"GrowPanel shows more MRR"

Usually because:

  • Includes all currencies converted to one (your billing platform may show each currency separately)
  • One-time discounts are excluded in GrowPanel but subtracted in your billing platform
  • Exchange rate differences (GrowPanel uses daily rates from exchangerate-api.com)
  • Historical customers included that may be filtered out in your billing platform

"Customer counts don't match"

Usually because:

  • Different status definitions
  • GrowPanel may have older historical customers
  • Filters may be applied

Best practices

Accept small differences

A variance under 1% is normal and expected. Focus on trends rather than exact matches.

Use GrowPanel as source of truth

For consistent reporting, use GrowPanel's numbers for all internal and external reporting. This ensures everyone uses the same definitions.

Document your methodology

Record your settings and how you define metrics:

  • Churn recognition: immediate or end-of-period (default: end-of-period)
  • Auto-churn threshold: number of days past-due (default: 30 days)
  • Subtract one-time discounts from MRR: on or off (default: off)
  • Reporting currency: USD/EUR/etc.

Reconcile periodically

Monthly or quarterly, do a quick reconciliation to ensure data is syncing correctly and no major issues have developed.


When to contact support

Use the support widget if you find:

  • Large unexplained discrepancies (> 5%)
  • Customers completely missing from GrowPanel
  • Data that was present but disappeared
  • Sync errors or failures in Data Sources

Include:

  • Examples of specific customer discrepancies
  • Screenshots from both platforms
  • Your account settings