Skip to main content

How to Connect Stripe as a Data Source in Alta (Connectors)

Connect Stripe through the Connectors library so Alta syncs your customers, charges, invoices, and subscriptions to power revenue analytics, metrics, and Luna.

Written by Katie Supporté

Stripe is the system of record for payments, invoices, and subscriptions — the closest thing to ground-truth revenue. Connecting it as a data source through the Connectors library syncs those billing tables into your Alta workspace, where they become training data for Alta and a foundation for your metrics, dashboards, and Luna analysis. Once it's flowing, you can measure MRR, collections, and churn — and ask Luna questions in plain English. Stripe connects with credentials (an API key).

Who this is for: Finance and RevOps teams who want Stripe revenue data measured alongside pipeline data in Alta.


Before you start

  • Create a Stripe restricted (read-only) API key and have your Account ID handy. A read-only key keeps the connection safe.

  • Decide whether you're connecting live or test mode data (use a live key for real revenue).

  • Connect a source only once per workspace. If Stripe already shows Connected, edit the existing connection.

Connect Stripe

  1. Open Connectors from the sidebar.

  2. Find Stripe via the Billing tab or the Search data sources box.

  3. Click the Stripe card to open the Create connector screen.

  4. Fill in the connection fields shown (such as your API key and account ID), then click Create.

  5. Alta runs a connect test. If it fails you'll see The connect test has failed with Stripe's error — fix the field and retry.

  6. The card then shows Connected and Data is syncing until the first sync finishes.

Choose which tables sync

  1. Open the connection. Stripe brings in tables like customers, charges, invoices, and subscriptions.

  2. Use the Synced toggle in the Stripe tables section to control what's pulled in.

  3. Turn off Show only synced tables to see everything available (balance transactions, refunds, payouts, and more).

Key tables and fields synced

  • customersid, email, name, created, currency

  • charges — payment attempts: id, amount, currency, status (succeeded/failed), created, customer

  • invoicesid, amount_due, amount_paid, status, customer, period_start, period_end

  • subscriptionsid, status (active/canceled/past_due), current_period_start, current_period_end, customer, plan/price

  • prices / products — what's being billed: id, unit_amount, interval, product

  • refunds / balance_transactions — for net revenue and reconciliation

What you can ask this data

Once it's syncing, build it into metrics and dashboards or just ask Luna / Ask AI. For example:

  • "What's our MRR and how is it trending?" — derived from active subscriptions and their price.

  • "How much revenue did we collect last month?" — sums succeeded charges or invoices.amount_paid by date.

  • "What's our churn / canceled-subscription rate?" — tracks subscriptions.status over time.

  • "How many failed charges, and what's their total value?" — filters charges where status = failed.

  • "Who are our largest customers by paid amount?" — sums invoices.amount_paid by customer.

Example use cases

  • Revenue dashboard. MRR/ARR, new vs. churned revenue, and collections, trended monthly.

  • Churn & retention. Cancellation and past-due rates from subscriptions, with net revenue retention.

  • Dunning & failed payments. Monitor failed charges and recovery to protect revenue.

  • Pipeline-to-cash. Join Stripe revenue to CRM deals to compare bookings vs. billed revenue.

Keep it in sync

  • Sync status shows Last sync (Succeeded/Failed) and the Sync frequency.

  • Click Sync now to refresh immediately; it's disabled while a sync runs.

  • Use the overflow menu () to Disable, Enable, or Delete.

Tips and common pitfalls

  • Amounts are in the smallest currency unit. Stripe stores cents — divide by 100 (and mind currency) when reporting dollars.

  • Use a restricted key. Alta only needs to read — a read-only key avoids exposing write access.

  • Test vs live mode. Make sure you use a key for the right mode, or you'll sync the wrong data.

  • Deleting is permanent. Disable instead to pause.


Related

Did this answer your question?