Connector

Collect Stripe charges in Snowflake

Load Stripe charges, refunds and disputes into your own Snowflake account with a custom OWOX connector. What customers paid, and what went back, land as tables ready to join to orders and the CRM.

StripeConnectedBalance transact…ChargesCustomersDisputes
Data MartPublishedone definition
SnowflakeIdAccou…Livem…Daily 09:00
Refreshed on a schedule. No exports, no copy-paste.

Get started free

Endpoints

Stripe Endpoints

Documentation

14 Stripe endpoints you can import. Each lands in its own table in your data warehouse.

S00 · Why

Why join Stripe charges with orders and the CRM

A charge is money taken. Which order it paid for, and which account it belongs to, lives in the store and the CRM. To tie revenue to customers, the three have to meet in one data warehouse, joined on keys.

  • Reconcile Stripe charges with store orders on the key your checkout carries
  • See refunds and disputes beside the charge they touch
  • Group revenue by customer email, not only by card
StripeCharges, refunds
OrdersStore sales
CRMAccounts
Your data warehouseSnowflakeStripeOrdersCRMJoined by idOrder placedCharge settledOne query shows what was taken for each order.

S01 · Step 1

Step 1: Connect Stripe and pick the fields

Create a Data Mart, choose Stripe as the data source and add a restricted API key with read access. Open an endpoint and tick only the fields you need.

  • Charges carries amounts, outcome, refund total and dispute flag
  • A custom connector: the restricted API key is yours
New Data MartChoose a sourceShopifyStripeGoogle AdsAuthorizeConnectedEndpointChargesBalance transacti…CustomersDisputes
Charges33 fieldscreatedamountamount_refundedcurrencystatusdisputed

S02 · Step 2

Step 2: Load Stripe into Snowflake

Each endpoint becomes its own table, and refresh settings are set in the Data Mart. Run it and the first load lands as a table in a schema of the database you choose in Snowflake. The location is pre-filled from your data storage, and you can change it.

  • Charges, refunds and disputes each get their own table
  • Every run is logged in Run History
DestinationSnowflakeDatabaseSchemastripeTablechargesRun
Run HistoryPendingRunningSuccessIncremental load
Tablestripe.charges

S03 · Step 3

Step 3: Get a business-friendly Stripe output schema

After the first run you get the output schema: every field with its type and a description. Amounts are in the smallest currency unit, and the schema says so.

  • amount_captured and amount_refunded sit beside the requested amount
  • disputed is true when a chargeback exists on the charge
stripe.chargesOutput schemaFieldDescriptioncreatedWhen Stripe created the object…amountAmount requested in the…amount_refundedAmount refunded so far in the…currencyThree-letter ISO currency code…statussucceeded, pending or failed.disputedtrue when a dispute (chargeback)…

S04 · Step 4

Step 4: Keep the Stripe tables linked

Charges, refunds and disputes stay separate tables, joined by the charge id. Together they become the money-returned part of one Stripe data model.

  • Refunds and disputes both name the charge they touch
  • Add orders and the CRM to the same model
Chargesidamountdisputed
Refundschargeamountreason
Disputeschargeamountstatus

S05 · Step 5

Step 5: Schedule the Stripe refresh and backfill history

Set it once. A daily scheduled refresh keeps the charge tables current, and a manual backfill reloads earlier periods, which refreshes fields that change after creation, such as amount_refunded.

  • Daily runs with no pipeline to maintain
  • Backfill charge history the first time you connect
ScheduleRun on a scheduleDaily 09:00
BackfillRun backfill
Run HistoryDaily scheduleManual backfillDaily schedule

S06 · Step 6

Step 6: Reuse the same Stripe table everywhere

One table feeds your data model, spreadsheets, dashboards, AI assistants and scheduled insights in Slack or email.

  • Define a successful payment once
  • Every report reads the same table
StripeData MartPublished
Your data model
Google Sheets
Data Studio dashboards
Claude, ChatGPT
Slack, email

Recent updates

Why OWOX

Why OWOX for Stripe in Snowflake

Payment exports from Stripe go stale on the day they are made. OWOX keeps charges in Snowflake current and joined to what else you know about the customer.

  • You own the data. It lands in your own data warehouse, in tables you control.
  • Taken, returned, disputed. Charges, refunds and disputes are separate tables joined by charge.
  • The whole account. 14 endpoints are available, so charges can grow into the full billing picture.
  • One place to fix. When Stripe's API changes, you fix the connector once.

Book a callGet started free

Trust

The Data Partner You Can Trust

users

176K Source: Internal OWOX data as of 2026-10-02

Executives and data analysts across 20+ industries

G2 rating

4.9★2

“A trusted data analytics partner” — verified review

npm installs

165K3

In Open Source We Trust

Customers