Data source

Stripe data model: balance transactions, payouts and subscriptions as tables

OWOX loads Stripe balance transactions, charges, refunds, disputes, payouts, invoices and subscriptions into your data warehouse as separate tables, with the keys and joins already drawn. Open the model on the canvas or bring it in as Data Marts.

Get started free

The Stripe data model

The Stripe data model

14 tables261 fields28 joinsView on GitHub

Balance transactions16 fields3 relationshipsCharges33 fields6 relationshipsCustomers17 fields4 relationshipsDisputes14 fields2 relationshipsEvents11 fields0 relationshipsInvoice line items19 fields4 relationshipsInvoices31 fields5 relationshipsPayment intents22 fields4 relationshipsPayouts18 fields1 relationshipPrices17 fields3 relationshipsProducts13 fields3 relationshipsRefunds13 fields2 relationshipsSubscription items14 fields4 relationshipsSubscriptions23 fields3 relationships

Start from Balance Transactions: each row is one movement of money, with the gross amount, Stripe's fee and the net that lands in your balance. Charges, Refunds, Disputes and Payouts all hold the id of the balance transaction they created. Subscriptions are the recurring half. Subscription Items point at Prices, Prices at Products, and Invoices with their Invoice Line Items bill the result to a Customer. Payment Intents record every checkout attempt, including those that never became a charge, and Events logs each change Stripe made. All tables carry id and account_id, so a second Stripe account can load into the same table without colliding. Amounts are integers in the smallest unit of the currency, so a cent or a yen is 1. Put the model in your data warehouse, or turn each table into a Data Mart that keeps its joins.

Explore on canvas →Import this model

Endpoints

Stripe Endpoints

Documentation

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

Where Stripe data goes

What Stripe data answers

What Stripe data answers

Across the tables

  • How much did we net after fees, refunds and disputes last month, and did every `payout` reach the bank for the amount its `balance transactions` add up to?
  • What is MRR today from `subscription items` × `prices`, and how did it move: new, expansion, contraction, churn?
  • Which `customers` and `invoices` are past due or failing payment, and how much revenue is at risk?

Balance transactions

  • How much did we net after Stripe fees last month, and how much was fees?
  • Which balance transactions made up payout po_… and do they sum to its amount?
  • How much revenue became available for payout each week versus how much was charged?

Charges

  • How many charges failed or were declined this month, and for which reasons?
  • What share of volume comes from each card brand and country?
  • Which `customers` have refunded or disputed charges?

Customers

  • How many paying customers do we have, and how many are delinquent?
  • Which customers were created this month, and which ad campaign brought them (joined on email or metadata)?

Disputes

  • How many disputes are open, how much is at stake, and when is evidence due?
  • What is our dispute rate (disputes per hundred charges) by month?

Events

  • What changed on subscription sub_… and when?
  • How many invoice.payment_failed events fired this week?

Invoice line items

  • Which `products` and `prices` drive invoiced revenue?
  • How much of this month's invoicing is prorations from plan changes?

Invoices

  • How much is invoiced, paid and still outstanding this month?
  • Which invoices are past due and how many payment attempts have been made?
  • How much billed revenue was voided or became uncollectible?

Payment intents

  • How many checkouts were started but never completed, and why?
  • What is the decline rate by last error code?

Payouts

  • When did each payout arrive at the bank, and which ones failed?
  • How many days pass between a charge's created date and its payout's arrival date?

Prices

  • Which prices (plans) are in use, at what amount and interval?
  • How much list revenue do legacy inactive prices still bill?

Products

  • Which products are active, and which still carry subscriptions?

Refunds

  • How much was refunded this month, by reason?
  • Which `products` (through the invoice lines of the refunded charge) are refunded most?

Subscription items

  • What is MRR today, by `product` and by billing interval?
  • How did MRR move this month: new, expansion, contraction, churn?

Subscriptions

  • How many subscriptions are active, trialing, past due or canceled right now?
  • How many subscriptions are set to cancel at the end of the period?
  • Why do customers cancel, according to the cancellation reason?

Why OWOX

What the Stripe model gives you

Stripe keeps volume, bank transfers and revenue in separate screens, and they disagree on purpose. In your data warehouse they are columns you can put side by side.

  • Sold, settled, banked. Charge amount by created date says what you sold. Balance transaction net by available_on says what you could spend. Payout amount by arrival_date says what hit the bank. One model, one query per question.
  • A deposit you can trace. Payouts sit next to the balance transactions with their dates, so when a bank deposit is lower than the sales behind it, fees, refunds and disputes are rows you can add up.
  • Recurring revenue you define. MRR is built from subscription items and prices, and invoiced revenue from invoice line items and prices, so a change of plan structure is a change to your query, not a wait for a vendor report.
  • Stripe next to your own tables. Match Customers to your customer table on the ids and emails you keep, Charges to orders by the charge id stored with the order, and Payouts to deposits in your bank or QuickBooks feed.
  • The same figures everywhere. Spreadsheets, dashboards and AI assistants read these tables, so finance and marketing quote one net revenue.
  • A restricted key, nothing more. The credential is a restricted Stripe API key. OWOX Data Marts hosts the connector, a custom one whose manifest is open and versioned.

Book a callGet started free

Recent updates

Other data sources

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

Balance transactions schema

Stripe Balance transactions schema

16 fieldsTime seriesstripe_balance_transactions

Every movement of money through the Stripe balance: charges, refunds, disputes, fees, payouts, adjustments.

Stripe Balance transactions fields
FieldTypeDescription
idSTRINGStripe object id, unique across the account.
account_idSTRINGYour Stripe account id (acct\_…) as entered in the connector; lets several Stripe accounts share one table.
livemodeBOOLEANtrue for live-mode objects, false for test mode.
createdINTEGERWhen Stripe created the object, as Unix time in seconds (UTC); TIMESTAMP_SECONDS(created) in SQL. The field the daily window filters on.
amountINTEGERGross amount of the transaction in the smallest currency unit (cents for USD); negative for money leaving the balance.
feeINTEGERStripe fees taken on this transaction in the smallest currency unit (cents for USD).
netINTEGERAmount after fees in the smallest currency unit (cents for USD): amount minus fee. What moves to the balance and, later, to the bank.
currencySTRINGThree-letter ISO currency code of amount, fee and net, lowercase.
typeSTRINGTransaction type: charge, refund, payout, adjustment, stripe_fee, application_fee, transfer, payment, dispute and about forty more.
reporting_categorySTRINGStripe's reporting category (charge, refund, dispute, fee, payout, …), the stable grouping Stripe uses in its own financial reports.
sourceSTRINGId of the object that caused the movement: a charge (ch\_), refund (re\_), dispute (du\_), payout (po\_). Join key to those tables.
statusSTRINGavailable or pending: whether the funds can be paid out yet.
available_onINTEGERWhen the funds became (or become) available for payout. The date to use for revenue that has reached the balance, as Unix time in seconds (UTC); use TIMESTAMP_SECONDS() in SQL.
exchange_rateFLOATExchange rate applied when the charge currency differs from the balance currency; null otherwise.
descriptionSTRINGFree-text description Stripe attaches to the transaction.
fee_detailsJSONJSON list of the fees that make up fee: each with amount, currency, type (stripe_fee, application_fee, tax) and description.

Charges schema

Stripe Charges schema

33 fieldsTime seriesstripe_charges

One row per charge attempt: amount, outcome, card details, who paid and which invoice or payment intent it belongs to.

Stripe Charges fields
FieldTypeDescription
idSTRINGStripe object id, unique across the account.
account_idSTRINGYour Stripe account id (acct\_…) as entered in the connector; lets several Stripe accounts share one table.
livemodeBOOLEANtrue for live-mode objects, false for test mode.
createdINTEGERWhen Stripe created the object, as Unix time in seconds (UTC); TIMESTAMP_SECONDS(created) in SQL. The field the daily window filters on.
amountINTEGERAmount requested in the smallest currency unit (cents for USD).
amount_capturedINTEGERAmount actually captured in the smallest currency unit (cents for USD); equals amount unless the charge was authorized for more.
amount_refundedINTEGERAmount refunded so far in the smallest currency unit (cents for USD); grows after creation.
currencySTRINGThree-letter ISO currency code, lowercase.
statusSTRINGsucceeded, pending or failed.
paidBOOLEANtrue when the charge succeeded or was successfully authorized.
capturedBOOLEANtrue when the charge was captured (funds taken), false for an uncaptured authorization.
refundedBOOLEANtrue when the charge is fully refunded.
disputedBOOLEANtrue when a dispute (chargeback) exists on this charge.
customerSTRINGCustomer id (cus\_). Join to customers.
payment_intentSTRINGPayment intent id (pi\_) this charge belongs to. Join to payment_intents.
invoiceSTRINGInvoice id (in\_) when the charge paid an invoice. Join to invoices.
balance_transactionSTRINGBalance transaction id (txn\_) carrying this charge's fee and net. Join to balance_transactions.
payment_methodSTRINGPayment method id (pm\_) used.
payment_method_typeSTRINGPayment method family: card, link, sepa_debit, us_bank_account, …
card_brandSTRINGCard brand: visa, mastercard, amex, …
card_fundingSTRINGcredit, debit or prepaid.
card_countrySTRINGTwo-letter issuing country of the card.
card_last4STRINGLast four digits of the card.
outcome_network_statusSTRINGapproved_by_network, declined_by_network, not_sent_to_network or reversed_after_approval.
outcome_risk_levelSTRINGStripe Radar risk level: normal, elevated, highest.
outcome_seller_messageSTRINGHuman-readable outcome from Stripe.
failure_codeSTRINGError code when the charge failed (card_declined, insufficient_funds, …).
failure_messageSTRINGHuman-readable failure reason.
descriptionSTRINGDescription set when the charge was created.
receipt_emailSTRINGEmail the receipt was sent to.
statement_descriptorSTRINGText shown on the customer's card statement.
billing_countrySTRINGTwo-letter country from the billing address.
metadataJSONMetadata object your systems attached (order ids, plan names) as a JSON string.

Customers schema

Stripe Customers schema

17 fieldsstripe_customers

Every customer object: identity, billing country, delinquency and balance.

Stripe Customers fields
FieldTypeDescription
idSTRINGStripe object id, unique across the account.
account_idSTRINGYour Stripe account id (acct\_…) as entered in the connector; lets several Stripe accounts share one table.
livemodeBOOLEANtrue for live-mode objects, false for test mode.
createdINTEGERWhen Stripe created the object, as Unix time in seconds (UTC); TIMESTAMP_SECONDS(created) in SQL. The field the daily window filters on.
emailSTRINGCustomer email.
nameSTRINGCustomer or company name.
descriptionSTRINGFree-text description.
currencySTRINGCurrency the customer is billed in, set after the first invoice.
delinquentBOOLEANtrue when the latest invoice is unpaid past its due date.
balanceINTEGERAccount balance in the smallest currency unit (cents for USD): negative means credit the next invoice applies, positive means owed.
default_payment_methodSTRINGDefault payment method id for invoices.
default_sourceSTRINGLegacy default source id.
address_countrySTRINGTwo-letter country of the billing address.
address_citySTRINGBilling city.
tax_exemptSTRINGnone, exempt or reverse.
invoice_prefixSTRINGPrefix Stripe uses for this customer's invoice numbers.
metadataJSONMetadata object your systems attached as a JSON string.

Disputes schema

Stripe Disputes schema

14 fieldsTime seriesstripe_disputes

One row per dispute (chargeback) with its status and evidence deadline.

Stripe Disputes fields
FieldTypeDescription
idSTRINGStripe object id, unique across the account.
account_idSTRINGYour Stripe account id (acct\_…) as entered in the connector; lets several Stripe accounts share one table.
livemodeBOOLEANtrue for live-mode objects, false for test mode.
createdINTEGERWhen Stripe created the object, as Unix time in seconds (UTC); TIMESTAMP_SECONDS(created) in SQL. The field the daily window filters on.
amountINTEGERDisputed amount in the smallest currency unit (cents for USD).
currencySTRINGThree-letter ISO currency code, lowercase.
chargeSTRINGCharge id (ch\_) disputed. Join to charges.
payment_intentSTRINGPayment intent id (pi\_) disputed.
reasonSTRINGfraudulent, product_not_received, duplicate, subscription_canceled, credit_not_processed, general, …
statusSTRINGwarning_needs_response, warning_under_review, warning_closed, needs_response, under_review, won or lost.
is_charge_refundableBOOLEANWhether the charge can still be refunded instead of fought.
evidence_due_byINTEGERDeadline to submit evidence, as Unix time in seconds (UTC); use TIMESTAMP_SECONDS() in SQL.
evidence_has_evidenceBOOLEANWhether evidence has been submitted.
balance_transactionsJSONJSON list of the balance transactions (debit and, if won, credit) tied to the dispute.

Events schema

Stripe Events schema

11 fieldsTime seriesstripe_events

The audit trail: every change Stripe recorded (invoice.paid, customer.subscription.updated, charge.refunded, …) with the id of the object it concerns.

Stripe Events fields
FieldTypeDescription
idSTRINGStripe object id, unique across the account.
account_idSTRINGYour Stripe account id (acct\_…) as entered in the connector; lets several Stripe accounts share one table.
livemodeBOOLEANtrue for live-mode objects, false for test mode.
createdINTEGERWhen Stripe created the object, as Unix time in seconds (UTC); TIMESTAMP_SECONDS(created) in SQL. The field the daily window filters on.
typeSTRINGEvent type, e.g. invoice.paid, charge.succeeded, customer.subscription.deleted.
object_idSTRINGId of the object the event concerns.
object_typeSTRINGType of that object: invoice, charge, subscription, …
api_versionSTRINGAPI version the event payload is rendered in.
pending_webhooksINTEGERWebhooks still to be delivered for this event.
request_idSTRINGId of the API request that caused the event; null for automatic events.
idempotency_keySTRINGIdempotency key of that request.

Invoice line items schema

Stripe Invoice line items schema

19 fieldsstripe_invoice_line_items

Every line on every invoice: what was billed, for which price and product, for which period.

Stripe Invoice line items fields
FieldTypeDescription
idSTRINGStripe object id, unique across the account.
account_idSTRINGYour Stripe account id (acct\_…) as entered in the connector; lets several Stripe accounts share one table.
livemodeBOOLEANtrue for live-mode objects, false for test mode.
invoiceSTRINGInvoice id (in\_) the line belongs to. Join to invoices.
amountINTEGERLine amount in the smallest currency unit (cents for USD), after quantity, before invoice-level discounts.
currencySTRINGThree-letter ISO currency code, lowercase.
descriptionSTRINGLine description as printed.
quantityINTEGERUnits billed.
period_startINTEGERStart of the period this line covers, as Unix time in seconds (UTC); use TIMESTAMP_SECONDS() in SQL.
period_endINTEGEREnd of the period, as Unix time in seconds (UTC); use TIMESTAMP_SECONDS() in SQL.
price_idSTRINGPrice id (price\_). Join to prices.
product_idSTRINGProduct id (prod\_). Join to products.
unit_amountINTEGERUnit price in the smallest currency unit (cents for USD).
recurring_intervalSTRINGmonth, year, week or day for recurring prices.
prorationBOOLEANtrue for a proration line after a plan change.
typeSTRINGinvoiceitem or subscription.
subscriptionSTRINGSubscription id (sub\_) when the line bills a subscription.
subscription_itemSTRINGSubscription item id (si\_). Join to subscription_items.
discountableBOOLEANWhether invoice discounts apply to this line.

Invoices schema

Stripe Invoices schema

31 fieldsTime seriesstripe_invoices

One row per invoice with amounts, status and period.

Stripe Invoices fields
FieldTypeDescription
idSTRINGStripe object id, unique across the account.
account_idSTRINGYour Stripe account id (acct\_…) as entered in the connector; lets several Stripe accounts share one table.
livemodeBOOLEANtrue for live-mode objects, false for test mode.
createdINTEGERWhen Stripe created the object, as Unix time in seconds (UTC); TIMESTAMP_SECONDS(created) in SQL. The field the daily window filters on.
customerSTRINGCustomer id (cus\_). Join to customers.
subscriptionSTRINGSubscription id (sub\_) when the invoice bills a subscription. Join to subscriptions.
statusSTRINGdraft, open, paid, uncollectible or void.
numberSTRINGInvoice number shown to the customer.
billing_reasonSTRINGsubscription_create, subscription_cycle, subscription_update, manual, upcoming, …
collection_methodSTRINGcharge_automatically or send_invoice.
currencySTRINGThree-letter ISO currency code, lowercase.
period_startINTEGERStart of the usage period the invoice covers, as Unix time in seconds (UTC); use TIMESTAMP_SECONDS() in SQL.
period_endINTEGEREnd of the usage period, as Unix time in seconds (UTC); use TIMESTAMP_SECONDS() in SQL.
due_dateINTEGERWhen payment is due (send_invoice collection), as Unix time in seconds (UTC); use TIMESTAMP_SECONDS() in SQL.
paid_atINTEGERWhen the invoice was paid, as Unix time in seconds (UTC); use TIMESTAMP_SECONDS() in SQL.
finalized_atINTEGERWhen the invoice was finalized, as Unix time in seconds (UTC); use TIMESTAMP_SECONDS() in SQL.
voided_atINTEGERWhen the invoice was voided, as Unix time in seconds (UTC); use TIMESTAMP_SECONDS() in SQL.
amount_dueINTEGERAmount still to collect when finalized in the smallest currency unit (cents for USD).
amount_paidINTEGERAmount paid in the smallest currency unit (cents for USD).
amount_remainingINTEGERAmount outstanding in the smallest currency unit (cents for USD).
subtotalINTEGERSum of line items before discounts and tax in the smallest currency unit (cents for USD).
totalINTEGERTotal after discounts and tax in the smallest currency unit (cents for USD).
taxINTEGERTax amount in the smallest currency unit (cents for USD).
starting_balanceINTEGERCustomer balance applied at creation in the smallest currency unit (cents for USD).
chargeSTRINGCharge id (ch\_) that paid it. Join to charges.
payment_intentSTRINGPayment intent id (pi\_).
attempt_countINTEGERNumber of payment attempts made.
attemptedBOOLEANWhether payment was attempted.
paidBOOLEANWhether the invoice is paid.
hosted_invoice_urlSTRINGLink to the hosted invoice page.
metadataJSONMetadata object as a JSON string.

Payment intents schema

Stripe Payment intents schema

22 fieldsTime seriesstripe_payment_intents

One row per payment attempt lifecycle: how much was asked for, how much was received, and where it stands.

Stripe Payment intents fields
FieldTypeDescription
idSTRINGStripe object id, unique across the account.
account_idSTRINGYour Stripe account id (acct\_…) as entered in the connector; lets several Stripe accounts share one table.
livemodeBOOLEANtrue for live-mode objects, false for test mode.
createdINTEGERWhen Stripe created the object, as Unix time in seconds (UTC); TIMESTAMP_SECONDS(created) in SQL. The field the daily window filters on.
amountINTEGERAmount intended in the smallest currency unit (cents for USD).
amount_receivedINTEGERAmount received so far in the smallest currency unit (cents for USD).
amount_capturableINTEGERAmount authorized but not yet captured in the smallest currency unit (cents for USD).
currencySTRINGThree-letter ISO currency code, lowercase.
statusSTRINGrequires_payment_method, requires_confirmation, requires_action, processing, requires_capture, canceled or succeeded.
customerSTRINGCustomer id (cus\_). Join to customers.
invoiceSTRINGInvoice id (in\_) when the intent pays an invoice.
latest_chargeSTRINGMost recent charge id (ch\_). Join to charges.
payment_methodSTRINGPayment method id (pm\_).
payment_method_typesJSONJSON list of payment method types offered.
capture_methodSTRINGautomatic, automatic_async or manual.
canceled_atINTEGERWhen the intent was canceled, as Unix time in seconds (UTC); use TIMESTAMP_SECONDS() in SQL.
cancellation_reasonSTRINGduplicate, fraudulent, requested_by_customer, abandoned, failed_invoice, automatic, …
last_error_codeSTRINGCode of the last payment error.
last_error_decline_codeSTRINGCard network decline code of the last error.
descriptionSTRINGDescription set at creation.
statement_descriptorSTRINGStatement descriptor.
metadataJSONMetadata object as a JSON string.

Payouts schema

Stripe Payouts schema

18 fieldsTime seriesstripe_payouts

One row per transfer from the Stripe balance to the bank account: amount, arrival date, status.

Stripe Payouts fields
FieldTypeDescription
idSTRINGStripe object id, unique across the account.
account_idSTRINGYour Stripe account id (acct\_…) as entered in the connector; lets several Stripe accounts share one table.
livemodeBOOLEANtrue for live-mode objects, false for test mode.
createdINTEGERWhen Stripe created the object, as Unix time in seconds (UTC); TIMESTAMP_SECONDS(created) in SQL. The field the daily window filters on.
amountINTEGERAmount sent to the bank in the smallest currency unit (cents for USD).
currencySTRINGThree-letter ISO currency code, lowercase.
statusSTRINGpaid, pending, in_transit, canceled or failed.
typeSTRINGbank_account or card.
methodSTRINGstandard or instant.
automaticBOOLEANtrue for payouts Stripe created on the payout schedule, false for manual ones.
arrival_dateINTEGERDate the funds are expected in (or arrived at) the bank. The cash date, as Unix time in seconds (UTC); use TIMESTAMP_SECONDS() in SQL.
balance_transactionSTRINGBalance transaction id (txn\_) of the payout itself (type payout). Join to balance_transactions.
destinationSTRINGBank account (ba\_) or card (card\_) the payout went to.
failure_codeSTRINGWhy a payout failed (account_closed, no_account, …).
failure_messageSTRINGHuman-readable failure reason.
statement_descriptorSTRINGText on the bank statement.
descriptionSTRINGStripe's description, usually STRIPE PAYOUT.
source_typeSTRINGBalance type paid out: card, bank_account or fpx.

Prices schema

Stripe Prices schema

17 fieldsstripe_prices

Every price (plan) of every product, active or not, with amount, currency and billing interval.

Stripe Prices fields
FieldTypeDescription
idSTRINGStripe object id, unique across the account.
account_idSTRINGYour Stripe account id (acct\_…) as entered in the connector; lets several Stripe accounts share one table.
livemodeBOOLEANtrue for live-mode objects, false for test mode.
createdINTEGERWhen Stripe created the object, as Unix time in seconds (UTC); TIMESTAMP_SECONDS(created) in SQL. The field the daily window filters on.
productSTRINGProduct id (prod\_). Join to products.
activeBOOLEANWhether the price can be used on new subscriptions.
currencySTRINGThree-letter ISO currency code, lowercase.
unit_amountINTEGERPrice per unit in the smallest currency unit (cents for USD); null for tiered or metered prices.
typeSTRINGone_time or recurring.
billing_schemeSTRINGper_unit or tiered.
recurring_intervalSTRINGmonth, year, week or day for recurring prices.
recurring_interval_countINTEGERIntervals per billing cycle.
recurring_usage_typeSTRINGlicensed or metered.
nicknameSTRINGPrice nickname (plan name).
lookup_keySTRINGYour own key for the price.
tax_behaviorSTRINGinclusive, exclusive or unspecified.
metadataJSONMetadata object as a JSON string.

Products schema

Stripe Products schema

13 fieldsstripe_products

The catalogue: every product, active or not.

Stripe Products fields
FieldTypeDescription
idSTRINGStripe object id, unique across the account.
account_idSTRINGYour Stripe account id (acct\_…) as entered in the connector; lets several Stripe accounts share one table.
livemodeBOOLEANtrue for live-mode objects, false for test mode.
createdINTEGERWhen Stripe created the object, as Unix time in seconds (UTC); TIMESTAMP_SECONDS(created) in SQL. The field the daily window filters on.
nameSTRINGProduct name.
activeBOOLEANWhether the product can be sold.
descriptionSTRINGProduct description.
typeSTRINGservice or good.
default_priceSTRINGDefault price id (price\_).
unit_labelSTRINGLabel for units (seat, GB) shown on invoices.
statement_descriptorSTRINGStatement descriptor override.
updatedINTEGERLast update time, as Unix time in seconds (UTC); use TIMESTAMP_SECONDS() in SQL.
metadataJSONMetadata object as a JSON string.

Refunds schema

Stripe Refunds schema

13 fieldsTime seriesstripe_refunds

One row per refund: how much was returned on which charge, why, and the balance transaction that reversed the money.

Stripe Refunds fields
FieldTypeDescription
idSTRINGStripe object id, unique across the account.
account_idSTRINGYour Stripe account id (acct\_…) as entered in the connector; lets several Stripe accounts share one table.
livemodeBOOLEANtrue for live-mode objects, false for test mode.
createdINTEGERWhen Stripe created the object, as Unix time in seconds (UTC); TIMESTAMP_SECONDS(created) in SQL. The field the daily window filters on.
amountINTEGERRefunded amount in the smallest currency unit (cents for USD).
currencySTRINGThree-letter ISO currency code, lowercase.
chargeSTRINGCharge id (ch\_) refunded. Join to charges.
payment_intentSTRINGPayment intent id (pi\_) refunded.
balance_transactionSTRINGBalance transaction id (txn\_) of the refund. Join to balance_transactions.
reasonSTRINGduplicate, fraudulent, requested_by_customer or expired_uncaptured_charge; null when not given.
statusSTRINGpending, requires_action, succeeded, failed or canceled.
receipt_numberSTRINGReceipt number shown to the customer.
descriptionSTRINGOptional description.

Subscription items schema

Stripe Subscription items schema

14 fieldsstripe_subscription_items

The lines of every subscription: which price, how many units.

Stripe Subscription items fields
FieldTypeDescription
idSTRINGStripe object id, unique across the account.
account_idSTRINGYour Stripe account id (acct\_…) as entered in the connector; lets several Stripe accounts share one table.
livemodeBOOLEANtrue for live-mode objects, false for test mode.
createdINTEGERWhen Stripe created the object, as Unix time in seconds (UTC); TIMESTAMP_SECONDS(created) in SQL. The field the daily window filters on.
subscriptionSTRINGSubscription id (sub\_). Join to subscriptions.
quantityINTEGERUnits of the price on this item.
price_idSTRINGPrice id (price\_). Join to prices.
product_idSTRINGProduct id (prod\_). Join to products.
unit_amountINTEGERUnit price in the smallest currency unit (cents for USD).
price_currencySTRINGCurrency of the price.
recurring_intervalSTRINGmonth, year, week or day.
recurring_interval_countINTEGERNumber of intervals per billing cycle (3 with month = quarterly).
price_nicknameSTRINGPrice nickname (plan name) if set.
metadataJSONMetadata object as a JSON string.

Subscriptions schema

Stripe Subscriptions schema

23 fieldsstripe_subscriptions

One row per subscription in any status (status=all), full refresh every run so cancellations and past-due states are current.

Stripe Subscriptions fields
FieldTypeDescription
idSTRINGStripe object id, unique across the account.
account_idSTRINGYour Stripe account id (acct\_…) as entered in the connector; lets several Stripe accounts share one table.
livemodeBOOLEANtrue for live-mode objects, false for test mode.
createdINTEGERWhen Stripe created the object, as Unix time in seconds (UTC); TIMESTAMP_SECONDS(created) in SQL. The field the daily window filters on.
customerSTRINGCustomer id (cus\_). Join to customers.
statusSTRINGtrialing, active, past_due, unpaid, canceled, incomplete, incomplete_expired or paused.
start_dateINTEGERWhen the subscription started, as Unix time in seconds (UTC); use TIMESTAMP_SECONDS() in SQL.
current_period_startINTEGERStart of the current billing period, as Unix time in seconds (UTC); use TIMESTAMP_SECONDS() in SQL.
current_period_endINTEGEREnd of the current billing period; the next invoice date, as Unix time in seconds (UTC); use TIMESTAMP_SECONDS() in SQL.
cancel_at_period_endBOOLEANtrue when set to cancel at the end of the current period.
cancel_atINTEGERScheduled cancellation time, as Unix time in seconds (UTC); use TIMESTAMP_SECONDS() in SQL.
canceled_atINTEGERWhen the subscription was canceled, as Unix time in seconds (UTC); use TIMESTAMP_SECONDS() in SQL.
ended_atINTEGERWhen the subscription ended, as Unix time in seconds (UTC); use TIMESTAMP_SECONDS() in SQL.
trial_startINTEGERTrial start, as Unix time in seconds (UTC); use TIMESTAMP_SECONDS() in SQL.
trial_endINTEGERTrial end, as Unix time in seconds (UTC); use TIMESTAMP_SECONDS() in SQL.
collection_methodSTRINGcharge_automatically or send_invoice.
currencySTRINGThree-letter ISO currency code, lowercase.
latest_invoiceSTRINGLatest invoice id (in\_). Join to invoices.
default_payment_methodSTRINGDefault payment method id (pm\_).
days_until_dueINTEGERDays until an invoice is due for send_invoice subscriptions.
cancellation_reasonSTRINGReason given at cancellation.
cancellation_feedbackSTRINGCustomer feedback at cancellation.
metadataJSONMetadata object as a JSON string.