Skip to main content
Connectors

Stripe connector

Set up the Stripe connector in Kaivo: authentication, configuration, the 47 BigQuery tables it syncs, and answers to common questions.

Written By Lauri Raivio

Last updated 16 days ago

Kaivo is a fully managed data platform that syncs your Stripe data into a Google BigQuery warehouse and keeps it up to date automatically. There is no pipeline to build and no infrastructure to run, so you can spend your time analysing your payment and finance data instead of moving it.

What is the Stripe connector

Sync your Stripe payments, charges, invoices, and subscriptions into BigQuery with Kaivo to report on revenue, churn, and cash flow alongside your business.

CategoryFinance & Payments
AuthenticationAPI key
SetupSelf-service

Getting started with the Stripe connector

  1. Sign up for Kaivo and create a workspace.
  2. Connect your Stripe account.
  3. Choose which tables to sync.
  4. Wait for the initial sync to finish.
  5. Query your data in BigQuery or your favourite AI or BI tool.

Authenticating Stripe

Authenticate with your Secret Key.

FieldDescription
Secret Key

Stripe API key (usually starts with 'sk_live_'; find yours here).

Configuring the Stripe connector

When you set up the connector, you provide:

FieldDescription
Account ID

Your Stripe account ID (starts with 'acct_', find yours here).

Replication start date

Any data before this date will not be fetched.

Tables and columns synced from Stripe

Kaivo syncs 47 tables from Stripe into a dedicated dataset in your BigQuery warehouse. Click any table to see its columns and types.

ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
business_profile__annual_revenue__amountINT64The annual revenue amount.
business_profile__annual_revenue__currencySTRINGThe currency in which the annual revenue is denominated.
business_profile__annual_revenue__fiscal_year_endSTRINGThe fiscal year end date for the annual revenue.
business_profile__estimated_worker_countINT64The estimated number of workers in the business.
business_profile__mccSTRINGMerchant Category Code representing the type of business.
business_profile__nameSTRINGThe name of the business.
business_profile__product_descriptionSTRINGDescription of the products/services offered by the business.
business_profile__support_address__citySTRING
business_profile__support_address__countrySTRING
... and 158 more columns

Nested subtables

Repeating fields are split into their own tables, listed here with their column counts.

  • accounts__external_accounts__data (4 columns)
  • accounts__individual__full_name_aliases (4 columns)
  • accounts__individual__full_requirements__alternatives__alternative_fields_due (4 columns)
  • accounts__individual__full_requirements__alternatives__original_fields_due (4 columns)
  • accounts__individual__full_requirements__errors (6 columns)
  • accounts__individual__full_requirements__eventually_due (4 columns)
  • accounts__individual__full_requirements__past_due (4 columns)
  • accounts__individual__full_requirements__pending_verification (4 columns)
  • accounts__individual__requirements__alternatives__alternative_fields_due (4 columns)
  • accounts__individual__requirements__alternatives__original_fields_due (4 columns)
  • accounts__individual__requirements__currently_due (4 columns)
  • accounts__individual__requirements__errors (6 columns)
  • accounts__individual__requirements__eventually_due (4 columns)
  • accounts__individual__requirements__past_due (4 columns)
  • accounts__individual__requirements__pending_verification (4 columns)
  • accounts__requirements__alternatives (4 columns)
  • accounts__requirements__currently_due (4 columns)
  • accounts__requirements__errors (6 columns)
  • accounts__requirements__eventually_due (4 columns)
  • accounts__requirements__past_due (4 columns)
  • accounts__requirements__pending_verification (4 columns)
  • accounts__future_requirements__alternatives (3 columns)
  • accounts__future_requirements__alternatives__alternative_fields_due (4 columns)
  • accounts__future_requirements__alternatives__original_fields_due (4 columns)
  • accounts__future_requirements__currently_due (4 columns)
  • accounts__future_requirements__errors (6 columns)
  • accounts__future_requirements__eventually_due (4 columns)
  • accounts__future_requirements__past_due (4 columns)
  • accounts__future_requirements__pending_verification (4 columns)
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idSTRINGThe unique identifier for the application fee.
objectSTRINGType of object, which should have a value of 'application_fee'.
accountSTRINGThe ID of the Stripe account that received the application fee.
amountFLOAT64The total amount in cents that was collected by the application fee.
amount_refundedFLOAT64The total amount in cents that was refunded for the application fee.
applicationSTRINGThe ID of the application that the fee was collected for.
balance_transactionSTRINGThe ID of the balance transaction associated with the application fee.
chargeSTRINGThe ID of the charge that the application fee was collected from.
createdFLOAT64The timestamp when the application fee was created.
... and 12 more columns

Nested subtables

Repeating fields are split into their own tables, listed here with their column counts.

  • application_fees__refunds__data (4 columns)
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idSTRINGUnique identifier for the application fee refund
objectSTRINGThe object type, which will be 'fee_refund'
amountFLOAT64The amount refunded in the application fee
balance_transactionSTRINGThe balance transaction ID associated with the refund
createdFLOAT64Timestamp for when the refund was created
updatedINT64Timestamp for when the refund was last updated
currencySTRINGThe currency of the refunded amount
feeSTRINGThe application fee ID associated with the refund
metadata__feeSTRINGMetadata related to the refunded fee
... and 1 more columns
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
amountINT64The amount of the authorization.
amount_details__atm_feeINT64The ATM fee included in the authorization amount.
approvedBOOLIndicates if the authorization is approved.
authorization_methodSTRINGThe method used for authorization.
card__brandSTRING
card__cancellation_reasonSTRING
card__cardholder__billing__address__citySTRING
card__cardholder__billing__address__countrySTRING
card__cardholder__billing__address__line1STRING
... and 81 more columns

Nested subtables

Repeating fields are split into their own tables, listed here with their column counts.

  • authorizations__balance_transactions (17 columns)
  • authorizations__balance_transactions__fee_details (8 columns)
  • authorizations__balance_transactions__sourced_transfers (4 columns)
  • authorizations__card__cardholder__requirements__past_due (4 columns)
  • authorizations__card__cardholder__spending_controls__allowed_categories (4 columns)
  • authorizations__card__cardholder__spending_controls__blocked_categories (4 columns)
  • authorizations__card__cardholder__spending_controls__spending_limits (3 columns)
  • authorizations__card__cardholder__preferred_locales (4 columns)
  • authorizations__card__spending_controls__allowed_categories (4 columns)
  • authorizations__card__spending_controls__blocked_categories (4 columns)
  • authorizations__card__spending_controls__spending_limits (3 columns)
  • authorizations__request_history (11 columns)
  • authorizations__transactions (27 columns)
  • authorizations__transactions__purchase_details__flight__segments (9 columns)
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
feeINT64
currencySTRING
sourceSTRING
available_onINT64
statusSTRING
descriptionSTRING
netINT64
exchange_rateFLOAT64
typeSTRING
... and 6 more columns

Nested subtables

Repeating fields are split into their own tables, listed here with their column counts.

  • balance_transactions__fee_details (8 columns)
  • balance_transactions__sourced_transfers (4 columns)
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idSTRINGUnique identifier for the bank account.
objectSTRINGType of object, in this case, 'bank_account'.
account_holder_nameSTRINGThe name of the account holder associated with the bank account.
account_holder_typeSTRINGThe type of account holder (individual or company) for the bank account.
account_typeSTRINGThe type of bank account (checking or savings).
bank_nameSTRINGThe name of the bank associated with the bank account.
countrySTRINGThe country where the bank account is located.
currencySTRINGThe currency associated with the bank account.
customerSTRINGID of the customer associated with the bank account.
... and 7 more columns
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
billing__address__citySTRING
billing__address__countrySTRING
billing__address__line1STRING
billing__address__line2STRING
billing__address__postal_codeSTRING
billing__address__stateSTRING
company__tax_id_providedBOOL
createdINT64
updatedINT64
... and 18 more columns

Nested subtables

Repeating fields are split into their own tables, listed here with their column counts.

  • cardholders__requirements__past_due (4 columns)
  • cardholders__spending_controls__allowed_categories (4 columns)
  • cardholders__spending_controls__blocked_categories (4 columns)
  • cardholders__spending_controls__spending_limits (3 columns)
  • cardholders__preferred_locales (4 columns)
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
brandSTRING
cancellation_reasonSTRING
cardholder__billing__address__citySTRING
cardholder__billing__address__countrySTRING
cardholder__billing__address__line1STRING
cardholder__billing__address__line2STRING
cardholder__billing__address__postal_codeSTRING
cardholder__billing__address__stateSTRING
cardholder__company__tax_id_providedBOOL
... and 49 more columns

Nested subtables

Repeating fields are split into their own tables, listed here with their column counts.

  • cards__cardholder__requirements__past_due (4 columns)
  • cards__cardholder__spending_controls__allowed_categories (4 columns)
  • cards__cardholder__spending_controls__blocked_categories (4 columns)
  • cards__cardholder__spending_controls__spending_limits (3 columns)
  • cards__cardholder__preferred_locales (4 columns)
  • cards__spending_controls__allowed_categories (4 columns)
  • cards__spending_controls__blocked_categories (4 columns)
  • cards__spending_controls__spending_limits (3 columns)
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
fraud_details__stripe_reportSTRINGThe ID of the fraud report from Stripe.
transfer_groupSTRINGThe transfer group of the charge.
on_behalf_ofSTRINGThe ID of the account on behalf of which the charge is made.
reviewSTRINGA boolean indicating if the charge is under review.
failure_messageSTRINGThe failure error message for the charge.
receipt_emailSTRINGThe email address to send receipt of the charge.
statement_descriptorSTRINGThe statement descriptor for the charge.
source__typeSTRING
source__address_zipSTRING
... and 280 more columns

Nested subtables

Repeating fields are split into their own tables, listed here with their column counts.

  • charges__refunds__data (4 columns)
  • charges__amount_updates (4 columns)
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idSTRINGUnique identifier for the session.
objectSTRINGType of object.
after_expiration__recovery__allow_promotion_codesBOOLFlag indicating whether to allow promotion codes during recovery.
after_expiration__recovery__enabledBOOLFlag indicating whether recovery is enabled.
after_expiration__recovery__expires_atINT64Timestamp indicating the expiration time for recovery.
after_expiration__recovery__urlSTRINGURL for the recovery process.
allow_promotion_codesBOOLFlag indicating whether promotion codes are allowed.
amount_subtotalINT64Subtotal amount for the session.
amount_totalINT64Total amount for the session.
... and 83 more columns

Nested subtables

Repeating fields are split into their own tables, listed here with their column counts.

  • checkout_sessions__customer_details__tax_ids (5 columns)
  • checkout_sessions__payment_method_options__acss_debit__mandate_options__default_for (4 columns)
  • checkout_sessions__payment_method_types (4 columns)
  • checkout_sessions__shipping_address_collection__allowed_countries (4 columns)
  • checkout_sessions__total_details__breakdown__discounts (4 columns)
  • checkout_sessions__total_details__breakdown__taxes (17 columns)
  • checkout_sessions__custom_fields (15 columns)
  • checkout_sessions__custom_fields__dropdown__options (3 columns)
  • checkout_sessions__invoice_creation__invoice_data__account_tax_ids (4 columns)
  • checkout_sessions__invoice_creation__invoice_data__custom_fields (5 columns)
  • checkout_sessions__shipping_cost__taxes (20 columns)
  • checkout_sessions__shipping_options (5 columns)
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idSTRINGThe unique identifier of the line item.
checkout_session_idSTRINGThe unique identifier of the checkout session.
checkout_session_expires_atINT64The expiration timestamp of the checkout session.
checkout_session_createdINT64The timestamp when the checkout session was created.
checkout_session_updatedINT64The timestamp when the checkout session was last updated.
objectSTRINGThe type of object, in this case, it will be 'checkout_sessions_line_items'.
amount_subtotalINT64The subtotal amount of the line item before any discounts or taxes.
amount_taxINT64The total tax amount applied to the line item.
amount_discountINT64The total discount amount applied to the line item.
... and 31 more columns

Nested subtables

Repeating fields are split into their own tables, listed here with their column counts.

  • checkout_sessions_line_items__discounts (28 columns)
  • checkout_sessions_line_items__discounts__discount__coupon__applies_to__products (4 columns)
  • checkout_sessions_line_items__taxes (17 columns)
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
times_redeemedINT64Number of times the coupon has been redeemed.
percent_off_preciseFLOAT64Precise percentage discount value.
livemodeBOOLIndicates if the coupon is in live mode.
objectSTRINGType of object, in this case, 'coupon'.
redeem_bySTRINGTimestamp by which the coupon must be redeemed.
durationSTRINGSpecifies the duration that the coupon remains valid for, e.g., once, repeating.
idSTRINGUnique identifier for the coupon.
validBOOLIndicates if the coupon is currently valid for use.
currencySTRINGCurrency of the amount_off value.
... and 9 more columns
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idSTRINGThe unique identifier of the credit note.
objectSTRINGThe object type.
amountINT64The total amount of the credit note.
amount_shippingINT64The amount charged for shipping.
createdINT64The timestamp when the credit note was created.
updatedINT64The timestamp when the credit note was last updated.
currencySTRINGThe currency of the credit note.
customerSTRINGThe customer associated with the credit note.
customer_balance_transactionSTRINGThe balance transaction associated with the customer.
... and 23 more columns

Nested subtables

Repeating fields are split into their own tables, listed here with their column counts.

  • credit_notes__discount_amounts (4 columns)
  • credit_notes__lines__data (16 columns)
  • credit_notes__lines__data__discount_amounts (5 columns)
  • credit_notes__lines__data__tax_amounts (8 columns)
  • credit_notes__lines__data__tax_rates (17 columns)
  • credit_notes__shipping_cost__taxes (21 columns)
  • credit_notes__tax_amounts (8 columns)
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idSTRINGUnique identifier of the balance transaction
objectSTRINGType of object, in this case, 'balance_transaction'
amountFLOAT64The transaction amount in the smallest currency unit
createdINT64The date and time when the transaction was created
updatedINT64The date and time when the transaction was created
credit_noteSTRINGCredit note related to the balance transaction
currencySTRINGThe currency code of the transaction amount
customerSTRINGID of the customer associated with the transaction
descriptionSTRINGDescription of the balance transaction
... and 5 more columns
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
invoice_settings__default_payment_methodSTRING
invoice_settings__footerSTRING
nameSTRING
tax_exemptSTRING
next_invoice_sequenceINT64
balanceINT64
phoneSTRING
address__citySTRING
address__countrySTRING
... and 55 more columns

Nested subtables

Repeating fields are split into their own tables, listed here with their column counts.

  • customers__preferred_locales (4 columns)
  • customers__invoice_settings__custom_fields (4 columns)
  • customers__cards (26 columns)
  • customers__subscriptions__data (4 columns)
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idSTRINGThe ID of the dispute.
objectSTRINGType of object being returned.
amountINT64The amount of the dispute.
chargeSTRINGThe charge ID associated with the dispute.
createdINT64The timestamp when the dispute was created.
updatedINT64The timestamp when the dispute was last updated.
currencySTRINGThe currency of the dispute amount.
evidence__refund_policySTRING
evidence__shipping_addressSTRING
... and 39 more columns

Nested subtables

Repeating fields are split into their own tables, listed here with their column counts.

  • disputes__balance_transactions (4 columns)
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idSTRINGUnique identifier for the fraud warning.
objectSTRINGDefines the object type as 'early_fraud_warning'.
actionableBOOLBoolean indicating if action is required based on the fraud warning.
chargeSTRINGID of the charge associated with the fraud warning.
createdFLOAT64Timestamp when the fraud warning was created.
updatedINT64Timestamp when the fraud warning was last updated.
fraud_typeSTRINGType of fraud warning detected.
livemodeBOOLBoolean indicating if the fraud warning is in live mode.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
createdINT64The timestamp representing when the event was created.
idSTRINGThe unique identifier of the event.
api_versionSTRINGThe version of the Stripe API that generated the event.
objectSTRINGThe object type representing the event.
livemodeBOOLIndicates whether the event occurred in live mode or test mode.
pending_webhooksINT64The number of webhooks pending to be sent related to the event.
requestJSONThe API request information associated with the event.
typeSTRINGThe type of event that occurred.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idSTRINGThe unique identifier for the bank account.
objectSTRINGThe object type, which is typically 'bank_account'.
account_holder_nameSTRINGThe name of the account holder.
account_holder_typeSTRINGThe type of account holder, such as individual or company.
account_typeSTRINGThe type of bank account, such as checking or savings.
bank_nameSTRINGThe name of the bank.
countrySTRINGThe country where the bank account is located.
currencySTRINGThe currency of the bank account.
fingerprintSTRINGA unique identifier for the bank account.
... and 7 more columns
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idSTRINGThe unique identifier for the card.
objectSTRINGIndicates the object type such as 'card'.
address_citySTRINGThe city part of the cardholder's billing address.
address_countrySTRINGThe country part of the cardholder's billing address.
address_line1STRINGThe first line of the cardholder's billing address.
address_line1_checkSTRINGIf `address_line1` was provided, indicates if it has been checked for address_line1 true/false.
address_line2STRINGThe second line of the cardholder's billing address.
address_stateSTRINGThe state part of the cardholder's billing address.
address_zipSTRINGThe ZIP or postal code of the cardholder's billing address.
... and 17 more columns
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idSTRINGUnique identifier for the file
purposeSTRINGPurpose of the file
typeSTRINGType of the file
objectSTRINGType of object represented by the file
createdINT64Timestamp indicating when the file was created
expires_atINT64Timestamp indicating when the file will expire
filenameSTRINGName of the file
links__objectSTRINGType of object containing the linked data entries
links__has_moreBOOLBoolean indicating whether there are more linked data entries
... and 5 more columns

Nested subtables

Repeating fields are split into their own tables, listed here with their column counts.

  • files__links__data (11 columns)
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
amountINT64The amount associated with the invoice item
plan__nicknameSTRINGThe nickname of the plan
plan__objectSTRINGThe object type of the plan
plan__aggregate_usageSTRINGThe usage aggregation rule for the plan
plan__createdINT64The creation timestamp of the plan
plan__statement_descriptionSTRINGThe description on customer's statement for the plan
plan__productSTRINGThe product associated with the plan
plan__statement_descriptorSTRINGThe statement descriptor of the plan
plan__interval_countINT64The number of intervals between plan charges
... and 59 more columns

Nested subtables

Repeating fields are split into their own tables, listed here with their column counts.

  • invoice_items__plan__tiers (6 columns)
  • invoice_items__price__tiers (4 columns)
  • invoice_items__discounts (4 columns)
  • invoice_items__tax_rates (17 columns)
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idSTRINGThe unique identifier for the invoice line item.
invoiceSTRINGThe ID of the invoice associated with the line item.
invoice_idSTRINGThe ID of the invoice associated with the line item.
subscription_itemSTRINGThe item details associated with the subscription.
descriptionSTRINGA brief description of the invoice line item.
objectSTRINGThe object type, which is 'invoiceitem'.
discountableBOOLIndicates whether the item is eligible for discounts.
quantityINT64The quantity of the item being billed.
amountINT64The total amount of the invoice line item, including any taxes and discounts.
... and 60 more columns

Nested subtables

Repeating fields are split into their own tables, listed here with their column counts.

  • invoice_line_items__margins (4 columns)
  • invoice_line_items__plan__tiers (6 columns)
  • invoice_line_items__proration_details__credited_items__invoice_line_items (4 columns)
  • invoice_line_items__price__tiers (4 columns)
  • invoice_line_items__discount_amounts (5 columns)
  • invoice_line_items__discounts (4 columns)
  • invoice_line_items__tax_rates (17 columns)
  • invoice_line_items__tax_amounts (8 columns)
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
createdINT64The timestamp when the invoice was created
updatedINT64Timestamp for when the invoice was last updated
next_payment_attemptFLOAT64Timestamp for the next payment attempt
taxINT64The total tax amount on the invoice
chargeSTRINGThe charge associated with the invoice
descriptionSTRINGThe description of the invoice
receipt_numberSTRINGThe receipt number associated with the invoice
attempt_countINT64The number of attempts made to pay the invoice
paymentSTRINGThe payment details associated with the invoice
... and 129 more columns

Nested subtables

Repeating fields are split into their own tables, listed here with their column counts.

  • invoices__customer_tax_ids (5 columns)
  • invoices__discounts (20 columns)
  • invoices__total_discount_amounts (5 columns)
  • invoices__shipping_cost__taxes (4 columns)
  • invoices__custom_fields (5 columns)
  • invoices__total_tax_amounts (21 columns)
  • invoices__payment_settings__payment_method_types (4 columns)
  • invoices__default_tax_rates (17 columns)
  • invoices__account_tax_ids (4 columns)
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idSTRING
objectSTRING
amountINT64
amount_capturableINT64
amount_receivedINT64
applicationSTRING
application_fee_amountINT64
canceled_atINT64
cancellation_reasonSTRING
... and 194 more columns

Nested subtables

Repeating fields are split into their own tables, listed here with their column counts.

  • payment_intents__charges__data (4 columns)
  • payment_intents__last_payment_error__payment_method__card__networks__available (4 columns)
  • payment_intents__payment_method_types (4 columns)
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
acss_debit__bank_nameSTRING
acss_debit__fingerprintSTRING
acss_debit__institution_numberSTRING
acss_debit__last4STRING
acss_debit__transit_numberSTRING
allow_redisplaySTRING
au_becs_debit__bsb_numberSTRING
au_becs_debit__fingerprintSTRING
au_becs_debit__last4STRING
... and 48 more columns

Nested subtables

Repeating fields are split into their own tables, listed here with their column counts.

  • payment_methods__card__networks__available (4 columns)
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
payoutSTRING
feeINT64
currencySTRING
sourceSTRING
available_onINT64
statusSTRING
descriptionSTRING
netINT64
exchange_rateFLOAT64
... and 8 more columns

Nested subtables

Repeating fields are split into their own tables, listed here with their column counts.

  • payout_balance_transactions__fee_details (8 columns)
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
failure_codeSTRINGThe failure code for a failed payout.
idSTRINGThe ID of the payout.
statement_descriptionSTRINGThe description that will appear on the bank statement.
amountINT64The amount of the payout in the smallest currency unit.
balance_transactionSTRINGThe ID of the balance transaction that describes the impact on your account balance.
createdINT64The date the payout was created.
updatedINT64The date the payout was last updated.
amount_reversedINT64The amount that was reversed (negative) from this payout.
source_typeSTRINGThe type of the source transaction (charge, payment, refund).
... and 34 more columns
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idSTRINGUnique identifier for the person
objectSTRINGObject type for the person data
phoneSTRINGPhone number
emailSTRINGEmail address
address_kanaSTRINGJapanese Kana writing for address
address_kanjiSTRINGJapanese Kanji writing for address
first_name_kanaSTRINGJapanese Kana writing for first name
genderSTRINGGender of the person
full_name_aliasesSTRINGAlternate full name entries
... and 41 more columns

Nested subtables

Repeating fields are split into their own tables, listed here with their column counts.

  • persons__future_requirements__alternatives (6 columns)
  • persons__future_requirements__alternatives__alternative_fields_due (4 columns)
  • persons__future_requirements__alternatives__original_fields_due (4 columns)
  • persons__future_requirements__currently_due (6 columns)
  • persons__future_requirements__errors (6 columns)
  • persons__future_requirements__eventually_due (6 columns)
  • persons__future_requirements__past_due (6 columns)
  • persons__future_requirements__pending_verification (6 columns)
  • persons__requirements__alternatives (6 columns)
  • persons__requirements__alternatives__alternative_fields_due (4 columns)
  • persons__requirements__alternatives__original_fields_due (4 columns)
  • persons__requirements__currently_due (6 columns)
  • persons__requirements__errors (6 columns)
  • persons__requirements__eventually_due (6 columns)
  • persons__requirements__past_due (6 columns)
  • persons__requirements__pending_verification (6 columns)
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
nicknameSTRINGA short phrase used to identify the plan.
objectSTRINGType of object. Value is 'plan'.
aggregate_usageSTRINGDetermines how usage is calculated for the subscription.
createdINT64Timestamp representing the creation date of the plan.
updatedINT64Timestamp representing the last update of the plan.
statement_descriptionSTRINGDescription to be shown on customer statements.
productSTRINGThe product associated with the plan.
statement_descriptorSTRINGThe statement descriptor to be shown on credit card statements.
interval_countINT64Number of intervals between each subscription billing.
... and 15 more columns

Nested subtables

Repeating fields are split into their own tables, listed here with their column counts.

  • plans__tiers (8 columns)
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idSTRINGUnique identifier for the price.
objectSTRINGType of object, in this case, 'price'.
activeBOOLIndicates if the price is currently active or not.
billing_schemeSTRINGDefines how the price interacts with the subscription's billing periods.
createdINT64Timestamp representing when the price was created.
updatedINT64Timestamp representing when the price was last updated.
currencySTRINGThe currency of the price.
custom_unit_amountSTRINGCustom unit amount for the price if set.
livemodeBOOLIndicates if the price is in live mode.
... and 17 more columns
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idSTRINGUnique identifier for the product.
objectSTRINGIndicates the type of object, in this case, a product.
activeBOOLIndicates if the product is active or not.
captionSTRINGA short description or title for the product.
createdINT64Timestamp indicating the creation date of the product.
descriptionSTRINGA detailed description of the product.
livemodeBOOLIndicates if the product is in live mode or test mode.
nameSTRINGName of the product.
package_dimensions__widthFLOAT64Width dimension of the product package.
... and 13 more columns

Nested subtables

Repeating fields are split into their own tables, listed here with their column counts.

  • products__attributes (4 columns)
  • products__deactivate_on (4 columns)
  • products__images (4 columns)
  • products__features (4 columns)
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idSTRINGThe unique identifier for the promotion code.
codeSTRINGThe unique code string associated with the promotion code.
coupon__idSTRINGThe unique identifier for the coupon.
coupon__amount_offINT64The amount which will be discounted from the total if the coupon is applied.
coupon__currencySTRINGThe currency in which the discount amount is specified.
coupon__durationSTRINGIndicates how long the discount will last (e.g, once, forever).
coupon__duration_in_monthsINT64Optional. The number of months the coupon will last.
coupon__nameSTRINGThe name of the coupon.
coupon__percent_offFLOAT64The percentage to be discounted if the coupon is applied.
... and 20 more columns

Nested subtables

Repeating fields are split into their own tables, listed here with their column counts.

  • promotion_codes__coupon__applies_to__products (4 columns)
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idSTRINGUnique identifier for the refund.
objectSTRINGIndicates the type of object, which should be 'refund'.
amountINT64The amount refunded in the smallest currency unit (e.g. cents).
balance_transactionSTRINGID of the balance transaction that describes the impact on your account balance.
chargeSTRINGID of the charge that was refunded.
createdINT64Timestamp representing when the refund was created.
updatedINT64Timestamp representing when the refund was last updated.
currencySTRINGThe currency of the refund.
payment_intentSTRINGID of the payment intent associated with the refund.
... and 11 more columns
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
billing_zipSTRINGThe ZIP code associated with the billing address.
chargeSTRINGThe charge associated with the payment.
closed_reasonSTRINGThe reason for closing the transaction.
createdINT64The timestamp when the review was created.
updatedINT64The timestamp when the review was last updated.
idSTRINGThe unique identifier for the review.
ip_addressSTRINGThe IP address of the reviewer.
ip_address_location__citySTRINGThe city of the reviewer's IP address location.
ip_address_location__countrySTRINGThe country of the reviewer's IP address location.
... and 14 more columns
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
applicationSTRINGThe application associated with the setup attempt.
createdINT64The timestamp when the setup attempt was created.
customerSTRINGThe customer associated with the setup attempt.
idSTRINGThe unique identifier for the setup attempt.
livemodeBOOLIndicates if the setup attempt is in live mode.
objectSTRINGThe object type, typically 'setup_attempt'.
on_behalf_ofSTRINGThe entity on whose behalf the setup attempt is being made.
payment_methodSTRINGThe payment method associated with the setup attempt.
payment_method_details__bancontact__bank_codeSTRINGThe bank code associated with the Bancontact payment method.
... and 311 more columns

Nested subtables

Repeating fields are split into their own tables, listed here with their column counts.

  • setup_attempts__setup_error__payment_intent__charges__data (4 columns)
  • setup_attempts__setup_error__payment_intent__last_payment_error__payment_method__card__networks__available (4 columns)
  • setup_attempts__setup_error__payment_intent__payment_method_types (4 columns)
  • setup_attempts__setup_error__payment_method__card__networks__available (4 columns)
  • setup_attempts__setup_error__setup_intent__flow_directions (4 columns)
  • setup_attempts__setup_error__setup_intent__payment_method_types (4 columns)
  • setup_attempts__flow_directions (4 columns)
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idSTRING
objectSTRING
applicationSTRING
cancellation_reasonSTRING
createdINT64
updatedINT64
customerSTRING
descriptionSTRING
last_setup_errorSTRING
... and 15 more columns

Nested subtables

Repeating fields are split into their own tables, listed here with their column counts.

  • setup_intents__flow_directions (4 columns)
  • setup_intents__payment_method_types (4 columns)
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idSTRINGUnique identifier for the shipping rate
objectSTRINGType of object, in this case, it will always be 'shipping_rate'
activeBOOLSpecifies if the shipping rate is currently active or not
createdINT64Timestamp indicating when the shipping rate was created
delivery_estimateSTRINGEstimated delivery time for the shipping rate
display_nameSTRINGName displayed for the shipping rate
fixed_amount__amountINT64Fixed amount for the shipping rate
fixed_amount__currencySTRINGCurrency of the fixed amount
livemodeBOOLIndicates if the shipping rate is in live mode
... and 6 more columns
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
canceled_atSTRINGTimestamp indicating when the subscription was canceled.
current_period_endSTRINGTimestamp indicating when the current billing period ends.
plan__nicknameSTRINGNickname of the plan.
plan__objectSTRINGType of object, in this case, 'plan'.
plan__aggregate_usageSTRINGType of usage aggregation for the subscription.
plan__createdINT64Timestamp indicating when the plan was created.
plan__statement_descriptionSTRINGDescription to be shown on the customer's statement for the plan.
plan__productSTRINGID of the product associated with the plan.
plan__statement_descriptorSTRINGDescriptor shown on the customer's credit card statement for the plan.
... and 58 more columns

Nested subtables

Repeating fields are split into their own tables, listed here with their column counts.

  • subscription_items__plan__tiers (6 columns)
  • subscription_items__tax_rates (17 columns)
  • subscription_items__price__tiers (4 columns)
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idSTRINGThe unique ID of the subscription schedule.
objectSTRINGThe object type, which is 'subscription_schedule'.
applicationSTRINGThe ID of the application associated with the subscription schedule.
canceled_atSTRINGThe date and time when the subscription schedule was canceled.
completed_atSTRINGThe date and time when the subscription schedule was completed.
createdINT64The date and time when the subscription schedule was created.
updatedINT64The date and time when the subscription schedule was last updated.
current_phase__end_dateINT64The end date of the current phase.
current_phase__start_dateINT64The start date of the current phase.
... and 20 more columns

Nested subtables

Repeating fields are split into their own tables, listed here with their column counts.

  • subscription_schedule__phases (18 columns)
  • subscription_schedule__phases__add_invoice_items (5 columns)
  • subscription_schedule__phases__add_invoice_items__tax_rates (17 columns)
  • subscription_schedule__phases__default_tax_rates (17 columns)
  • subscription_schedule__phases__items (6 columns)
  • subscription_schedule__phases__items__tax_rates (3 columns)
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
canceled_atFLOAT64The timestamp at which the subscription was canceled.
cancel_atFLOAT64The timestamp at which the subscription will be canceled.
livemodeBOOLIndicates if the subscription is in live mode.
start_dateINT64The start date of the subscription.
items__objectSTRINGType of object, in this case, 'items'.
items__has_moreBOOLIndicates if there are more items in the subscription.
items__total_countFLOAT64The total count of items in the subscription.
items__urlSTRINGThe URL to access the subscription items.
idSTRINGThe unique identifier of the subscription.
... and 89 more columns

Nested subtables

Repeating fields are split into their own tables, listed here with their column counts.

  • subscriptions__items__data (4 columns)
  • subscriptions__plan__tiers (6 columns)
  • subscriptions__payment_settings__payment_method_types (4 columns)
  • subscriptions__default_tax_rates (17 columns)
  • subscriptions__pending_update__subscription_items (34 columns)
  • subscriptions__pending_update__subscription_items__price__tiers (4 columns)
  • subscriptions__pending_update__subscription_items__tax_rates (17 columns)
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idSTRINGUnique identifier for the top-up
amountINT64The amount of the top-up in the smallest currency unit, e.g., 100 cents for $1
currencySTRINGThe currency in which the top-up was made, e.g., USD, EUR
descriptionSTRINGA brief description of the purpose of the top-up
statusSTRINGCurrent status of the top-up, e.g., succeeded, failed
objectSTRINGType of object, in this case, 'top-up'
balance_transactionSTRINGID of the balance transaction that describes the impact of this top-up on your account balance
createdINT64Timestamp indicating when the top-up was created
updatedINT64Timestamp indicating when the top-up was last updated
... and 8 more columns
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
amountINT64The transaction amount in the specified currency.
amount_details__atm_feeINT64The fee charged by the ATM for the transaction.
authorizationSTRINGThe authorization code for the transaction.
balance_transactionSTRINGThe ID of the balance transaction associated with this payment.
cardSTRINGInformation about the payment card used for the transaction.
cardholderSTRINGDetails about the cardholder, such as name and address.
createdINT64The timestamp when the transaction was created.
updatedINT64The timestamp when the transaction record was last updated.
currencySTRINGThe currency in which the transaction was made.
... and 18 more columns

Nested subtables

Repeating fields are split into their own tables, listed here with their column counts.

  • transactions__purchase_details__flight__segments (9 columns)
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
amountINT64The amount of the transfer reversal, in cents.
balance_transactionSTRINGThe balance transaction associated with this transfer reversal.
createdINT64Timestamp representing when the transfer reversal was created.
currencySTRINGThe currency of the transfer reversal amount.
destination_payment_refundSTRINGThe ID of the payment refund to which this transfer reversal is linked.
idSTRINGUnique identifier for the transfer reversal.
objectSTRINGIndicates the object type, which should be 'transfer_reversal'.
source_refundSTRINGThe ID of the refund on the source transfer that created this reversal.
transferSTRINGThe ID of the transfer for which this is a reversal.
... and 1 more columns
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
reversals__objectSTRINGThe object type, in this case, 'list'
reversals__has_moreBOOLIndicates if there are more reversals to retrieve
reversals__total_countFLOAT64Total count of reversals
reversals__urlSTRINGURL to retrieve all reversals for the transfer
idSTRINGThe unique identifier of the transfer
statement_descriptionSTRINGThe description appearing on the recipient's bank statement
amountINT64The amount of the transfer
balance_transactionSTRINGThe balance transaction associated with the transfer
reversedBOOLIndicates if the transfer was fully or partially reversed
... and 19 more columns

Nested subtables

Repeating fields are split into their own tables, listed here with their column counts.

  • transfers__reversals__data (4 columns)
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idSTRINGThe unique identifier for the usage record
invoiceSTRINGThe ID of the invoice associated with this usage record
livemodeBOOLIndicates whether this usage record is in live mode or test mode
objectSTRINGRepresents the type of object, in this case, 'usage_record'
period__startINT64The start date of the usage period
period__endINT64The end date of the usage period
subscription_itemSTRINGThe item within the subscription that this usage record is associated with
total_usageINT64The total quantity of units used for this usage record
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

How the Stripe sync works

After the first load, Kaivo keeps your BigQuery warehouse up to date for you. Where Stripe supports it, each sync pulls only new and changed records so it stays fast; otherwise it refreshes the whole table. Every record keeps its original ID, so you won't get duplicate rows.

Frequently asked questions

How long does the initial sync take for Stripe?

It depends on how much history is in your Stripe account. Most initial syncs finish within minutes, while large accounts can take a few hours. After that, syncs only fetch new and changed records, so they're much faster.

Can I sync only some tables or columns?

Yes. You pick which tables to sync when you set up the connection and can change the selection later. Tables you don't select are never copied to your warehouse.

What happens when Stripe's schema changes?

New fields are never added automatically. You choose which fields to sync, so data you haven't selected (sensitive personal data, for example) never lands in your warehouse. When a new field appears, it becomes available for you to add. What happens to removed or renamed fields depends on a table's sync mode: full-refresh tables always match what's currently in Stripe, so dropped fields disappear, while incremental tables keep their existing columns and history, so an old field stays and newly added fields fill in over time.

How do I handle GDPR or data deletion requests?

Your data lives in your own Kaivo-managed BigQuery warehouse, so the most direct option is to delete or anonymise specific records right in BigQuery. If you delete data in Stripe instead, full-refresh tables drop it on the next sync, while incremental tables keep it, so you would remove the row in BigQuery or ask us to run a full refresh. To remove everything, delete the Stripe connector in Kaivo and all of its synced data is deleted with it.

Common use cases for Stripe data

Revenue and MRR tracking

Combine invoices, invoice_items, and subscriptions to track recurring revenue, expansion, and contraction month over month.

Churn and retention

Analyse customers alongside their subscriptions and invoices to measure churn, surface at-risk accounts, and track lifetime value.

Payout reconciliation

Join balance_transactions and payouts to reconcile gross charges, Stripe fees, and net bank deposits down to the transaction.

Dispute monitoring

Track disputes against charges over time to monitor chargeback and win rates and the revenue at risk from fraud.

Failed payment analysis

Use charges and payment_intents to surface declined payments and failure reasons, so you can recover revenue and tune retry logic.

Use Stripe data in your AI and BI tools

Once Stripe data lands in your Kaivo-managed BigQuery warehouse, you can explore it with AI tools or any BI tool that connects to BigQuery. Here's how the most common destinations work with Stripe data.

Claude

Use Kaivo's MCP server to give Claude secure, workspace-scoped access to your data. Setup guide →

Power BI

Microsoft's BI tool with a native BigQuery connector. Supports direct query and scheduled refresh. Setup guide →

Data Studio

Free Google BI tool with native BigQuery support. One-click connection to your Kaivo warehouse; great for SMB teams on Google Workspace. Setup guide →

Tableau

The premium analytics standard, with native BigQuery integration. Setup guide →

Google Sheets

Use Connected Sheets to query BigQuery directly from a spreadsheet, with no SQL. Setup guide →

Excel

Connect via Power Query's BigQuery connector. Setup guide →

Metabase

Open-source BI tool with strong BigQuery support. Setup guide →

See our pricing page for Stripe connector pricing and plan details.

Was this helpful?

Still need help? Share an idea