Stripe Connector
Sync Stripe customers, subscriptions, invoices, products, prices, events, and balance transactions into your warehouse. Community 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 fetch 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.
Stable Stripe Schema
The connector ships with a fixed Stripe field set, so destination columns stay stable run-to-run. Fields that happen to be null in a given sync are not silently dropped from the schema.
Canceled Subscription Handling
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
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.
Invoice
All invoices.
Product
Product catalog.
Price
Price objects (the successor to the legacy Plan object).
Coupon
Coupons (distinct from promotion codes, which the connector does not yet sync).
Account
Your Stripe account record, capabilities, and settings.
Not yet supported
Charge, PaymentIntent, Refund, Dispute, Payout, Transfer, SetupIntent, PaymentMethod, CreditNote, TaxRate, PromotionCode, UsageRecord, SubscriptionItem, Plan
The connector does not yet sync these objects. Contact us at support@supa-flow.io if you need any of these -- expansion is prioritized by customer demand.
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 to verify the key and save the source. Supaflow 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 every subscription status, 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
Does the connector require OAuth?
No. Stripe’s REST API authenticates with a server-side secret key (sk_live_... or sk_test_...). Supaflow stores the key encrypted. Publishable keys (pk_...) and webhook signing secrets (whsec_...) are not accepted.
Does the connector write to Stripe?
No. The connector is read-only. It issues list calls to the nine resources above and never calls create / update / delete endpoints. Do not grant write permissions on the Restricted key.
Can I sync Charges, PaymentIntents, Refunds, Disputes, or Payouts?
Not yet. The connector exposes a fixed list of nine resources. Expanding coverage is a connector-level change, not a configuration. Email support@supa-flow.io with the objects you need -- we prioritize expansion by customer demand.
Why are Customers, Subscriptions, and Invoices full refresh instead of incremental?
Stripe’s list endpoints for those objects only expose the immutable created timestamp, not a lastModifiedDate-style filter. Running them as incremental would miss updates to existing rows. Full refresh means the connector re-reads every record on each sync.
Does Supaflow support test mode and live mode?
Yes, but not in the same source. sk_test_... keys read test-mode data only; sk_live_... reads production only. Create two separate sources if you want both.
How does Stripe rate limiting work with Supaflow?
Stripe enforces its own API rate limits in live mode and test mode. The connector does not add a Stripe-specific retry or throttling layer. Initial syncs of large accounts can take a while because Stripe’s maximum page size is 100 records -- a 1M-customer first sync is 10k sequential requests.
Can I run the Stripe pipeline natively inside Snowflake?
Yes. Supaflow runs as a Snowflake Native App via Snowpark Container Services. Your Stripe data is extracted and loaded without leaving your Snowflake account. See our Snowflake Native ETL guide for details.
Related Resources
Need a connector we don't support yet?
Build one with AI-powered Connector Dev Skills.
Learn More About the Connector SDK