Stripe integration summary

Stitch’s Stripe integration replicates data using the Stripe REST API. Refer to the Schema section for a list of objects available for replication.

Stripe feature snapshot

A high-level look at Stitch's Stripe (v3) integration, including release status, useful links, and the features supported in Stitch.

STITCH
Release status

Released on August 29, 2023

Supported by

Stitch

Stitch plan

Standard

API availability

Available

Singer GitHub repository

singer-io/tap-stripe

REPLICATION SETTINGS
Anchor Scheduling

Supported

Advanced Scheduling

Supported

Table-level reset

Unsupported

Configurable Replication Methods

Unsupported

DATA SELECTION
Table selection

Supported

Column selection

Supported

Select all

Supported

TRANSPARENCY
Extraction Logs

Supported

Loading Reports

Supported

Connecting Stripe

Stripe setup requirements

To set up Stripe in Stitch, you need:

  • Administrator permissions in Stripe. This is required to grant Stitch access to Stripe.


Step 1: Add Stripe as a Stitch data source

  1. Sign into your Stitch account.
  2. On the Stitch Dashboard page, click the Add Integration button.

  3. Click the Stripe icon.

  4. Enter a name for the integration. This is the name that will display on the Stitch Dashboard for the integration; it’ll also be used to create the schema in your destination.

    For example, the name “Stitch Stripe” would create a schema called stitch_stripe in the destination. Note: Schema names cannot be changed after you save the integration.

  5. In the Lookback window field, enter the number of historical days’ worth of data you would like to replicate from the start date. The maximum lookback period is 600 days. This field is optional. Head to the Lookback windows and data extraction section to learn more about this.

Step 2: Define the historical replication start date

The Sync Historical Data setting defines the starting date for your Stripe integration. This means that data equal to or newer than this date will be replicated to your data warehouse.

Change this setting if you want to replicate data beyond Stripe’s default setting of 1 year. For a detailed look at historical replication jobs, check out the Syncing Historical SaaS Data guide.

Step 3: Create a replication schedule

In the Replication Frequency section, you’ll create the integration’s replication schedule. An integration’s replication schedule determines how often Stitch runs a replication job, and the time that job begins.

Stripe integrations support the following replication scheduling methods:

To keep your row usage low, consider setting the integration to replicate less frequently. See the Understanding and Reducing Your Row Usage guide for tips on reducing your usage.

Step 4: Authorize Stitch to access Stripe

  1. Next, you’ll be prompted to sign into your Stripe account.
  2. A screen explaining what you’re authorizing will display. Note: Stitch will only ever read your Stripe data, and cannot create charges or any other records in Stripe.
  3. Click Sign in with Stripe to connect.
  4. Sign into your Stripe account.
  5. After the authorization process is successfully completed, you’ll be directed back to Stitch.
  6. Click All Done.

Step 5: Set objects to replicate

The last step is to select the tables and columns you want to replicate. Learn about the available tables for this integration.

Note: If a replication job is currently in progress, new selections won’t be used until the next job starts.

For Stripe integrations, you can select:

  1. Individual tables and columns

  2. All tables and columns

Click the tabs to view instructions for each selection method.

  1. In the integration’s Tables to Replicate tab, locate a table you want to replicate.
  2. To track a table, click the checkbox next to the table’s name. A blue checkmark means the table is set to replicate.

  3. To track a column, click the checkbox next to the column’s name. A blue checkmark means the column is set to replicate.

  4. Repeat this process for all the tables and columns you want to replicate.
  5. When finished, click the Finalize Your Selections button at the bottom of the screen to save your selections.
  1. Click into the integration from the Stitch Dashboard page.
  2. Click the Tables to Replicate tab.

  3. In the list of tables, click the box next to the Table Names column.
  4. In the menu that displays, click Track all Tables and Fields:

    The Track all Tables and Fields menu in the Tables to Replicate tab

  5. Click the Finalize Your Selections button at the bottom of the page to save your data selections.

Initial and historical replication jobs

After you finish setting up Stripe, its Sync Status may show as Pending on either the Stitch Dashboard or in the Integration Details page.

For a new integration, a Pending status indicates that Stitch is in the process of scheduling the initial replication job for the integration. This may take some time to complete.

Free historical data loads

The first seven days of replication, beginning when data is first replicated, are free. Rows replicated from the new integration during this time won’t count towards your quota. Stitch offers this as a way of testing new integrations, measuring usage, and ensuring historical data volumes don’t quickly consume your quota.


Stripe replication

Events table replication

Stripe will only provide 30 days of historical event data for the events table. Refer the the Stripe docs for more information about the events table.

Objects and events

In the Stripe API, there are two concepts:

  • Objects, which are items like charges, invoices, customers, etc.
  • Events, which are changes to objects. For example: An invoice being created, or its status going from draft to open.

Whenever an object is created or updated in Stripe, a corresponding event is created. Because Stripe creates and updates object records in this way, there are two types of tables in Stitch’s Stripe integration:

  • A table for events, which contains all events that have occurred for Stripe’s supported event types. This table acts as a history for an object record, showing how it has been changed over time.
  • Tables for objects, which contains the latest version of records. These are tables like customers, charges, invoices, etc.

Note: Updates based on events is only applicable to the type of object the event is for. For example: If a dispute object is updated, only the corresponding record in the disputes table will be updated. The related charge in the charges table will not be updated. To retrieve related data for different objects, you’ll need to use the events table. Refer to Stripe’s documentation for info about event types and the objects they describe.

Example event and object data replication over time

In the image below is an example of how records for the events and invoices tables will look as an invoice changes over time. Click the image to enlarge.

Example showing how event and invoice records are replicated as an invoice changes over time

Lookback windows and data extraction

When Stitch runs a replication job for Stripe, you can use a configurable lookback window of up to 600 days to query and extract data for your tables. A lookback window is a period of time for attributing shared files and the lookback period after those actions occur.

While Stitch replicates data in this way to account for updates to records made during the lookback window, it can have a substantial impact on your overall row usage.

In the sections below are examples of how lookback windows impact how Stitch extracts data during historical and ongoing replication jobs.

For historical and full re-replications of Stripe data, Stitch will query for and extract data newer than or equal to the date defined in the Start Date field in the Integration Settings page.

The Start Date, in conjunction with the Lookback Window, defines the minimum date Stitch should query for when extracting historical data. This is calculated as:

Start Date - Lookback Window = Minimum Extraction Date

Example

During the initial set up, the Lookback Window and Start Date settings are defined as:

  • Lookback Window: 600 days (default setting)
  • Start Date: 07/03/2017, or 2017-07-03 00:00:00

To account for the Lookback Window, Stitch would calculate the Minimum Extraction Date value as: 2017-07-03 00:00:00 - 600 days = 2015-11-11 00:00:00

If you were to write a SQL query using this date for the charges table, it might look like this:

  SELECT *
    FROM stripe.charges
   WHERE created >= '2015-11-11 00:00:00'   /* Min. Extraction Date */
ORDER BY created

For ongoing replication jobs, Stitch will query for and extract data using the last saved maximum value in the table’s Replication Key column and the Lookback Window for the table.

Note: This applies to every replication job that takes place after the historical replication job.

Example

The last maximum saved Replication Key value for the charges table is 2017-10-01 00:00:00.

To account for the Lookback Window of 600 days, we’d subtract this from the last maximum saved Replication Key value:

2017-10-01 00:00:00 - 600 days = 2016-02-09 00:00:00

In this case, Stitch would query for and extract data that is newer than or equal to 2016-02-09 00:00:00 and older than or equal to 2017-10-01 00:00:00.

If this were a SQL query, it might look like this:

  SELECT *
    FROM charges
   WHERE created >= '2016-02-09 00:00:00'
                              /* max Replication Key value - Lookback Window */
     AND created <= '2017-10-01 00:00:00'
                              /* max Replication Key value from previous job */
ORDER BY created

Stripe table reference

balance_transactions

The balance_transactions table contains info about transactions have have contributed to your Stripe account balance, including charges, transfers, etc.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

created

Useful links

Stripe documentation

balance_transactions schema on GitHub

Stripe API method

Join balance_transactions with on
charges
balance_transactions.id = charges.balance_transaction
payouts
balance_transactions.id = payouts.balance_transaction
balance_transactions.id = payouts.failure_balance_transaction
transfers
balance_transactions.id = transfers.balance_transaction
balance_transactions.id = transfers.failure_balance_transaction
disputes
balance_transactions.id = disputes.balance_transactions.id

amount

INTEGER

available_on

INTEGER

created

DATE-TIME

currency

STRING

description

STRING

exchange_rate

NUMBER

fee

INTEGER

fee_details

ARRAY

amount

INTEGER

application

STRING

currency

STRING

description

STRING

type

STRING

id

STRING

net

INTEGER

object

STRING

source

STRING

sourced_transfers

ARRAY

status

STRING

type

STRING

updated

DATE-TIME

charges

The charges table contains info about charges to credit and debit cards.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

created

Useful links

Stripe documentation

charges schema on GitHub

Stripe API method

Join charges with on
balance_transactions
charges.balance_transaction = balance_transactions.id
payouts
charges.balance_transaction = payouts.balance_transaction
charges.balance_transaction = payouts.failure_balance_transaction
transfers
charges.balance_transaction = transfers.balance_transaction
charges.balance_transaction = transfers.failure_balance_transaction
charges.source_transfer = transfers.id
disputes
charges.balance_transaction = disputes.balance_transactions.id
charges.id = disputes.charge
customers
charges.card.id = customers.cards.id
charges.source.id = customers.cards.id
charges.customer = customers.id
charges.card.customer = customers.id
charges.customer = customers.cards.customer
charges.card.customer = customers.cards.customer
charges.customer = customers.discount.customer
charges.card.customer = customers.discount.customer
invoices
charges.id = invoices.charge
charges.customer = invoices.customer
charges.card.customer = invoices.customer
charges.customer = invoices.discount.customer
charges.card.customer = invoices.discount.customer
charges.invoice = invoices.id
invoice_items
charges.customer = invoice_items.customer
charges.card.customer = invoice_items.customer
charges.invoice = invoice_items.invoice
subscription_items
charges.customer = subscription_items.customer
charges.card.customer = subscription_items.customer
subscriptions
charges.customer = subscriptions.customer
charges.card.customer = subscriptions.customer
invoice_line_items
charges.invoice = invoice_line_items.invoice

amount

INTEGER

amount_captured

INTEGER

amount_refunded

INTEGER

application

STRING

application_fee

STRING

application_fee_amount

INTEGER

balance_transaction

STRING

billing_details

OBJECT

address

OBJECT

city

STRING

country

STRING

line1

STRING

line2

STRING

postal_code

STRING

state

STRING

email

STRING

name

STRING

phone

STRING

calculated_statement_descriptor

STRING

captured

BOOLEAN

card

OBJECT

address_city

STRING

address_country

STRING

address_line1

STRING

address_line1_check

STRING

address_line2

STRING

address_state

STRING

address_zip

STRING

address_zip_check

STRING

brand

STRING

country

STRING

customer

STRING

cvc_check

STRING

dynamic_last4

STRING

exp_month

INTEGER

exp_year

INTEGER

fingerprint

STRING

funding

STRING

id

STRING

last4

STRING

metadata

OBJECT

name

STRING

object

STRING

tokenization_method

STRING

type

STRING

created

DATE-TIME

currency

STRING

customer

STRING

description

STRING

destination

STRING

dispute

STRING

disputed

BOOLEAN

failure_code

STRING

failure_message

STRING

fraud_details

OBJECT

stripe_report

STRING

id

STRING

invoice

STRING

livemode

BOOLEAN

metadata

OBJECT

object

STRING

on_behalf_of

STRING

order

STRING

outcome

OBJECT

network_status

STRING

reason

STRING

risk_level

STRING

risk_score

INTEGER

seller_message

STRING

type

STRING

paid

BOOLEAN

payment_intent

STRING

payment_method

STRING

payment_method_details

OBJECT

ach_credit_transfer

OBJECT

account_number

STRING

bank_name

STRING

routing_number

STRING

swift_code

STRING

ach_debit

OBJECT

account_holder_type

STRING

bank_name

STRING

country

STRING

fingerprint

STRING

last4

STRING

routing_number

STRING

alipay

OBJECT

bancontact

OBJECT

bank_code

STRING

bank_name

STRING

bic

STRING

iban_last4

STRING

preferred_language

STRING

verified_name

STRING

card

OBJECT

address_city

STRING

address_country

STRING

address_line1

STRING

address_line1_check

STRING

address_line2

STRING

address_state

STRING

address_zip

STRING

address_zip_check

STRING

brand

STRING

card_present

OBJECT

brand

STRING

country

STRING

emv_auth_data

STRING

exp_month

INTEGER

exp_year

INTEGER

fingerprint

STRING

funding

STRING

generated_card

STRING

last4

STRING

network

STRING

read_method

STRING

receipt

OBJECT

application_cryptogram

STRING

application_preferred_name

STRING

authorization_code

STRING

authorization_response_code

STRING

cardholder_verification_method

STRING

dedicated_file_name

STRING

terminal_verification_results

STRING

transaction_status_information

STRING

checks

OBJECT

address_line1_check

STRING

address_postal_code_check

STRING

cvc_check

STRING

country

STRING

customer

STRING

cvc_check

STRING

dynamic_last4

STRING

eps

OBJECT

verified_name

STRING

exp_month

INTEGER

exp_year

INTEGER

fingerprint

STRING

funding

STRING

giropay

OBJECT

bank_code

STRING

bank_name

STRING

bic

STRING

verified_name

STRING

id

STRING

ideal

OBJECT

bank

STRING

bic

STRING

iban_last4

STRING

verified_name

STRING

installments

OBJECT

plan

OBJECT

count

INTEGER

interval

STRING

type

STRING

klarna

OBJECT

last4

STRING

metadata

OBJECT

multibanco

OBJECT

entity

STRING

reference

STRING

name

STRING

network

STRING

object

STRING

p24

OBJECT

reference

STRING

verified_name

STRING

sepa_debit

OBJECT

bank_code

STRING

branch_code

STRING

country

STRING

fingerprint

STRING

last4

STRING

mandate

STRING

sofort

OBJECT

bank_code

STRING

bank_name

STRING

bic

STRING

country

STRING

iban_last4

STRING

verified_name

STRING

stripe_account

OBJECT

three_d_secure

OBJECT

authenticated

BOOLEAN

succeeded

BOOLEAN

version

STRING

tokenization_method

STRING

type

STRING

wallet

OBJECT

amex_express_checkout

OBJECT

apple_pay

OBJECT

dynamic_last4

STRING

google_pay

OBJECT

masterpass

OBJECT

billing_address

OBJECT

city

STRING

country

STRING

line1

STRING

line2

STRING

postal_code

STRING

state

STRING

email

STRING

name

STRING

shipping_address

OBJECT

city

STRING

country

STRING

line1

STRING

line2

STRING

postal_code

STRING

state

STRING

samsung_pay

OBJECT

type

STRING

visa_checkout

OBJECT

billing_address

OBJECT

city

STRING

country

STRING

line1

STRING

line2

STRING

postal_code

STRING

state

STRING

email

STRING

name

STRING

shipping_address

OBJECT

city

STRING

country

STRING

line1

STRING

line2

STRING

postal_code

STRING

state

STRING

wechat

OBJECT

card_present

OBJECT

amount_authorized

INTEGER

brand

STRING

cardholder_name

STRING

country

STRING

emv_auth_data

STRING

exp_month

INTEGER

exp_year

INTEGER

fingerprint

STRING

funding

STRING

generated_card

STRING

last4

STRING

network

STRING

overcapture_supported

BOOLEAN

read_method

STRING

receipt

OBJECT

account_type

STRING

application_cryptogram

STRING

application_preferred_name

STRING

authorization_code

STRING

authorization_response_code

STRING

cardholder_verification_method

STRING

dedicated_file_name

STRING

terminal_verification_results

STRING

transaction_status_information

STRING

type

STRING

receipt_email

STRING

receipt_number

STRING

receipt_url

STRING

refunded

BOOLEAN

refunds

ARRAY

amount

INTEGER

balance_transaction

STRING

charge

STRING

created

DATE-TIME

currency

STRING

description

STRING

failure_reason

STRING

id

STRING

instructions_email

STRING

metadata

OBJECT

next_action

OBJECT

display_details

OBJECT

email_sent

OBJECT

email_sent_at

DATE-TIME

email_sent_to

STRING

expires_at

DATE-TIME

type

STRING

object

STRING

payment_intent

STRING

reason

STRING

receipt_number

STRING

source_transfer_reversal

STRING

status

STRING

transfer_reversal

STRING

review

STRING

shipping

OBJECT

source

OBJECT

ach_credit_transfer

OBJECT

account_number

STRING

bank_name

STRING

fingerprint

STRING

refund_account_holder_name

STRING

refund_account_holder_type

STRING

refund_account_number

STRING

refund_routing_number

STRING

routing_number

STRING

swift_code

STRING

address_city

STRING

address_country

STRING

address_line1

STRING

address_line1_check

STRING

address_line2

STRING

address_state

STRING

address_zip

STRING

address_zip_check

STRING

alipay

OBJECT

amount

INTEGER

bancontact

OBJECT

brand

STRING

card

OBJECT

address_line1_check

STRING

address_zip_check

STRING

brand

STRING

country

STRING

cvc_check

STRING

dynamic_last4

STRING

exp_month

INTEGER

exp_year

INTEGER

fingerprint

STRING

funding

STRING

last4

STRING

name

STRING

three_d_secure

STRING

tokenization_method

STRING

type

STRING

client_secret

STRING

country

STRING

created

DATE-TIME

currency

STRING

customer

STRING

cvc_check

STRING

dynamic_last4

STRING

eps

OBJECT

exp_month

INTEGER

exp_year

INTEGER

fingerprint

STRING

flow

STRING

funding

STRING

id

STRING

ideal

OBJECT

last4

STRING

livemode

BOOLEAN

metadata

OBJECT

multibanco

OBJECT

name

STRING

object

STRING

owner

OBJECT

address

OBJECT

city

STRING

country

STRING

line1

STRING

line2

STRING

postal_code

STRING

state

STRING

email

STRING

name

STRING

phone

STRING

verified_address

STRING

verified_email

STRING

verified_name

STRING

verified_phone

STRING

receiver

OBJECT

address

STRING

amount_charged

INTEGER

amount_received

INTEGER

amount_returned

INTEGER

refund_attributes_method

STRING

refund_attributes_status

STRING

redirect

OBJECT

failure_reason

STRING

return_url

STRING

status

STRING

url

STRING

statement_descriptor

STRING

status

STRING

tokenization_method

STRING

type

STRING

usage

STRING

source_transfer

STRING

statement_description

STRING

statement_descriptor

STRING

statement_descriptor_suffix

STRING

status

STRING

transfer_data

OBJECT

amount

INTEGER

destination

STRING

transfer_group

STRING

updated

DATE-TIME

updated_by_event_type

STRING

coupons

The coupons table contains info about percent or amount-off discounts that may be applied to a customer. Note: Coupons only apply to invoices; they don’t apply to one-off charges.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

created

Useful links

Stripe documentation

coupons schema on GitHub

Stripe API method

Join coupons with on
customers
coupons.id = customers.discount.coupon.id
invoices
coupons.id = invoices.discount.coupon.id
subscriptions
coupons.id = subscriptions.discount.coupon.id

amount_off

INTEGER

created

DATE-TIME

currency

STRING

duration

STRING

duration_in_months

INTEGER

id

STRING

livemode

BOOLEAN

max_redemptions

INTEGER

metadata

OBJECT

name

STRING

object

STRING

percent_off

NUMBER

percent_off_precise

NUMBER

redeem_by

DATE-TIME

times_redeemed

INTEGER

updated

DATE-TIME

updated_by_event_type

STRING

valid

BOOLEAN

customers

The customers table contains info about your customers.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

created

Useful links

Stripe documentation

customers schema on GitHub

Stripe API method

Join customers with on
charges
customers.cards.id = charges.card.id
customers.cards.id = charges.source.id
customers.id = charges.customer
customers.cards.customer = charges.customer
customers.discount.customer = charges.customer
customers.id = charges.card.customer
customers.cards.customer = charges.card.customer
customers.discount.customer = charges.card.customer
coupons
customers.discount.coupon.id = coupons.id
invoices
customers.discount.coupon.id = invoices.discount.coupon.id
customers.id = invoices.customer
customers.cards.customer = invoices.customer
customers.discount.customer = invoices.customer
customers.id = invoices.discount.customer
customers.cards.customer = invoices.discount.customer
customers.discount.customer = invoices.discount.customer
customers.subscriptions = invoices.subscription
customers.discount.subscription = invoices.subscription
customers.subscriptions = invoices.discount.subscription
customers.discount.subscription = invoices.discount.subscription
subscriptions
customers.discount.coupon.id = subscriptions.discount.coupon.id
customers.id = subscriptions.customer
customers.cards.customer = subscriptions.customer
customers.discount.customer = subscriptions.customer
customers.subscriptions = subscriptions.id
customers.discount.subscription = subscriptions.id
invoice_items
customers.id = invoice_items.customer
customers.cards.customer = invoice_items.customer
customers.discount.customer = invoice_items.customer
customers.subscriptions = invoice_items.subscription
customers.discount.subscription = invoice_items.subscription
subscription_items
customers.id = subscription_items.customer
customers.cards.customer = subscription_items.customer
customers.discount.customer = subscription_items.customer
customers.subscriptions = subscription_items.subscription
customers.discount.subscription = subscription_items.subscription
invoice_line_items
customers.subscriptions = invoice_line_items.subscription
customers.discount.subscription = invoice_line_items.subscription

account_balance

INTEGER

address

OBJECT

city

STRING

country

STRING

line1

STRING

line2

STRING

postal_code

STRING

state

STRING

balance

INTEGER

cards

ARRAY

address_city

STRING

address_country

STRING

address_line1

STRING

address_line1_check

STRING

address_line2

STRING

address_state

STRING

address_zip

STRING

address_zip_check

STRING

brand

STRING

country

STRING

customer

STRING

cvc_check

STRING

dynamic_last4

STRING

exp_month

INTEGER

exp_year

INTEGER

fingerprint

STRING

funding

STRING

id

STRING

last4

STRING

metadata

OBJECT

name

STRING

object

STRING

tokenization_method

STRING

type

STRING

created

DATE-TIME

currency

STRING

default_card

STRING

default_source

STRING

delinquent

BOOLEAN

description

STRING

discount

OBJECT

checkout_session

STRING

coupon

OBJECT

amount_off

INTEGER

created

DATE-TIME

currency

STRING

duration

STRING

duration_in_months

INTEGER

id

STRING

livemode

BOOLEAN

max_redemptions

INTEGER

metadata

OBJECT

name

STRING

object

STRING

percent_off

NUMBER

percent_off_precise

NUMBER

redeem_by

DATE-TIME

times_redeemed

INTEGER

valid

BOOLEAN

customer

STRING

end

DATE-TIME

id

STRING

invoice

STRING

invoice_item

STRING

object

STRING

promotion_code

STRING

start

DATE-TIME

subscription

STRING

email

STRING

id

STRING

invoice_prefix

STRING

invoice_settings

OBJECT

custom_fields

ARRAY

default_payment_method

STRING

footer

STRING

livemode

BOOLEAN

metadata

OBJECT

name

STRING

next_invoice_sequence

INTEGER

object

STRING

phone

STRING

preferred_locales

ARRAY

shipping

OBJECT

address

OBJECT

city

STRING

country

STRING

line1

STRING

line2

STRING

postal_code

STRING

state

STRING

name

STRING

phone

STRING

sources

ARRAY

ach_credit_transfer

OBJECT

account_number

STRING

bank_name

STRING

fingerprint

STRING

refund_account_holder_name

STRING

refund_account_holder_type

STRING

refund_account_number

STRING

refund_routing_number

STRING

routing_number

STRING

swift_code

STRING

address_city

STRING

address_country

STRING

address_line1

STRING

address_line1_check

STRING

address_line2

STRING

address_state

STRING

address_zip

STRING

address_zip_check

STRING

alipay

OBJECT

amount

INTEGER

bancontact

OBJECT

brand

STRING

card

OBJECT

address_line1_check

STRING

address_zip_check

STRING

brand

STRING

country

STRING

cvc_check

STRING

dynamic_last4

STRING

exp_month

INTEGER

exp_year

INTEGER

fingerprint

STRING

funding

STRING

last4

STRING

name

STRING

three_d_secure

STRING

tokenization_method

STRING

type

STRING

client_secret

STRING

country

STRING

created

DATE-TIME

currency

STRING

customer

STRING

cvc_check

STRING

dynamic_last4

STRING

eps

OBJECT

exp_month

INTEGER

exp_year

INTEGER

fingerprint

STRING

flow

STRING

funding

STRING

id

STRING

ideal

OBJECT

last4

STRING

livemode

BOOLEAN

metadata

OBJECT

multibanco

OBJECT

name

STRING

object

STRING

owner

OBJECT

address

OBJECT

city

STRING

country

STRING

line1

STRING

line2

STRING

postal_code

STRING

state

STRING

email

STRING

name

STRING

phone

STRING

verified_address

STRING

verified_email

STRING

verified_name

STRING

verified_phone

STRING

receiver

OBJECT

address

STRING

amount_charged

INTEGER

amount_received

INTEGER

amount_returned

INTEGER

refund_attributes_method

STRING

refund_attributes_status

STRING

redirect

OBJECT

failure_reason

STRING

return_url

STRING

status

STRING

url

STRING

statement_descriptor

STRING

status

STRING

tokenization_method

STRING

type

STRING

usage

STRING

["TYPE", ["NULL", "STRING"]]

subscriptions

ARRAY

tax_exempt

STRING

tax_ids

ARRAY

country

STRING

created

DATE-TIME

customer

STRING

id

STRING

livemode

BOOLEAN

object

STRING

type

STRING

value

STRING

verification

OBJECT

status

STRING

verified_address

STRING

verified_name

STRING

["TYPE", ["NULL", "STRING"]]

tax_info

STRING

tax_info_verification

STRING

updated

DATE-TIME

updated_by_event_type

STRING

disputes

This table contains information about customer disputes related to charges on their credit card.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

created

Useful links

Stripe documentation

disputes schema on GitHub

Stripe API method

Join disputes with on
balance_transactions
disputes.balance_transactions.id = balance_transactions.id
charges
disputes.balance_transactions.id = charges.balance_transaction
disputes.charge = charges.id
payouts
disputes.balance_transactions.id = payouts.balance_transaction
disputes.balance_transactions.id = payouts.failure_balance_transaction
transfers
disputes.balance_transactions.id = transfers.balance_transaction
disputes.balance_transactions.id = transfers.failure_balance_transaction
invoices
disputes.charge = invoices.charge

amount

INTEGER

balance_transactions

ARRAY

charge

STRING

created

DATE-TIME

currency

STRING

evidence

STRING, OBJECT

access_activity_log

STRING

billing_address

STRING

cancellation_policy

STRING

cancellation_policy_disclosure

STRING

cancellation_rebuttal

STRING

customer_communication

STRING

customer_email_address

STRING

customer_name

STRING

customer_purchase_ip

STRING

customer_signature

STRING

duplicate_charge_documentation

STRING

duplicate_charge_explanation

STRING

duplicate_charge_id

STRING

product_description

STRING

receipt

STRING

refund_policy

STRING

refund_policy_disclosure

STRING

refund_refusal_explanation

STRING

service_date

STRING

service_documentation

STRING

shipping_address

STRING

shipping_carrier

STRING

shipping_date

STRING

shipping_documentation

STRING

shipping_tracking_number

STRING

uncategorized_file

STRING

uncategorized_text

STRING

evidence_details

OBJECT

due_by

DATE-TIME

has_evidence

BOOLEAN

past_due

BOOLEAN

submission_count

INTEGER

id

STRING

is_charge_refundable

BOOLEAN

livemode

BOOLEAN

metadata

OBJECT

object

STRING

reason

STRING

status

STRING

updated

DATE-TIME

updated_by_event_type

STRING

events

The events table contains info about events. When an event occurs, a new event object is created. This table acts as the history of an object, allowing you to see how it has changed over time.

For example: When an invoice is created, an invoice.created event is created. When the draft invoice is finalized and updated to be open, an invoice.finalized event is created. When the invoice is sent to the customer, an invoice.sent event is created.

For more info about this table and how data is replicated, refer to the Replication section. Additionally, refer to Stripe’s documentation for info about event types and the objects they describe.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

created

Useful links

Stripe documentation

events schema on GitHub

Stripe API method

api_version

STRING

created

DATE-TIME

data

OBJECT

id

STRING

livemode

BOOLEAN

object

STRING

pending_webhooks

INTEGER

request

STRING

type

STRING

updated

DATE-TIME

invoice_items

The invoice_items table contains info about items contained in customer invoices.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

date

Useful links

Stripe documentation

invoice_items schema on GitHub

Stripe API method

Join invoice_items with on
charges
invoice_items.customer = charges.customer
invoice_items.customer = charges.card.customer
invoice_items.invoice = charges.invoice
customers
invoice_items.customer = customers.id
invoice_items.customer = customers.cards.customer
invoice_items.customer = customers.discount.customer
invoice_items.subscription = customers.subscriptions
invoice_items.subscription = customers.discount.subscription
invoices
invoice_items.customer = invoices.customer
invoice_items.customer = invoices.discount.customer
invoice_items.invoice = invoices.id
invoice_items.subscription = invoices.subscription
invoice_items.subscription = invoices.discount.subscription
subscription_items
invoice_items.customer = subscription_items.customer
invoice_items.plan.id = subscription_items.plan.id
invoice_items.plan.product = subscription_items.plan.product
invoice_items.subscription_item = subscription_items.id
invoice_items.subscription = subscription_items.subscription
subscriptions
invoice_items.customer = subscriptions.customer
invoice_items.plan.id = subscriptions.plan.id
invoice_items.plan.product = subscriptions.plan.product
invoice_items.subscription_item = subscriptions.items
invoice_items.subscription = subscriptions.id
invoice_line_items
invoice_items.invoice = invoice_line_items.invoice
invoice_items.id = invoice_line_items.invoice_item
invoice_items.plan.product = invoice_line_items.plan.product
invoice_items.subscription = invoice_line_items.subscription
plans
invoice_items.plan.id = plans.id
invoice_items.plan.product = plans.product
products
invoice_items.plan.product = products.id

amount

INTEGER

currency

STRING

customer

STRING

date

DATE-TIME

description

STRING

discountable

BOOLEAN

discounts

ARRAY

id

STRING

invoice

STRING

livemode

BOOLEAN

metadata

OBJECT

object

STRING

period

OBJECT

end

DATE-TIME

start

DATE-TIME

plan

OBJECT

active

BOOLEAN

aggregate_usage

STRING

amount

INTEGER

amount_decimal

NUMBER

billing_scheme

STRING

created

DATE-TIME

currency

STRING

id

STRING

interval

STRING

interval_count

INTEGER

livemode

BOOLEAN

metadata

OBJECT

name

STRING

nickname

STRING

object

STRING

product

STRING

statement_description

STRING

statement_descriptor

STRING

tiers

ARRAY

flat_amount

INTEGER

unit_amount

INTEGER

up_to

INTEGER

tiers_mode

STRING

transform_usage

OBJECT

trial_period_days

INTEGER

updated

DATE-TIME

updated_by_event_type

STRING

usage_type

STRING

proration

BOOLEAN

quantity

INTEGER

subscription

STRING

subscription_item

STRING

tax_rates

ARRAY

active

BOOLEAN

country

STRING

created

DATE-TIME

description

STRING

display_name

STRING

id

STRING

inclusive

BOOLEAN

jurisdiction

STRING

livemode

BOOLEAN

object

STRING

percentage

NUMBER

state

STRING

unit_amount

INTEGER

unit_amount_decimal

NUMBER

updated

DATE-TIME

updated_by_event_type

STRING

invoice_line_items

The invoice_line_items table contains info about the line items contained in invoices.

Note: In order to replicate invoice line item data, the invoices table must also be set to replicate.

Invoice line item replication

To replicate invoice line items, Stitch will use the Replication Key of the corresponding invoice in the invoices table to detect new and updated records. This means that any time an invoice is updated, its associated line items will also be replicated.

For example: An invoice with five line items is updated when its status changes from draft to open. The record in invoices will be replicated, as will the records for its five line items. In this example, a total of six records will be replicated.

Replication Method

Key-based Incremental

Primary Keys

id

invoice

Useful links

Stripe documentation

invoice_line_items schema on GitHub

Stripe API method

Join invoice_line_items with on
charges
invoice_line_items.invoice = charges.invoice
invoice_items
invoice_line_items.invoice = invoice_items.invoice
invoice_line_items.invoice_item = invoice_items.id
invoice_line_items.plan.product = invoice_items.plan.product
invoice_line_items.subscription = invoice_items.subscription
invoices
invoice_line_items.invoice = invoices.id
invoice_line_items.id = invoices.lines
invoice_line_items.subscription = invoices.subscription
invoice_line_items.subscription = invoices.discount.subscription
plans
invoice_line_items.plan.product = plans.product
products
invoice_line_items.plan.product = products.id
subscription_items
invoice_line_items.plan.product = subscription_items.plan.product
invoice_line_items.subscription = subscription_items.subscription
subscriptions
invoice_line_items.plan.product = subscriptions.plan.product
invoice_line_items.subscription = subscriptions.id
customers
invoice_line_items.subscription = customers.subscriptions
invoice_line_items.subscription = customers.discount.subscription

amount

INTEGER

currency

STRING

description

STRING

discount_amounts

ARRAY

amount

INTEGER

discount

STRING

discountable

BOOLEAN

discounts

ARRAY

id

STRING

invoice

STRING

invoice_item

STRING

livemode

BOOLEAN

metadata

OBJECT

object

STRING

period

OBJECT

end

DATE-TIME

start

DATE-TIME

plan

OBJECT

active

BOOLEAN

aggregate_usage

STRING

amount

INTEGER

amount_decimal

NUMBER

billing_scheme

STRING

created

DATE-TIME

currency

STRING

id

STRING

interval

STRING

interval_count

INTEGER

livemode

BOOLEAN

metadata

OBJECT

name

STRING

nickname

STRING

object

STRING

product

STRING

statement_description

STRING

statement_descriptor

STRING

tiers

ARRAY

flat_amount

INTEGER

unit_amount

INTEGER

up_to

INTEGER

tiers_mode

STRING

transform_usage

OBJECT

trial_period_days

INTEGER

updated

DATE-TIME

updated_by_event_type

STRING

usage_type

STRING

price

OBJECT

active

BOOLEAN

billing_scheme

STRING

created

DATE-TIME

currency

STRING

id

STRING

livemode

BOOLEAN

lookup_key

STRING

metadata

OBJECT

nickname

STRING

object

STRING

product

STRING

recurring

OBJECT

aggregate_usage

STRING

interval

STRING

interval_count

INTEGER

usage_type

STRING

tax_behavior

STRING

tiers

ARRAY

flat_amount

INTEGER

flat_amount_decimal

NUMBER

unit_amount

INTEGER

unit_amount_decimal

NUMBER

up_to

INTEGER

tiers_mode

STRING

transform_quantity

OBJECT

divide_by

INTEGER

round

STRING

type

STRING

unit_amount

INTEGER

unit_amount_decimal

NUMBER

proration

BOOLEAN

proration_details

OBJECT

quantity

INTEGER

subscription

STRING

subscription_item

STRING

tax_amounts

ARRAY

amount

INTEGER

inclusive

BOOLEAN

tax_rate

STRING

tax_rates

ARRAY

active

BOOLEAN

country

STRING

created

DATE-TIME

description

STRING

display_name

STRING

id

STRING

inclusive

BOOLEAN

jurisdiction

STRING

livemode

BOOLEAN

metadata

OBJECT

object

STRING

percentage

NUMBER

state

STRING

tax_type

BOOLEAN

type

STRING

invoices

The invoices table contains info about invoices. Invoices are statements of amounts owed by customers, which can be one-off charges or generated periodically from a subscription.

Invoice line items

Full records for the line items associated with an invoice can be found in the invoice_line_items table. To replicate these records, you must set this table and the invoice_line_items table to replicate.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

created

Useful links

Stripe documentation

invoices schema on GitHub

Stripe API method

Join invoices with on
charges
invoices.charge = charges.id
invoices.customer = charges.customer
invoices.discount.customer = charges.customer
invoices.customer = charges.card.customer
invoices.discount.customer = charges.card.customer
invoices.id = charges.invoice
disputes
invoices.charge = disputes.charge
coupons
invoices.discount.coupon.id = coupons.id
customers
invoices.discount.coupon.id = customers.discount.coupon.id
invoices.customer = customers.id
invoices.discount.customer = customers.id
invoices.customer = customers.cards.customer
invoices.discount.customer = customers.cards.customer
invoices.customer = customers.discount.customer
invoices.discount.customer = customers.discount.customer
invoices.subscription = customers.subscriptions
invoices.discount.subscription = customers.subscriptions
invoices.subscription = customers.discount.subscription
invoices.discount.subscription = customers.discount.subscription
subscriptions
invoices.discount.coupon.id = subscriptions.discount.coupon.id
invoices.customer = subscriptions.customer
invoices.discount.customer = subscriptions.customer
invoices.subscription = subscriptions.id
invoices.discount.subscription = subscriptions.id
invoice_items
invoices.customer = invoice_items.customer
invoices.discount.customer = invoice_items.customer
invoices.id = invoice_items.invoice
invoices.subscription = invoice_items.subscription
invoices.discount.subscription = invoice_items.subscription
subscription_items
invoices.customer = subscription_items.customer
invoices.discount.customer = subscription_items.customer
invoices.subscription = subscription_items.subscription
invoices.discount.subscription = subscription_items.subscription
invoice_line_items
invoices.id = invoice_line_items.invoice
invoices.lines = invoice_line_items.id
invoices.subscription = invoice_line_items.subscription
invoices.discount.subscription = invoice_line_items.subscription

account_country

STRING

account_name

STRING

account_tax_ids

ARRAY

amount_due

INTEGER

amount_paid

INTEGER

amount_remaining

INTEGER

application_fee

INTEGER

application_fee_amount

INTEGER

attempt_count

INTEGER

attempted

BOOLEAN

auto_advance

BOOLEAN

automatic_tax

OBJECT

enabled

BOOLEAN

status

STRING

billing

STRING

billing_reason

STRING

charge

STRING

closed

BOOLEAN

collection_method

STRING

created

DATE-TIME

currency

STRING

custom_fields

ARRAY

name

STRING

value

STRING

customer

STRING

customer_address

OBJECT

city

STRING

country

STRING

line1

STRING

line2

STRING

postal_code

STRING

state

STRING

customer_email

STRING

customer_name

STRING

customer_phone

STRING

customer_shipping

OBJECT

address

OBJECT

city

STRING

country

STRING

line1

STRING

line2

STRING

postal_code

STRING

state

STRING

name

STRING

phone

STRING

customer_tax_exempt

STRING

customer_tax_ids

ARRAY

type

STRING

value

STRING

date

DATE-TIME

default_payment_method

STRING

default_source

STRING

default_tax_rates

ARRAY

active

BOOLEAN

country

STRING

created

DATE-TIME

description

STRING

display_name

STRING

id

STRING

inclusive

BOOLEAN

jurisdiction

STRING

livemode

BOOLEAN

metadata

OBJECT

object

STRING

percentage

NUMBER

state

STRING

description

STRING

discount

OBJECT

checkout_session

STRING

coupon

OBJECT

amount_off

INTEGER

created

DATE-TIME

currency

STRING

duration

STRING

duration_in_months

INTEGER

id

STRING

livemode

BOOLEAN

max_redemptions

INTEGER

metadata

OBJECT

name

STRING

object

STRING

percent_off

NUMBER

percent_off_precise

NUMBER

redeem_by

DATE-TIME

times_redeemed

INTEGER

valid

BOOLEAN

customer

STRING

end

DATE-TIME

id

STRING

invoice

STRING

invoice_item

STRING

object

STRING

promotion_code

STRING

start

DATE-TIME

subscription

STRING

discounts

ARRAY

due_date

DATE-TIME

ending_balance

INTEGER

finalized_at

DATE-TIME

footer

STRING

forgiven

BOOLEAN

hosted_invoice_url

STRING

id

STRING

invoice_pdf

STRING

last_finalization_error

OBJECT

code

STRING

doc_url

STRING

message

STRING

param

STRING

payment_method_type

STRING

type

STRING

lines

ARRAY, OBJECT

livemode

BOOLEAN

metadata

OBJECT

next_payment_attempt

DATE-TIME

number

STRING

object

STRING

on_behalf_of

STRING, OBJECT

paid

BOOLEAN

paid_out_of_band

BOOLEAN

payment

STRING

payment_intent

STRING

payment_settings

OBJECT

payment_method_options

OBJECT

acss_debit

OBJECT

mandate_options

OBJECT

transaction_type

STRING

verification_method

STRING

bancontact

OBJECT

preferred_language

STRING

card

OBJECT

request_three_d_secure

STRING

payment_method_types

ARRAY

period_end

DATE-TIME

period_start

DATE-TIME

post_payment_credit_notes_amount

INTEGER

pre_payment_credit_notes_amount

INTEGER

quote

OBJECT, STRING

receipt_number

STRING

starting_balance

INTEGER

statement_description

STRING

statement_descriptor

STRING

status

STRING

status_transitions

OBJECT

finalized_at

DATE-TIME

marked_uncollectible_at

DATE-TIME

paid_at

DATE-TIME

voided_at

DATE-TIME

subscription

STRING

subscription_details

OBJECT

subtotal

INTEGER

tax

INTEGER

tax_percent

NUMBER

total

INTEGER

total_discount_amounts

ARRAY

amount

INTEGER

discount

STRING

total_tax_amounts

ARRAY

amount

INTEGER

inclusive

BOOLEAN

tax_rate

STRING

transfer_data

OBJECT

amount

INTEGER

destination

STRING

updated

DATE-TIME

updated_by_event_type

STRING

webhooks_delivered_at

DATE-TIME

payment_intents

This table contains information about payments, from creation through checkout, in your Stripe account.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

created

Useful links

Stripe documentation

payment_intents schema on GitHub

Stripe API method

amount

INTEGER

amount_capturable

INTEGER

amount_received

INTEGER

application

STRING

application_fee_amount

INTEGER

automatic_payment_methods

OBJECT

canceled_at

DATE-TIME

cancellation_reason

STRING

capture_method

STRING

client_secret

STRING

confirmation_method

STRING

created

DATE-TIME

currency

STRING

customer

STRING

description

STRING

id

STRING

invoice

STRING

last_payment_error

OBJECT

charge

STRING

code

STRING

decline_code

STRING

doc_url

STRING

message

STRING

param

STRING

payment_method_type

STRING

type

STRING

latest_charge

STRING

livemode

BOOLEAN

metadata

OBJECT

next_action

OBJECT

alipay_handle_redirect

OBJECT

native_data

STRING

native_url

STRING

return_url

STRING

url

STRING

boleto_display_details

OBJECT

expires_at

DATE-TIME

hosted_voucher_url

STRING

number

STRING

pdf

STRING

oxxo_display_details

OBJECT

expires_after

DATE-TIME

hosted_voucher_url

STRING

number

STRING

redirect_to_url

OBJECT

return_url

STRING

url

STRING

type

STRING

use_stripe_sdk

OBJECT

verify_with_microdeposits

OBJECT

arrival_date

DATE-TIME

hosted_verification_url

STRING

wechat_pay_display_qr_code

OBJECT

data

STRING

image_data_url

STRING

image_url_png

STRING

image_url_svg

STRING

wechat_pay_redirect_to_android_app

OBJECT

app_id

STRING

nonce_str

STRING

package

STRING

partner_id

STRING

prepay_id

STRING

sign

STRING

timestamp

STRING

wechat_pay_redirect_to_ios_app

OBJECT

object

STRING

on_behalf_of

STRING

payment_method

STRING

payment_method_options

OBJECT

acss_debit

OBJECT

mandate_options

OBJECT

custom_mandate_url

STRING

interval_description

STRING

payment_schedule

STRING

transaction_type

STRING

afterpay_clearpay

OBJECT

reference

STRING

setup_future_usage

STRING

alipay

OBJECT

setup_future_usage

STRING

au_becs_debit

OBJECT

setup_future_usage

STRING

bacs_debit

OBJECT

setup_future_usage

STRING

bancontact

OBJECT

preferred_language

STRING

setup_future_usage

STRING

boleto

OBJECT

expires_after_days

INTEGER

setup_future_usage

STRING

card

OBJECT

installments

OBJECT

available_plans

ARRAY

count

INTEGER

interval

STRING

type

STRING

enabled

BOOLEAN

plan

OBJECT

count

INTEGER

interval

STRING

type

STRING

network

STRING

request_three_d_secure

STRING

setup_future_usage

STRING

card_present

OBJECT

eps

OBJECT

setup_future_usage

STRING

fps

OBJECT

setup_future_usage

STRING

giropay

OBJECT

setup_future_usage

STRING

grabpay

OBJECT

setup_future_usage

STRING

ideal

OBJECT

setup_future_usage

STRING

interac_present

OBJECT

klarna

OBJECT

preferred_locale

STRING

setup_future_usage

STRING

oxxo

OBJECT

expires_after_days

INTEGER

setup_future_usage

STRING

p24

OBJECT

setup_future_usage

STRING

sepa_debit

OBJECT

mandate_options

OBJECT

setup_future_usage

STRING

sofort

OBJECT

preferred_language

STRING

setup_future_usage

STRING

wechat_pay

OBJECT

app_id

STRING

client

STRING

setup_future_usage

STRING

payment_method_types

ARRAY

processing

OBJECT

receipt_email

STRING

review

STRING

setup_future_usage

STRING

shipping

OBJECT

address

OBJECT

city

STRING

country

STRING

line1

STRING

line2

STRING

postal_code

STRING

state

STRING

carrier

STRING

name

STRING

phone

STRING

tracking_number

STRING

source

STRING

statement_descriptor

STRING

statement_descriptor_suffix

STRING

status

STRING

transfer_data

OBJECT

amount

INTEGER

destination

STRING

transfer_group

STRING

updated

DATE-TIME

updated_by_event_type

STRING

payout_transactions

This table contains info about payout transactions.

Replication Method

Full Table

Primary Key

id

Useful links

Stripe documentation

payout_transactions schema on GitHub

Stripe API method

Join payout_transactions with on
payouts
payout_transactions.payout_id = payouts.id

id

STRING

payout_id

STRING

payouts

The payouts table contains info about payouts, which occur when you receive funds from Stripe or initiate a payout to a bank account of the debit card of a connected Stripe account.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

created

Useful links

Stripe documentation

payouts schema on GitHub

Stripe API method

Join payouts with on
balance_transactions
payouts.balance_transaction = balance_transactions.id
payouts.failure_balance_transaction = balance_transactions.id
charges
payouts.balance_transaction = charges.balance_transaction
payouts.failure_balance_transaction = charges.balance_transaction
transfers
payouts.balance_transaction = transfers.balance_transaction
payouts.failure_balance_transaction = transfers.balance_transaction
payouts.balance_transaction = transfers.failure_balance_transaction
payouts.failure_balance_transaction = transfers.failure_balance_transaction
disputes
payouts.balance_transaction = disputes.balance_transactions.id
payouts.failure_balance_transaction = disputes.balance_transactions.id
payout_transactions
payouts.id = payout_transactions.payout_id

amount

INTEGER

amount_reversed

INTEGER

arrival_date

DATE-TIME

automatic

BOOLEAN

balance_transaction

STRING

bank_account

OBJECT

account_holder_name

STRING

account_holder_type

STRING

bank_name

STRING

country

STRING

currency

STRING

fingerprint

STRING

id

STRING

last4

STRING

metadata

OBJECT

name

STRING

object

STRING

routing_number

STRING

status

STRING

created

DATE-TIME

currency

STRING

date

DATE-TIME

description

STRING

destination

STRING

failure_balance_transaction

STRING

failure_code

STRING

failure_message

STRING

id

STRING

livemode

BOOLEAN

metadata

OBJECT

method

STRING

object

STRING

original_payout

STRING

recipient

STRING

reversed_by

STRING

source_transaction

STRING

source_type

STRING

statement_description

STRING

statement_descriptor

STRING

status

STRING

transfer_group

STRING

type

STRING

updated

DATE-TIME

updated_by_event_type

STRING

plans

The plans table contains info about the plans in your Stripe account. A plan defines the base price, currency, and billing cycle for subscriptions.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

created

Useful links

Stripe documentation

plans schema on GitHub

Stripe API method

Join plans with on
invoice_items
plans.id = invoice_items.plan.id
plans.product = invoice_items.plan.product
subscription_items
plans.id = subscription_items.plan.id
plans.product = subscription_items.plan.product
subscriptions
plans.id = subscriptions.plan.id
plans.product = subscriptions.plan.product
invoice_line_items
plans.product = invoice_line_items.plan.product
products
plans.product = products.id

active

BOOLEAN

aggregate_usage

STRING

amount

INTEGER

amount_decimal

NUMBER

billing_scheme

STRING

created

DATE-TIME

currency

STRING

id

STRING

interval

STRING

interval_count

INTEGER

livemode

BOOLEAN

metadata

OBJECT

name

STRING

nickname

STRING

object

STRING

product

STRING

statement_description

STRING

statement_descriptor

STRING

tiers

ARRAY

flat_amount

INTEGER

unit_amount

INTEGER

up_to

INTEGER

tiers_mode

STRING

transform_usage

OBJECT

trial_period_days

INTEGER

updated

DATE-TIME

updated_by_event_type

STRING

usage_type

STRING

products

The products table contains info about the products in your Stripe account.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

created

Useful links

Stripe documentation

products schema on GitHub

Stripe API method

Join products with on
invoice_items
products.id = invoice_items.plan.product
invoice_line_items
products.id = invoice_line_items.plan.product
plans
products.id = plans.product
subscription_items
products.id = subscription_items.plan.product
subscriptions
products.id = subscriptions.plan.product

active

BOOLEAN

attributes

ARRAY

caption

STRING

created

DATE-TIME

deactivate_on

ARRAY

description

STRING

id

STRING

images

ARRAY

livemode

BOOLEAN

metadata

OBJECT

name

STRING

object

STRING

package_dimensions

OBJECT

height

NUMBER

length

NUMBER

weight

NUMBER

width

NUMBER

shippable

BOOLEAN

statement_descriptor

STRING

tax_code

STRING

type

STRING

unit_label

STRING

updated

DATE-TIME

updated_by_event_type

STRING

url

STRING

subscription_items

The subscription_items table contains info about subscription items. In Stripe, subscription items are used to create customer subscriptions with more than one plan.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

created

Useful links

Stripe documentation

subscription_items schema on GitHub

Stripe API method

Join subscription_items with on
charges
subscription_items.customer = charges.customer
subscription_items.customer = charges.card.customer
customers
subscription_items.customer = customers.id
subscription_items.customer = customers.cards.customer
subscription_items.customer = customers.discount.customer
subscription_items.subscription = customers.subscriptions
subscription_items.subscription = customers.discount.subscription
invoice_items
subscription_items.customer = invoice_items.customer
subscription_items.plan.id = invoice_items.plan.id
subscription_items.plan.product = invoice_items.plan.product
subscription_items.id = invoice_items.subscription_item
subscription_items.subscription = invoice_items.subscription
invoices
subscription_items.customer = invoices.customer
subscription_items.customer = invoices.discount.customer
subscription_items.subscription = invoices.subscription
subscription_items.subscription = invoices.discount.subscription
subscriptions
subscription_items.customer = subscriptions.customer
subscription_items.plan.id = subscriptions.plan.id
subscription_items.plan.product = subscriptions.plan.product
subscription_items.id = subscriptions.items
subscription_items.subscription = subscriptions.id
plans
subscription_items.plan.id = plans.id
subscription_items.plan.product = plans.product
invoice_line_items
subscription_items.plan.product = invoice_line_items.plan.product
subscription_items.subscription = invoice_line_items.subscription
products
subscription_items.plan.product = products.id

application_fee_percent

NUMBER

billing_thresholds

OBJECT

cancel_at_period_end

BOOLEAN

canceled_at

DATE-TIME

created

DATE-TIME

current_period_end

DATE-TIME

current_period_start

DATE-TIME

customer

STRING

discount

OBJECT

ended_at

DATE-TIME

id

STRING

livemode

BOOLEAN

metadata

OBJECT

object

STRING

plan

OBJECT

active

BOOLEAN

aggregate_usage

STRING

amount

INTEGER

amount_decimal

NUMBER

billing_scheme

STRING

created

DATE-TIME

currency

STRING

id

STRING

interval

STRING

interval_count

INTEGER

livemode

BOOLEAN

metadata

OBJECT

name

STRING

nickname

STRING

object

STRING

product

STRING

statement_description

STRING

statement_descriptor

STRING

tiers

ARRAY

flat_amount

INTEGER

unit_amount

INTEGER

up_to

INTEGER

tiers_mode

STRING

transform_usage

OBJECT

trial_period_days

INTEGER

updated

DATE-TIME

updated_by_event_type

STRING

usage_type

STRING

price

OBJECT

active

BOOLEAN

billing_scheme

STRING

created

DATE-TIME

currency

STRING

id

STRING

livemode

BOOLEAN

lookup_key

STRING

metadata

OBJECT

nickname

STRING

object

STRING

product

STRING

recurring

OBJECT

aggregate_usage

STRING

interval

STRING

interval_count

INTEGER

usage_type

STRING

tax_behavior

STRING

tiers

ARRAY

flat_amount

INTEGER

flat_amount_decimal

STRING

unit_amount

INTEGER

unit_amount_decimal

STRING

up_to

INTEGER

tiers_mode

STRING

transform_quantity

OBJECT

divide_by

INTEGER

round

STRING

type

STRING

unit_amount

INTEGER

unit_amount_decimal

STRING

quantity

INTEGER

start

DATE-TIME

status

STRING

subscription

STRING

tax_percent

NUMBER

tax_rates

ARRAY

active

BOOLEAN

country

STRING

created

DATE-TIME

description

STRING

display_name

STRING

id

STRING

inclusive

BOOLEAN

jurisdiction

STRING

livemode

BOOLEAN

metadata

OBJECT

object

STRING

percentage

NUMBER

state

STRING

tax_type

BOOLEAN

trial_end

DATE-TIME

trial_start

DATE-TIME

subscriptions

The subscriptions table contains info about subscriptions, which allow you to charge a customer on a recurring basis. A subscription ties a customer to a particular plan.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

created

Useful links

Stripe documentation

subscriptions schema on GitHub

Stripe API method

Join subscriptions with on
coupons
subscriptions.discount.coupon.id = coupons.id
customers
subscriptions.discount.coupon.id = customers.discount.coupon.id
subscriptions.customer = customers.id
subscriptions.customer = customers.cards.customer
subscriptions.customer = customers.discount.customer
subscriptions.id = customers.subscriptions
subscriptions.id = customers.discount.subscription
invoices
subscriptions.discount.coupon.id = invoices.discount.coupon.id
subscriptions.customer = invoices.customer
subscriptions.customer = invoices.discount.customer
subscriptions.id = invoices.subscription
subscriptions.id = invoices.discount.subscription
charges
subscriptions.customer = charges.customer
subscriptions.customer = charges.card.customer
invoice_items
subscriptions.customer = invoice_items.customer
subscriptions.plan.id = invoice_items.plan.id
subscriptions.plan.product = invoice_items.plan.product
subscriptions.items = invoice_items.subscription_item
subscriptions.id = invoice_items.subscription
subscription_items
subscriptions.customer = subscription_items.customer
subscriptions.plan.id = subscription_items.plan.id
subscriptions.plan.product = subscription_items.plan.product
subscriptions.items = subscription_items.id
subscriptions.id = subscription_items.subscription
plans
subscriptions.plan.id = plans.id
subscriptions.plan.product = plans.product
invoice_line_items
subscriptions.plan.product = invoice_line_items.plan.product
subscriptions.id = invoice_line_items.subscription
products
subscriptions.plan.product = products.id

application_fee_percent

NUMBER

billing

STRING

billing_cycle_anchor

DATE-TIME

billing_thresholds

OBJECT

amount_gte

INTEGER

reset_billing_cycle_anchor

BOOLEAN

cancel_at

DATE-TIME

cancel_at_period_end

BOOLEAN

canceled_at

DATE-TIME

collection_method

STRING

created

DATE-TIME

current_period_end

DATE-TIME

current_period_start

DATE-TIME

customer

STRING

days_until_due

INTEGER

default_payment_method

STRING

default_source

STRING

discount

OBJECT

checkout_session

STRING

coupon

OBJECT

amount_off

INTEGER

created

DATE-TIME

currency

STRING

duration

STRING

duration_in_months

INTEGER

id

STRING

livemode

BOOLEAN

max_redemptions

INTEGER

metadata

OBJECT

name

STRING

object

STRING

percent_off

NUMBER

percent_off_precise

NUMBER

redeem_by

DATE-TIME

times_redeemed

INTEGER

valid

BOOLEAN

customer

STRING

end

DATE-TIME

id

STRING

invoice

STRING

invoice_item

STRING

object

STRING

promotion_code

STRING

start

DATE-TIME

subscription

STRING

ended_at

DATE-TIME

id

STRING

invoice_customer_balance_settings

OBJECT

consume_applied_balance_on_void

BOOLEAN

items

ARRAY

latest_invoice

STRING

livemode

BOOLEAN

metadata

OBJECT

next_pending_invoice_item_invoice

DATE-TIME

object

STRING

pause_collection

OBJECT

behavior

STRING

resumes_at

DATE-TIME

pending_invoice_item_interval

OBJECT

interval

STRING

interval_count

INTEGER

pending_setup_intent

STRING

plan

OBJECT

active

BOOLEAN

aggregate_usage

STRING

amount

INTEGER

billing_scheme

STRING

created

DATE-TIME

currency

STRING

id

STRING

interval

STRING

interval_count

INTEGER

livemode

BOOLEAN

metadata

OBJECT

name

STRING

nickname

STRING

object

STRING

product

STRING

statement_description

STRING

statement_descriptor

STRING

tiers

ARRAY

flat_amount

INTEGER

unit_amount

INTEGER

up_to

INTEGER

tiers_mode

STRING

transform_usage

OBJECT

trial_period_days

INTEGER

usage_type

STRING

quantity

INTEGER

schedule

STRING

start

DATE-TIME

start_date

DATE-TIME

status

STRING

tax_percent

NUMBER

transfer_data

OBJECT

amount_percent

NUMBER

destination

STRING

trial_end

DATE-TIME

trial_start

DATE-TIME

updated

DATE-TIME

updated_by_event_type

STRING

transfers

The transfers table contains info about transfers sent to connected accounts.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

created

Useful links

Stripe documentation

transfers schema on GitHub

Stripe API method

Join transfers with on
balance_transactions
transfers.balance_transaction = balance_transactions.id
transfers.failure_balance_transaction = balance_transactions.id
charges
transfers.balance_transaction = charges.balance_transaction
transfers.failure_balance_transaction = charges.balance_transaction
transfers.id = charges.source_transfer
payouts
transfers.balance_transaction = payouts.balance_transaction
transfers.failure_balance_transaction = payouts.balance_transaction
transfers.balance_transaction = payouts.failure_balance_transaction
transfers.failure_balance_transaction = payouts.failure_balance_transaction
disputes
transfers.balance_transaction = disputes.balance_transactions.id
transfers.failure_balance_transaction = disputes.balance_transactions.id

amount

INTEGER

amount_reversed

INTEGER

arrival_date

DATE-TIME

automatic

BOOLEAN

balance_transaction

STRING

created

DATE-TIME

currency

STRING

date

DATE-TIME

description

STRING

destination

STRING

failure_balance_transaction

STRING

id

STRING

livemode

BOOLEAN

metadata

OBJECT

object

STRING

recipient

STRING

reversals

ARRAY

reversed

BOOLEAN

source_transaction

STRING

source_type

STRING

statement_description

STRING

statement_descriptor

STRING

transfer_group

STRING

updated

DATE-TIME

updated_by_event_type

STRING


Questions? Feedback?

Did this article help? If you have questions or feedback, feel free to submit a pull request with your suggestions, open an issue on GitHub, or reach out to us.