Stripe Connector
Sync Stripe customers, subscriptions, invoices, products, prices, events, and balance transactions into your warehouse. Community v1 connector.
Evaluating against Fivetran? See how Supaflow handles Stripe pricing, connector quality, and Snowflake deployment side-by-side.
Supaflow vs FivetranWhy Supaflow
All connectors included
Every connector is available on every plan. Pricing does not increase with connector count.
Pay for compute, not rows
Credit-based pricing. Usage scales with your pipelines, not with row counts.
One platform
Ingestion, dbt Core transformation, reverse ETL, and orchestration in a single workspace.
Capabilities
Secret Key Authentication
Authenticate with a Stripe secret key (`sk_test_...` for test mode, `sk_live_...` for live). Works with restricted keys scoped to the nine read resources the connector needs; no OAuth flow required.
Incremental for Events and Balance Transactions
The Event log and BalanceTransaction stream sync incrementally on Stripe’s `created` timestamp, so scheduled runs append only what is new. Customers, subscriptions, invoices, products, prices, coupons, and your account run as full refresh because Stripe’s list endpoints do not expose a modified-at filter.
Static, API-version-pinned Schema
Field lists are generated offline from Stripe’s OpenAPI spec for API version 2022-11-15 and shipped with the connector. Fields that happen to be null in a given sync are not silently dropped from the schema. Destination columns are stable run-to-run.
Canceled Subscription Handling
The connector passes `status=all` when listing subscriptions, so canceled subscriptions land in your warehouse alongside active ones. Lifetime subscription analysis and churn cohorts work out of the box.
Start Date and Lookback
Cap the historical window for incremental streams with an ISO 8601 Start Date, and configure a per-run Lookback Period (seconds) to re-fetch recent events on every sync for late-arriving updates.
Supported Objects
Incremental (cursor: `created`)
Event
Stripe’s event log -- every API change that produces a webhook event.
BalanceTransaction
Every charge, refund, payout, and fee that hits your Stripe balance.
Full Refresh
Customer
All customers in your Stripe account.
Subscription
All subscriptions, including canceled ones (the connector sends `status=all`).
Invoice
All invoices.
Product
Product catalog.
Price
Price objects (the successor to the legacy Plan object).
Coupon
Coupons (distinct from promotion codes, which are not synced in v1).
Account
Your Stripe account record, capabilities, and settings.
Not synced in v1
Charge, PaymentIntent, Refund, Dispute, Payout, Transfer, SetupIntent, PaymentMethod, CreditNote, TaxRate, PromotionCode, UsageRecord, SubscriptionItem, Plan
Not exposed by the v1 connector. Contact us at support@supa-flow.io if you need any of these -- it helps us prioritize the v2 connector.
How It Works
Create a Stripe API key
In the Stripe Dashboard, go to Developers > API Keys. Either use your Standard key (`sk_live_...` for production, `sk_test_...` for test mode) or create a Restricted key with Read access only to the nine resources this connector calls: Account, Balance transactions, Coupons, Customers, Events, Invoices, Prices, Products, and Subscriptions.
Paste the key into Supaflow
Paste the `sk_test_` or `sk_live_` key into the Stripe Secret Key field. The value is stored encrypted and is never echoed back in logs or the UI.
Configure optional sync settings
Optionally set a Start Date (ISO 8601, e.g., `2024-01-01T00:00:00Z`) to cap the historical window for Event and BalanceTransaction. Optionally set a Lookback Period in seconds to re-fetch a trailing window on every incremental run.
Test and save
Click Test & Save. Supaflow validates the key by calling `stripe.Customer.list(limit=1)` and then runs schema discovery against the nine Stripe resources.
Use Cases
Revenue and finance reporting
Land Customer, Subscription, Invoice, Price, and BalanceTransaction into the warehouse to build MRR, ARR, churn, and payout reconciliation reports in dbt -- without paying a per-row fee on a high-invoice month.
Event-log audit and webhooks backfill
The incremental Event stream gives you the Stripe Events API feed that this connector can read. Use it to audit recent webhook activity, inspect `customer.subscription.updated` / `invoice.payment_failed` history, or replay downstream processing inside the retention window Stripe exposes.
Cohorting on canceled subscriptions
Because the connector pulls `status=all` for subscriptions, canceled and past-due subscriptions live in the warehouse. Cohort churn by plan, price, or cancel reason without having to rebuild the history from webhooks.
Frequently Asked Questions
What Stripe API version does the connector use?
Does the connector require OAuth?
Does the connector write to Stripe?
Can I sync Charges, PaymentIntents, Refunds, Disputes, or Payouts?
Why are Customers, Subscriptions, and Invoices full refresh instead of incremental?
Does Supaflow support test mode and live mode?
How does Stripe rate limiting work with Supaflow?
Can I run the Stripe pipeline natively inside Snowflake?
Related Resources
Need a connector we don't support yet?
Build one with AI-powered Connector Dev Skills.
Learn More About the Connector SDK