If you want a different RevenueCat report, you usually don’t need to replace your subscription infrastructure. Keep RevenueCat, then choose the lightest reporting layer that answers your question.
Start with RevenueCat Charts for subscription-focused metrics. Use the Charts & Metrics API when you want to build a report in code, or Scheduled Data Exports when you want transaction data delivered to storage or email. If you want a configurable visual layer, AppRoute’s Revenue pivot can import RevenueCat data through read-only API calls. These choices change how you inspect and present the data; they don’t replace RevenueCat’s role in your purchase system.
Disclosure: We’re the AppRoute team, and AppRoute is one of the reporting layers compared here. Imported revenue and click analytics are separate datasets in AppRoute today. A click doesn’t prove an install or purchase, and AppRoute doesn’t currently attribute revenue to an individual link click.
01 Replace the report, not your subscription infrastructure
First, identify the layer that’s getting in your way. If RevenueCat still works for your subscription infrastructure but its current view doesn’t answer a reporting question, change the reporting path first. You can add a chart, API integration, export workflow, or visual reporting layer without replacing the purchase system.
| Layer | What it does |
|---|---|
| Subscription infrastructure | Handles the purchase and subscription state your app relies on. This article doesn’t compare replacements for that layer. |
| Reporting interface | Turns defined metrics or transaction records into charts, tables, and decisions. You can change this layer while keeping RevenueCat underneath it. |
| Data movement | APIs, exports, and webhooks move data or events into a reporting workflow you maintain. They don’t become a useful report until you define how to store, group, and interpret the result. |
Choose among these paths based on the report you need and the setup you’re willing to maintain. A reporting limitation by itself isn’t a reason to migrate the subscription backend.
02 Compare five RevenueCat reporting options
Choose the path that answers your question with an acceptable amount of setup and maintenance.
The first four options keep the reporting workflow within RevenueCat. AppRoute is the external visual layer in this comparison.
| Path | Choose it when | What you take on |
|---|---|---|
| RevenueCat Charts | You need RevenueCat’s native subscription metrics, and the available filters and segments answer the question. | Little additional setup. The dimensions available for filtering and segmentation vary by chart, so confirm that the chart supports the breakdown you need. |
| Charts & Metrics API | You want to build a coded dashboard or pull RevenueCat chart data into another system. | An API integration, the applicable permission scopes, and your own reporting interface. Use the options endpoint to discover the filters, segments, and resolutions supported by each chart. |
| Scheduled Data Exports | You want transaction-level CSV or Parquet data for a warehouse or custom SQL workflow. | Storage, transformations, definitions, and report maintenance. The feed can contain updated versions of transactions, so your downstream logic must identify them correctly. |
| Webhooks | You need subscription and purchase events to trigger a server workflow or update a backend record. | An event receiver and the logic that stores and models those events. Webhooks can feed a reporting system, but they aren’t a ready-made historical reporting interface. |
| AppRoute Revenue pivot | You want a configurable visual transaction pivot using imported RevenueCat data, without building the reporting interface yourself. | A read-only RevenueCat API connection and an AppRoute Pro or Team plan. The public pivot reports personal-account revenue rather than a combined team-workspace total. |
Don’t assume that totals from RevenueCat, Apple, Google, Stripe, or another reporting system will match automatically. Definitions, dates, currency handling, migrations, and estimates can differ. RevenueCat directs tax reporting to the payment processor, and its current-day API data may be partial.
Check current eligibility before choosing an export workflow: RevenueCat documents Scheduled Data Exports as a Pro integration and describes both current and legacy plan access. The API also requires the applicable permission scopes.
03 Build a store-by-month RevenueCat pivot
Use AppRoute’s Revenue pivot when you want to compare imported RevenueCat proceeds by store and month without building this pivot interface yourself.
- Confirm that you have an AppRoute Pro or Team plan. The pivot uses revenue from your personal account, not a combined team-workspace total.
- Create a dedicated RevenueCat v2 secret key with read permissions. In AppRoute, open Dashboard → Integrations, choose RevenueCat, and select Production, Sandbox, or Both for the connection before adding the key.
- Wait until the RevenueCat integration card shows Connected, rather than Validating or Importing. Import timing and field coverage depend on the provider response, so don’t treat a saved connection as a completed report.
- Open Statistics → Pivot table and select the Revenue dataset. If you have both RevenueCat and Stripe data, set Provider to RevenueCat.
- Choose the date range, then apply this configuration:
| Control | Setting |
|---|---|
| Rows | Store |
| Columns | Month |
| Measure | Net proceeds |
| Provider filter | RevenueCat, when both providers are present |
| Currency filter | One currency |
After you apply the configuration, inspect the store labels and compare the result with the relevant RevenueCat source view. When the grouping looks useful, export the visible pivot to CSV. The file reflects the rows, columns, filters, and measures currently applied.
Current production RevenueCat proceeds rows are segmented by store; their product and customer values are not populated. That is why this recipe uses Store rather than Product. Fee totals cover known fees only. AppRoute keeps currencies separate, so filter to one currency before interpreting money totals. It also excludes sandbox or test rows, pending payments, and failed payments from live realized-revenue reporting, even when the connection includes Sandbox or Both. These rules may differ from a RevenueCat chart, which is why the source comparison belongs in the workflow.
04 Reconcile before you trust a total
Treat two totals as comparable only after their date range, currency, environment, metric definition, row coverage, and update rules align.
| Check | Why it changes the result | What to do |
|---|---|---|
| Metric definition | RevenueCat’s API can return gross revenue, revenue net of taxes, or proceeds. AppRoute offers measures including gross revenue, net proceeds, refunds, known fees, transaction count, distinct customers, and revenue per customer. Similar labels do not guarantee identical definitions. | Write down the exact measure selected in each system and compare like with like. Don’t treat either figure as a payout, tax report, or universal accounting total. |
| Date and refund treatment | RevenueCat’s Revenue chart deducts refunds and downward subscription-payment adjustments in the period when they are recorded. A different date range can therefore move an adjustment into or out of the comparison. | Use the same date range, then inspect when refunds and adjustments were recorded in the RevenueCat source view. |
| Currency | AppRoute does not convert currencies or combine money across them in the Revenue pivot. A total that mixes currencies has no single monetary meaning without an explicit conversion method. | Filter the AppRoute pivot to one currency and compare it with the same currency in the source view. |
| Environment and payment status | AppRoute excludes sandbox or test rows, pending payments, and failed payments from live realized-revenue reporting. RevenueCat connections can include Production, Sandbox, or Both, with the rows labeled separately. | Confirm the connection mode and compare the same environment. Check whether either report includes non-final payment states. |
| Missing product, customer, or fee data | Product and customer values can be absent from imported rows, and AppRoute’s fee measure includes known fees only. Distinct-customer and revenue-per-customer subtotals can also be approximate when one customer appears across groups. | Inspect fallback labels before grouping, and avoid treating missing fields as zero. For customer measures, use the documented subtotal caveat when a customer can span groups. |
| Updates and completeness | RevenueCat’s current-day API data may be partial. Scheduled Data Exports can contain updated versions of transactions, while imported fields depend on the provider response. Migrations and estimates can also produce differences between reporting systems. | Wait for the displayed AppRoute import status, avoid using a partial current day for final reconciliation, and identify updated export records correctly in downstream logic. |
Neither report is automatically the source of truth for every purpose. Use RevenueCat and AppRoute as reports under their stated definitions, compare against the relevant provider view, and use the payment processor for tax reporting. Exact parity is not promised.
05 Keep clicks and imported revenue separate
The Revenue pivot shows overall imported provider revenue, while AppRoute click analytics reports link activity in a separate dataset. Use each report for the question it measures.
A click doesn’t prove an install or purchase. Even when clicks and revenue rise during the same period, the current reports don’t show that one caused the other, and they can’t support link-level revenue or ROAS claims.
06 Choose the lightest layer that answers the question
Keep the workflow in RevenueCat when Charts answers the question. Add the Charts & Metrics API or Scheduled Data Exports only when the custom output is worth the code, storage, and maintenance. If the job starts with a subscription or purchase event, use webhooks as an input to a server workflow rather than treating them as a historical report.
If AppRoute fits, review the Revenue pivot’s fields and limits before connecting RevenueCat. Revenue imports and pivots require a Pro or Team plan, and the pivot reports personal-account revenue rather than a combined team-workspace total.