Data Discrepancies
This guide explains why GrowPanel's numbers might differ from your billing platform and how to investigate discrepancies.
Why numbers differ
GrowPanel and your billing platform (Stripe, Chargebee, Recurly) may show different numbers for legitimate reasons. Understanding these differences helps you trust your data and explain variations to stakeholders.
Different calculation methods
| Aspect | GrowPanel | Billing platforms |
|---|---|---|
| MRR basis | Calculated from paid invoices | May use subscription amount |
| Currency | Converted to reporting currency | May show original currency |
| Timing | End-of-period snapshots | Real-time |
| Trials | Excluded from MRR | May be included |
| Pending charges | Not counted until paid | May be included |
MRR differences
Common reasons
1. 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.
2. Annual plan normalization
GrowPanel divides annual subscriptions by 12 to get monthly MRR:
- $1,200/year = $100 MRR
Your billing platform might show the full annual amount or use different normalization.
3. Currency conversion
GrowPanel converts all currencies to your reporting currency using daily exchange rates. Your billing platform might:
- Show original currencies separately
- Use different exchange rates
- Not convert at all
4. 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.
5. Metered/usage billing
For metered pricing:
- GrowPanel calculates MRR from historical invoices
- Your billing platform might show expected/estimated usage
- These can vary significantly
Churn differences
Churn recognition timing
GrowPanel has a setting for when to recognize churn:
Immediate recognition:
- Churn counted when cancellation is submitted
- Matches when the customer decided to leave
- May differ from when revenue actually stops
End-of-period recognition:
- Churn counted when subscription ends
- Matches when revenue impact is felt
- May differ from when customer canceled
Check your setting in Settings → Reporting.
Past-due handling
GrowPanel can auto-churn customers after X days past-due. If this differs from how your billing platform counts failed payments, churn numbers will differ.
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 status | What it means |
|---|---|
| Lead | Customer record exists, no trial or subscription |
| Trial | In active trial period |
| Active | Paying subscriber |
| Past Due | Payment failed, within grace period |
| Canceled | Previously 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
- Export customer-level data from GrowPanel
- Export customer-level data from your billing platform
- Use the same date range for both
Step 2: Reconcile totals
- Sum MRR from both exports
- Note the difference
- Calculate the percentage variance
A small variance (< 1%) is normal due to timing and rounding.
Step 3: Find specific differences
- Sort both lists by customer name or ID
- Compare MRR values side-by-side
- Identify customers with differences
Step 4: Investigate individual customers
For customers with different MRR:
- View their detail page in GrowPanel
- Check their subscription in your billing platform
- Look for:
- Different subscription status
- Currency conversion
- Pending vs. paid invoices
- Multiple subscriptions
Common explanations
"GrowPanel shows less MRR"
Usually because:
- Trials are excluded
- Pending invoices not counted
- Past-due customers auto-churned
- Currency conversion at different rates
"GrowPanel shows more MRR"
Usually because:
- Includes all currencies converted to one
- Past revenue still showing (check date range)
- Multiple data sources connected
"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
- Auto-churn threshold: X days
- 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
Contact GrowPanel support 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
Related pages
- Troubleshooting - General troubleshooting guide
- MRR report - Understanding MRR calculations
- Reporting settings - Configure how metrics are calculated