
Configuring Stripe as a Source
In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the Stripe option from the list of connectors. Click Next and you’ll be prompted to add your access.1. Add account access
You’ll need to provide your Stripe API credentials to allow Nekt to access your data. The following configurations are available:- Client Secret: Your Stripe secret API key. You can find it in your Stripe Dashboard under Developers > API keys.
- Account ID: (Optional) Your Stripe account ID. Required when authenticating on behalf of a connected account.
- Start Date: The earliest date from which records will be synced.
-
Stripe Connect: (Default:
false) Enable this if your Stripe account is a platform account that uses Stripe Connect features. When enabled, the following additional streams become available: Connect Accounts, Connect Application Fees, Connect Transfers, and Connect Subaccount Transfers. -
Credit Balance: (Default:
false) Enable this to retrieve Credit Balance data. When enabled, the Credit Balance Summary and Credit Balance Transaction streams become available.
2. Select streams
Choose which data streams you want to sync. For faster extractions, select only the streams that are relevant to your analysis. You can select entire groups of streams or pick specific ones.Tip: The stream can be found more easily by typing its name.Select the streams and click Next.
3. Configure data streams
Customize how you want your data to appear in your catalog. Select the desired layer where the data will be placed, a folder to organize it inside the layer, a name for each table (which will effectively contain the fetched data) and the type of sync.- Layer: choose between the existing layers on your catalog. This is where you will find your new extracted tables as the extraction runs successfully.
- Folder: a folder can be created inside the selected layer to group all tables being created from this new data source.
- Table name: we suggest a name, but feel free to customize it. You have the option to add a prefix to all tables at once and make this process faster!
- Sync Type: you can choose between INCREMENTAL and FULL_TABLE.
- Incremental: every time the extraction happens, we’ll get only the new data - which is good if, for example, you want to keep every record ever fetched.
- Full table: every time the extraction happens, we’ll get the current state of the data - which is good if, for example, you don’t want to have deleted data in your catalog.
4. Configure data source
Describe your data source for easy identification within your organization, not exceeding 140 characters. To define your Trigger, consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times). Optionally, you can define some additional settings:- Configure Delta Log Retention and determine for how long we should store old states of this table as it gets updated. Read more about this resource here.
- Determine when to execute an Additional Full Sync. This will complement the incremental data extractions, ensuring that your data is completely synchronized with your source every once in a while.
5. Check your new source
You can view your new source on the Sources page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.Streams and Fields
Below you’ll find all available data streams from Stripe and their corresponding fields:Customers
Customers
Stream for managing customer profiles and their associated data.Key Fields:
id- Unique identifier for the customername- Full name of the customeremail- Email address of the customerphone- Phone number of the customerdescription- Description of the customercreated- Timestamp when the customer was createdupdated_at- Timestamp of the last update
address- Billing address (city, country, line1, line2, postal_code, state)shipping- Shipping details including address, name, and phone
balance- Current balance on the customer’s account (in the smallest currency unit)currency- Default currency for the customerdelinquent- Whether the customer has a past-due invoicedefault_source- ID of the default payment sourceinvoice_prefix- Prefix for invoices generated from this customerinvoice_settings- Default invoice settings including default payment method and footer
tax_exempt- Tax exemption status (none, exempt, or reverse)tax_ids- Array of tax IDs associated with the customer
metadata- Set of key-value pairs for storing additional informationlivemode- Whether the object exists in live mode or test modepreferred_locales- Customer’s preferred locales for emails and invoices
Subscriptions
Subscriptions
Stream for managing recurring subscription data, including billing cycles, statuses, and associated items.Key Fields:
id- Unique identifier for the subscriptioncustomer- ID of the customer associated with this subscriptionstatus- Subscription status (e.g., active, canceled, incomplete, past_due, trialing, unpaid)created- Timestamp when the subscription was createdupdated_at- Timestamp of the last update
current_period_start- Start of the current billing periodcurrent_period_end- End of the current billing periodbilling_cycle_anchor- Determines the date of the first full invoicecollection_method- How payment is collected (charge_automatically or send_invoice)days_until_due- Number of days until invoice is due (for send_invoice)
cancel_at- Scheduled cancellation datecancel_at_period_end- Whether the subscription is set to cancel at the end of the current periodcanceled_at- Timestamp when the subscription was canceledcancellation_details- Details about the cancellation (comment, feedback, reason)ended_at- Timestamp when the subscription ended
items- Array of subscription items (each with id, price, quantity, and tax_rates)default_payment_method- Default payment method for this subscriptioncurrency- Currency for this subscription
trial_start- Start date of the trial periodtrial_end- End date of the trial periodtrial_settings- Settings for the trial behavior
metadata- Set of key-value pairs for storing additional informationlivemode- Whether the object exists in live mode or test modeschedule- ID of the subscription schedule that manages this subscription
Subscription Items
Subscription Items
Stream for individual line items within subscriptions. This stream is a child of Subscriptions and requires the Subscriptions stream to be enabled.Key Fields:
id- Unique identifier for the subscription itemsubscription- ID of the parent subscriptionquantity- Quantity of the plan to subscribe tocreated- Timestamp when the subscription item was createdupdated_at- Timestamp of the last update
price.id- ID of the priceprice.product- ID of the associated productprice.currency- Currency of the priceprice.unit_amount- Unit amount in the smallest currency unitprice.recurring- Recurring billing settings (interval, interval_count, usage_type)price.type- Whether the price is one_time or recurring
billing_thresholds- Usage threshold that triggers invoice generationtax_rates- Array of tax rates applied to this itemdiscounts- Discounts applied to this item
Subscription Schedules
Subscription Schedules
Stream for managing the lifecycle of subscriptions through multiple phases, allowing for future pricing changes and plan transitions.Key Fields:
id- Unique identifier for the subscription schedulecustomer- ID of the customersubscription- ID of the managed subscriptionstatus- Schedule status (active, canceled, completed, not_started, released)created- Timestamp when the schedule was createdupdated_at- Timestamp of the last update
phases- Array of schedule phases, each containing:start_date- Start date of the phaseend_date- End date of the phaseitems- Subscription items for this phase (price, quantity, tax_rates)billing_cycle_anchor- Anchor for the billing cyclecollection_method- Payment collection methodcurrency- Currency for the phasedefault_payment_method- Default payment methoddiscounts- Discounts applied in this phaseproration_behavior- How prorations are handled
current_phase- Start and end dates of the current active phase
end_behavior- What happens when the schedule ends (cancel, release)default_settings- Default settings applied to all phases
metadata- Set of key-value pairs for storing additional informationlivemode- Whether the object exists in live mode or test mode
Invoices
Invoices
Stream for billing invoices generated for subscriptions and one-time charges.Key Fields:
id- Unique identifier for the invoicecustomer- ID of the customercharge- ID of the charge generated for this invoicestatus- Invoice status (draft, open, paid, uncollectible, void)currency- Currency of the invoiceupdated_at- Timestamp of the last update
amount_due- Final amount due (in smallest currency unit)amount_paid- Amount already paidamount_remaining- Remaining amount to be paidsubtotal- Subtotal before taxes and discountstotal- Total after taxes and discountstax- Amount of tax applied
collection_method- How payment is collecteddue_date- Date by which payment is dueauto_advance- Whether the invoice will be automatically finalizedbilling_reason- Reason for the invoice creation
customer_email- Customer’s email at time of invoice creationcustomer_name- Customer’s name at time of invoice creationcustomer_address- Customer’s address at time of invoice creation
hosted_invoice_url- URL for the hosted invoice pageinvoice_pdf- URL for the invoice PDF
livemode- Whether the object exists in live mode or test modedescription- Description of the invoice
Invoice Line Items
Invoice Line Items
Stream for individual line items within invoices. This stream is a child of Invoices and requires the Invoices stream to be enabled.Key Fields:
id- Unique identifier for the line iteminvoice- ID of the parent invoicesubscription- ID of the associated subscriptionsubscription_item- ID of the associated subscription itemdescription- Description of the line itemupdated_at- Timestamp of the last update
amount- Amount of the line item (in smallest currency unit)amount_excluding_tax- Amount excluding taxunit_amount- Unit amountunit_amount_excluding_tax- Unit amount excluding tax
period.start- Start of the billing period for this line itemperiod.end- End of the billing period for this line item
price.id- ID of the priceprice.product- ID of the associated productprice.currency- Currencyprice.unit_amount- Unit price amountprice.recurring- Recurring billing settings
proration- Whether this is a prorationproration_details- Details about the prorated amountdiscount_amounts- Applied discount amountspretax_credit_amounts- Credit amounts applied before tax
Invoice Items
Invoice Items
Stream for pending invoice items that haven’t yet been included in an invoice.Key Fields:
id- Unique identifier for the invoice itemcustomer- ID of the customerinvoice- ID of the invoice this item is associated with (if finalized)subscription- ID of the associated subscriptionsubscription_item- ID of the associated subscription itemdescription- Description of the itemupdated_at- Timestamp of the last update
amount- Amount of the item (in smallest currency unit)currency- Currencyunit_amount- Unit amountquantity- Quantity
period.start- Start of the service periodperiod.end- End of the service period
price.id- ID of the priceprice.product- ID of the associated productprice.recurring- Recurring billing settings
proration- Whether this is a proration itemdiscountable- Whether discounts can be applied
Charges
Charges
Stream for payment attempts, both successful and failed. Each charge represents a single attempt to move money into your Stripe account.Key Fields:
id- Unique identifier for the chargecustomer- ID of the customerpayment_intent- ID of the associated payment intentinvoice- ID of the associated invoicestatus- Charge status (succeeded, pending, failed)created- Timestamp when the charge was createdupdated_at- Timestamp of the last update
amount- Amount charged (in smallest currency unit)amount_captured- Amount that was capturedamount_refunded- Amount that has been refundedcurrency- Currency of the charge
payment_method- ID of the payment method usedpayment_method_details- Details about the payment method (card, bank transfer, etc.)billing_details- Billing information (name, email, phone, address)
captured- Whether the charge was capturedpaid- Whether the charge was paidrefunded- Whether the charge has been fully refundeddisputed- Whether the charge has been disputedoutcome- Network outcome of the charge (network_status, risk_level, risk_score)failure_code- Error code explaining the charge failurefailure_message- Human-readable message explaining the failure
shipping- Shipping information (address, carrier, name, tracking_number)
refunds- Array of refund objects associated with this charge
metadata- Set of key-value pairsdescription- Description of the chargestatement_descriptor- Text appearing on the bank statement
Payment Intents
Payment Intents
Stream for payment intents, which represent the full lifecycle of a payment from creation to completion.Key Fields:
id- Unique identifier for the payment intentcustomer- ID of the customerinvoice- ID of the associated invoicelatest_charge- ID of the latest charge attemptstatus- Payment intent status (requires_payment_method, requires_confirmation, requires_action, processing, requires_capture, canceled, succeeded)created- Timestamp when the payment intent was createdupdated_at- Timestamp of the last update
amount- Total amount intended to be collected (in smallest currency unit)amount_capturable- Amount that can be capturedamount_received- Amount that was receivedcurrency- Currency
payment_method- ID of the payment methodpayment_method_types- Array of allowed payment method typescapture_method- When to capture the payment (automatic or manual)confirmation_method- Confirmation method (automatic or manual)setup_future_usage- How the payment method will be used in the future
last_payment_error- Details about the last payment failurecancellation_reason- Reason for cancellationcanceled_at- Timestamp of cancellation
shipping- Shipping details
metadata- Set of key-value pairsdescription- Descriptionstatement_descriptor- Text appearing on bank statement
Balance Transactions
Balance Transactions
Stream for all transactions that have contributed to or will contribute to the Stripe account balance.Key Fields:
id- Unique identifier for the balance transactionsource- ID of the source object (charge, refund, payout, etc.)type- Type of transaction (charge, refund, payout, payment, transfer, etc.)status- Transaction status (available, pending)reporting_category- Category for reporting purposescreated- Timestamp when the balance transaction was created
amount- Gross amount of the transaction (in smallest currency unit)fee- Fees paid for this transactionnet- Net amount of the transactioncurrency- Currency
fee_details- Itemized fee breakdown (amount, application, currency, description, type)
exchange_rate- Exchange rate used for currency conversionavailable_on- Date when the funds become available in the account balance
Products
Products
Stream for products and services offered for sale.Key Fields:
id- Unique identifier for the productname- Name of the productactive- Whether the product is currently available for purchasedefault_price- ID of the default price for this productdescription- Description of the productcreated- Timestamp when the product was createdupdated_at- Timestamp of the last update
features- Array of product features (name)images- Array of image URLsurl- URL for the productunit_label- Label used on invoices and receiptsstatement_descriptor- Text appearing on bank statementstax_code- Tax code for the product
shippable- Whether the product is shippedpackage_dimensions- Physical dimensions (height, length, weight, width)
metadata- Set of key-value pairslivemode- Whether the object exists in live mode or test mode
Prices
Prices
Stream for pricing configurations for products. A product can have multiple prices for different billing intervals or currencies.Key Fields:
id- Unique identifier for the priceproduct- ID of the associated productactive- Whether the price can be used for new purchasestype- Price type (one_time or recurring)currency- Currency for the pricecreated- Timestamp when the price was createdupdated_at- Timestamp of the last update
unit_amount- Unit amount in the smallest currency unitunit_amount_decimal- Same as unit_amount but with decimal precisionbilling_scheme- How the price is calculated (per_unit or tiered)
recurring.interval- Billing interval (day, week, month, year)recurring.interval_count- Number of intervals between billingrecurring.usage_type- How usage is aggregated (licensed or metered)recurring.aggregate_usage- Aggregation mode for metered usagerecurring.trial_period_days- Number of trial days
tiers- Array of pricing tiers (flat_amount, unit_amount, up_to)tiers_mode- How tiers are applied (graduated or volume)
lookup_key- A lookup key for the pricenickname- A brief descriptiontax_behavior- How tax is applied (exclusive, inclusive, unspecified)metadata- Set of key-value pairs
Coupons
Coupons
Stream for discount coupons that can be applied to customers or subscriptions.Key Fields:
id- Unique identifier for the couponname- Name of the couponvalid- Whether the coupon can be redeemedcreated- Timestamp when the coupon was createdupdated_at- Timestamp of the last update
amount_off- Fixed amount to discount (in smallest currency unit)percent_off- Percentage to discountcurrency- Currency for amount_off discountsduration- How long the discount applies (forever, once, repeating)duration_in_months- If repeating, number of months it appliesapplies_to- Products the coupon can be applied to
max_redemptions- Maximum number of times the coupon can be redeemedtimes_redeemed- Number of times it has been redeemedredeem_by- Date after which the coupon can no longer be redeemed
metadata- Set of key-value pairslivemode- Whether the object exists in live mode or test mode
Promotion Codes
Promotion Codes
Stream for shareable promotion codes that customers can apply when checking out.Key Fields:
id- Unique identifier for the promotion codecode- The actual code customers enteractive- Whether the promotion code can be usedcoupon- The coupon this promotion code appliescustomer- Customer this code is restricted to (if any)created- Timestamp when the promotion code was createdupdated_at- Timestamp of the last update
max_redemptions- Maximum total number of redemptionstimes_redeemed- Number of times this code has been redeemedexpires_at- Date after which the code expires
restrictions.first_time_transaction- Whether it can only be used for first-time transactionsrestrictions.minimum_amount- Minimum cart value requiredrestrictions.minimum_amount_currency- Currency for the minimum amount
metadata- Set of key-value pairslivemode- Whether the object exists in live mode or test mode
Credit Grants
Credit Grants
Stream for billing credit grants issued to customers. Available when Credit Balance is enabled in the source configuration.Key Fields:
id- Unique identifier for the credit grantname- Name of the credit grantcustomer- ID of the customer receiving the creditcategory- Category of the credit grant (paid or promotional)created- Timestamp when the grant was created
amount.monetary.value- Credit value (in smallest currency unit)amount.monetary.currency- Currency of the creditamount.type- Type of credit amount
applicability_config.scope.price_type- Which price types the credit applies to
effective_at- When the credit becomes effectiveexpires_at- When the credit expiresvoided_at- When the credit was voided (if applicable)
livemode- Whether the object exists in live mode or test mode
Credit Balance Summary
Credit Balance Summary
Stream for the current credit balance summary for each customer. This is a child of Customers and only available when Credit Balance is enabled in the source configuration.Key Fields:
customer- ID of the customerupdated_at- Timestamp of the last update
balances array contains:available_balance.monetary.value- Available credit value (in smallest currency unit)available_balance.monetary.currency- Currency of the available balanceavailable_balance.type- Type of the available balanceledger_balance.monetary.value- Total ledger balance valueledger_balance.monetary.currency- Currency of the ledger balanceledger_balance.type- Type of the ledger balance
livemode- Whether the object exists in live mode or test mode
Credit Balance Transactions
Credit Balance Transactions
Stream for individual transactions that affect a customer’s credit balance. This is a child of Customers and only available when Credit Balance is enabled in the source configuration.Key Fields:
id- Unique identifier for the transactioncustomer- ID of the customer (derived from parent context)type- Transaction type (credit or debit)credit_grant- ID of the credit grant associated with this transactioncreated- Timestamp when the transaction was createdeffective_at- When the transaction takes effectupdated_at- Timestamp of the last update
credit.type- Reason for the creditcredit.amount.monetary.value- Credit amount (in smallest currency unit)credit.amount.monetary.currency- Currencycredit.credits_application_invoice_voided- Invoice details if a previously applied credit was reversed
debit.type- Reason for the debitdebit.amount.monetary.value- Debit amount (in smallest currency unit)debit.amount.monetary.currency- Currencydebit.credits_applied- Invoice and line item the credit was applied to
livemode- Whether the object exists in live mode or test mode
Connect Accounts
Connect Accounts
Stream for connected accounts on a Stripe Connect platform. Only available when Stripe Connect is enabled in the source configuration.Key Fields:
id- Unique identifier for the connected accountemail- Email address of the accountcountry- Country of the accounttype- Account type (standard, express, or custom)created- Timestamp when the account was created
charges_enabled- Whether charges can be processedpayouts_enabled- Whether payouts can be madedetails_submitted- Whether account details have been submitted
business_type- Entity type (individual, company, etc.)business_profile- Business details (name, URL, support contact, MCC)capabilities- Payment capabilities status for each payment method
requirements- Currently outstanding requirements to enable capabilitiesfuture_requirements- Requirements that become required in the future
metadata- Set of key-value pairsdefault_currency- Default currency for the account
Connect Transfers
Connect Transfers
Stream for transfers made to connected accounts. Only available when Stripe Connect is enabled.Key Fields:
id- Unique identifier for the transferdestination- ID of the connected account receiving the transferamount- Amount transferred (in smallest currency unit)currency- Currency of the transfercreated- Timestamp when the transfer was created
Connect Application Fees
Connect Application Fees
Stream for fees collected from connected accounts on your platform. Only available when Stripe Connect is enabled.Key Fields:
id- Unique identifier for the application feeaccount- ID of the connected account the fee was collected fromcharge- ID of the charge that the fee was taken fromamount- Amount of the application fee (in smallest currency unit)currency- Currency of the feecreated- Timestamp when the fee was collected
Connect Subaccount Transfers
Connect Subaccount Transfers
Stream for transfers between the platform account and connected subaccounts. Only available when Stripe Connect is enabled.
Events
Events
Stream for all Stripe events, representing every change that occurs on your account. Useful for auditing and building event-driven workflows.Key Fields:
The events stream can only bring historical data from the last 30 days.
id- Unique identifier for the eventtype- The type of event (e.g.,charge.succeeded,customer.subscription.updated)created- Timestamp when the event was createdapi_version- The Stripe API version used to render the event data
data_object- JSON string of the object associated with the event at the time it occurreddata_previous_attributes- JSON string of the fields that were changed and their previous values (only present for*.updatedevents)
pending_webhooks- Number of webhooks yet to be successfully deliveredrequest.id- ID of the API request that triggered the eventrequest.idempotency_key- Idempotency key of the API request
livemode- Whether the event occurred in live mode or test mode
Data Model
The following diagram illustrates the relationships between the core data streams in Stripe. The arrows indicate the join keys that link the different entities, providing a clear overview of the data structure.Use Cases for Data Analysis
This guide outlines valuable business intelligence use cases when consolidating Stripe data, along with ready-to-use SQL queries that you can run on Explorer.1. Monthly Revenue Overview
Track your monthly recurring and one-time revenue using invoice and charge data. Business Value:- Monitor revenue trends over time
- Identify periods of growth or decline
- Compare paid vs. outstanding invoices
SQL query
SQL query
- AWS
- GCP
Sample Result
Sample Result
| month | paid_revenue | outstanding_revenue | recurring_revenue | one_time_revenue | paid_invoices | total_invoices | paying_customers | avg_revenue_per_customer |
|---|---|---|---|---|---|---|---|---|
| 2025-02 | 48,320.00 | 2,150.00 | 42,800.00 | 5,520.00 | 312 | 328 | 298 | 162.15 |
| 2025-01 | 45,680.00 | 1,890.00 | 40,200.00 | 5,480.00 | 295 | 310 | 281 | 162.56 |
| 2024-12 | 52,140.00 | 3,200.00 | 46,300.00 | 5,840.00 | 334 | 355 | 318 | 163.96 |
| 2024-11 | 43,920.00 | 1,560.00 | 38,750.00 | 5,170.00 | 280 | 292 | 267 | 164.49 |
2. Subscription Churn Analysis
Identify subscription cancellations and churn trends to understand customer retention. Business Value:- Track monthly churn rates
- Identify high-churn periods
- Understand cancellation reasons to improve retention
- Monitor trial conversion rates
SQL query
SQL query
- AWS
- GCP
Sample Result
Sample Result
| month | churned_subscriptions | voluntary_churn | involuntary_churn | churned_trials | new_subscriptions | churn_rate_pct |
|---|---|---|---|---|---|---|
| 2025-02 | 28 | 19 | 6 | 3 | 54 | 34.15 |
| 2025-01 | 22 | 15 | 5 | 2 | 48 | 31.43 |
| 2024-12 | 31 | 21 | 7 | 3 | 62 | 33.33 |
| 2024-11 | 19 | 13 | 4 | 2 | 41 | 31.67 |
Implementation Notes
Data Quality Considerations
- All monetary amounts are provided in the smallest currency unit (e.g., cents for USD). Divide by 100 to get the standard value in queries.
- Incremental sync uses the
updated_atfield for most streams. Usecreatedfor Balance Transactions. - Some streams (Subscription Items, Invoice Line Items) are children of parent streams and require the parent stream to be enabled.
Optional Features
- The Connect streams are only available when
Stripe Connectis enabled in the source configuration. Enable this if you manage a marketplace or platform using Stripe Connect. - The Credit Balance streams are only available when
Credit Balanceis enabled in the source configuration.
API Limits & Performance
- Selecting all streams can increase extraction times significantly.
- For faster extractions, select only the streams necessary for your analysis.
- Parent-child stream pairs (e.g., Invoices + Invoice Line Items) require both to be selected if you need the child data.
Skills for agents
Download Stripe skills file
Stripe connector documentation as plain markdown, for use in AI agent contexts.