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
Open Connectors from the sidebar.
Find Stripe via the Billing tab or the Search data sources box.
Click the Stripe card to open the Create connector screen.
Fill in the connection fields shown (such as your API key and account ID), then click Create.
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.
The card then shows Connected and Data is syncing until the first sync finishes.
Choose which tables sync
Open the connection. Stripe brings in tables like customers, charges, invoices, and subscriptions.
Use the Synced toggle in the Stripe tables section to control what's pulled in.
Turn off Show only synced tables to see everything available (balance transactions, refunds, payouts, and more).
Key tables and fields synced
customers —
id,email,name,created,currencycharges — payment attempts:
id,amount,currency,status(succeeded/failed),created,customerinvoices —
id,amount_due,amount_paid,status,customer,period_start,period_endsubscriptions —
id,status(active/canceled/past_due),current_period_start,current_period_end,customer, plan/priceprices / products — what's being billed:
id,unit_amount,interval,productrefunds / 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
subscriptionsand theirprice."How much revenue did we collect last month?" — sums succeeded
chargesorinvoices.amount_paidby date."What's our churn / canceled-subscription rate?" — tracks
subscriptions.statusover time."How many failed charges, and what's their total value?" — filters
chargeswherestatus= failed."Who are our largest customers by paid amount?" — sums
invoices.amount_paidbycustomer.
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
