For the complete documentation index, see llms.txt. This page is also available as Markdown.

Stripe

Stripe is a payment processing platform used by businesses to accept payments, manage subscriptions, issue invoices, and handle payouts. Connecting Stripe to Coupler.io lets you automatically export your payment and billing data to spreadsheets, databases, or BI tools — no code required.

Why connect Stripe to Coupler.io?

  • Pull live data from 30+ Stripe entities — charges, subscriptions, invoices, payouts, refunds, and more

  • Combine multiple entities in one data flow using Join or Append transformations (e.g., match payouts with balance transactions)

  • Send data to Google Sheets, Excel, BigQuery, Looker Studio, or AI tools like ChatGPT, Claude, or Gemini

  • Filter by date range, status, or transaction type so you only export what you need

Prerequisites

  • An active Stripe account with access to the data you want to export

  • Admin or developer-level access in Stripe (read access is sufficient for most entities)

  • A Coupler.io account (free trial available)

Quick start

1

Create a new data flow. Log in to Coupler.io, go to the Data flows section, and click Add data flow. Select Stripe as your source.

2

Authorize your Stripe account. Click Connect and sign in to Stripe via OAuth. Coupler.io will request read-only access to your account data. Once authorized, your account will appear as a connected credential.

3

Choose a data entity. Select the entity you want to export — for example, Subscriptions, Charges, or Invoices. Use the date picker fields to set a creation date range if you want to limit the data pulled.

4

Choose a destination. Pick where you want your Stripe data to land — Google Sheets, Excel, BigQuery, Looker Studio, PostgreSQL, or an AI destination like ChatGPT or Claude.

5

Run your data flow. Click Run to execute your first manual sync. Once it completes successfully, your Stripe data will appear in the destination you chose.

Available entities

Entity
What it contains

Balance transactions

All transactions that affect your Stripe balance

Charges

Individual payment attempts on cards or other sources

Customers

Customer records and metadata

Disputes

Chargebacks filed against your charges

Invoices

Invoices sent to customers

Invoice items

Line items that make up invoices

Payment intents

Payment lifecycle objects including status

Payouts

Funds sent from Stripe to your bank account

Refunds

Full or partial refunds issued on charges

Subscriptions

Active and historical subscription records

Subscriptions with line items

Subscriptions expanded with their billing line items

Plans

Recurring billing plans

Prices

Pricing configurations for products

Products

Your product catalog

Promotion codes

Codes tied to discount coupons

Coupons

Discount objects applied to subscriptions or invoices

Transfers

Funds moved to connected accounts

Payouts

Bank transfers from your Stripe balance

Events

Stripe event log (filterable by event type)

Connected accounts

Accounts linked to your platform via Stripe Connect

Application fees

Fees collected on transactions through connected accounts

Issuing transactions

Transactions on Stripe Issuing cards

Quotes

Draft billing quotes

Subscription schedules

Scheduled changes to subscriptions

Setup intents

Payment method setup sessions

Shipping rates

Shipping cost configurations

Tax rates

Tax rate objects

Top-ups

Funds added to your Stripe balance

Value lists

Lists used for fraud prevention rules

File links

Shareable links to uploaded files

Files

Documents uploaded to Stripe

Stripe data overview

Coupler.io gives you access to 30 Stripe entities covering the full payment lifecycle — from the moment a customer is created through charges, invoices, payouts, and disputes. This page explains what data is available and how to make the most of it.

Entities at a glance

Entity
Best used for

Balance transactions

Reconciling all money movement in your account

Charges

Analyzing payment success rates and volumes

Customers

Building customer lists and segmenting by behavior

Disputes

Tracking chargeback rates and outcomes

Invoices

Revenue reporting and AR aging

Invoice items

Detailed line-item revenue breakdown

Payment intents

Funnel analysis from intent to successful payment

Payouts

Reconciling Stripe payouts with bank statements

Refunds

Monitoring refund rates by product or period

Subscriptions

MRR, churn, and subscription lifecycle reporting

Subscriptions with line items

Detailed MRR breakdown by plan and add-on

Plans / Prices / Products

Catalog reporting and pricing analysis

Events

Audit trail and webhook-equivalent event history

Connected accounts

Platform-level reporting across multiple merchants

Application fees

Platform revenue from connected accounts

Transfers

Tracking fund flows to connected accounts

Quotes

Sales pipeline and proposal tracking

Promotion codes / Coupons

Discount usage and effectiveness reporting

Issuing transactions

Spend tracking for issued cards

Tax rates

Compliance and tax reporting

Top-ups

Manual balance management tracking

Key fields by entity

Charges

Field
Description

id

Unique charge identifier

amount

Charge amount in the smallest currency unit (e.g., cents)

amount_captured

Amount actually captured

amount_refunded

Total amount refunded

currency

Three-letter ISO currency code

status

succeeded, pending, or failed

customer

ID of the associated customer

payment_intent

Linked payment intent ID

created

Unix timestamp of charge creation

description

Charge description

failure_code

Reason for failure if status is failed

dispute

Dispute ID if a dispute exists

Subscriptions

Field
Description

id

Subscription ID

status

active, canceled, trialing, past_due, unpaid, paused

customer

Associated customer ID

current_period_start

Start of the current billing period

current_period_end

End of the current billing period

canceled_at

Timestamp of cancellation, if applicable

trial_start / trial_end

Trial period boundaries

items

Line items (use Subscriptions with line items for expanded detail)

Balance transactions

Field
Description

id

Transaction ID

amount

Gross transaction amount

fee

Stripe fee deducted

net

Net amount after fees

type

Transaction type (charge, payout, refund, etc.)

source

ID of the source object (e.g., charge or payout)

available_on

Date funds become available in your balance

currency

Currency of the transaction

Invoices

Field
Description

id

Invoice ID

customer

Customer ID

amount_due

Total amount due

amount_paid

Amount already paid

status

draft, open, paid, void, uncollectible

due_date

Invoice due date

subscription

Linked subscription ID

period_start / period_end

Billing period covered

Payouts

Field
Description

id

Payout ID

amount

Payout amount

arrival_date

Expected bank arrival date

status

paid, pending, in_transit, canceled, failed

destination

Bank account or card receiving the payout

description

Payout description

Useful entity combinations

  • Payouts + Balance transactions — Use the Join transformation to match each payout with its underlying transactions. This is the most reliable way to reconcile what landed in your bank with individual charges and fees.

  • Subscriptions + Customers — Join on the customer field to add customer metadata (email, name, location) to your subscription records for CRM-style reporting.

  • Charges + Refunds — Append or join to calculate net revenue after refunds per period.

  • Invoices + Invoice items — Combine for a full line-item breakdown of billed revenue.

Use cases by role

  • Reconcile Stripe payouts against bank statements using Balance transactions

  • Build an AR aging report from Invoices filtered by status = open

  • Track net revenue by period using Charges minus Refunds

  • Export Tax rates and Invoice items for VAT or sales tax compliance reporting

  • Measure promotion code and coupon redemption rates from the Promotion codes and Coupons entities

  • Analyze trial-to-paid conversion rates using the Subscriptions trial_end and status fields

  • Segment customers by subscription plan and lifetime value

  • Calculate MRR and churn from the Subscriptions entity — filter by status and aggregate by period

  • Use Subscriptions with line items to break MRR down by plan tier or add-on

  • Monitor payment failure rates from Charges (failure_code) to identify card decline patterns

  • Track dispute rates from Disputes to spot fraud or fulfillment issues early

  • Report on revenue across connected accounts using Connected accounts and Application fees

  • Track fund flows to merchants using Transfers

  • Use the Events entity to build an audit log of platform activity

Platform-specific notes

  • All amounts in Stripe are in the smallest currency unit (e.g., cents for USD). Divide by 100 to get the display amount in your spreadsheet or BI tool.

  • Timestamps are returned in UTC. If you need a different timezone (e.g., PST), you'll need to apply a conversion formula in your destination.

  • The Quotes entity does not support date range filtering — Created after and Created before are not available for that entity.

  • For Balance transactions, you can filter by transaction type (e.g., Charge, Payout, Refund) to pull only the subset you need.

  • For Events, use the event type filter with a wildcard (e.g., customer.*) to pull a category of events without specifying each one individually.

  • The Subscriptions entity defaults to returning only active subscriptions. To include canceled or other statuses, set the Status parameter explicitly.

Stripe common issues

Connection issues

I can't connect an additional Stripe account

Coupler.io supports multiple Stripe credentials, but each account must be authorized separately. When adding a second account, make sure you're logged into the correct Stripe account in your browser before clicking Connect — otherwise OAuth may reuse the first account's session.

If the connection still fails, try opening an incognito window, log into the correct Stripe account, and then complete the OAuth flow from there.

The Stripe API request keeps failing

This usually means Stripe returned an error on its end. Check the error message in the data flow log — common causes include an expired or revoked OAuth token, or a permissions issue with the connected account.

Try disconnecting and reconnecting your Stripe credential in Coupler.io. If the error persists, check the Stripe Dashboard to confirm your account is in good standing and that API access is enabled.

Missing data

My Stripe subscriptions data is incomplete or missing records

The Subscriptions entity returns only active subscriptions by default. If you need canceled, trialing, past_due, or all statuses, set the Status parameter to the value you need — or leave it blank/set it to "all" to retrieve every status.

Also check your date range filters. If you've set a "Created after" date, subscriptions created before that date won't appear even if they're still active.

The Charges entity isn't pulling all my data

First, confirm your Created after and Created before date range covers the period you expect. Remember that Stripe timestamps are in UTC — if you're in a different timezone, your date boundaries may be cutting off records at the edges.

If the date range looks correct, check whether you have a large volume of charges. Very large datasets can cause timeouts (see Rate limits section below).

Products or Prices data doesn't match what I see in the Stripe Dashboard

The Products entity in Coupler.io reflects what's returned by the Stripe API, which may differ slightly from the Dashboard view if you have archived products. Archived products may not appear by default — check if there's a status filter applied or if you need to use the Advanced filters field to include archived records.

Permission errors

I'm getting a permissions error when connecting Stripe

You need admin or developer access in Stripe to authorize the OAuth connection. Restricted keys or team members with limited roles may not be able to grant the required read permissions.

Ask your Stripe account owner to complete the OAuth authorization, or ask them to upgrade your role in Stripe before you try again.

Connected accounts data is empty or returning an error

The Connected accounts entity requires that your Stripe account is set up as a platform using Stripe Connect. Standard merchant accounts won't have connected accounts data. If you're a platform, confirm that your OAuth token was granted with the read_only scope at the platform level, not just a connected account level.

Data discrepancies

Amounts in Coupler.io don't match what I see in the Stripe Dashboard

Stripe returns all monetary amounts in the smallest currency unit — cents for USD, pence for GBP, etc. The number 5000 in Coupler.io means $50.00, not $5,000. Divide the amount column by 100 in your destination to get the correct display value.

My payout amounts don't match individual transactions

A single payout covers many underlying balance transactions. To reconcile them, use a data flow that includes both the Payouts and Balance transactions entities, then use the Join transformation on the payout ID. This gives you a row-level breakdown of exactly which charges, fees, and refunds make up each payout.

Rate limits and timeouts

My data flow times out when pulling Invoices, Charges, or Subscriptions

This is the most common issue for accounts with large transaction volumes. Stripe's API paginates large datasets, and pulling hundreds of thousands of records in one run can exceed the timeout limit.

The best fix is to use the Created after and Created before date pickers to narrow the date range. Instead of pulling all-time data in one run, pull data in smaller windows — for example, the last 90 days — and use incremental runs going forward.

Stripe FAQ

Which Stripe entities support date range filtering?

All entities except Quotes support the Created after and Created before date filters. For Quotes, you'll need to use the Advanced filters field to narrow results if needed.

Can I pull data from multiple Stripe accounts into one destination?

Yes. Add multiple Stripe sources to a single data flow — one per account — and use the Append transformation to combine them into one table. Each source uses its own OAuth credential, so you'll need to connect each Stripe account separately in Coupler.io.

Why does my Subscriptions export only show active subscriptions?

The Subscriptions entity defaults to returning active subscriptions only. To include other statuses — canceled, trialing, past_due, unpaid, or paused — set the Status parameter when configuring the source. Leave it blank to try returning all statuses, or set it explicitly to the one you need.

How do I match payouts to individual transactions?

Pull both the Payouts and Balance transactions entities in the same data flow. Use the Join transformation and match on the payout ID field in Balance transactions. This gives you a row-level view of which charges, refunds, and fees are grouped into each payout — the same reconciliation you'd do manually in the Stripe Dashboard.

Can I pull Stripe Sigma reports through Coupler.io?

No — Coupler.io connects to the Stripe REST API, not the Stripe Sigma reporting product. Most financial reports that Sigma provides can be replicated by combining entities like Balance transactions, Charges, Payouts, and Invoices using Coupler.io's Join and Aggregate transformations.

My data flow times out. What should I do?

Timeouts almost always happen when pulling a large volume of records without a date filter. Use the Created after date picker to limit the export to a recent window (e.g., the last 90 days). Once the run succeeds, you can schedule incremental runs to keep the data up to date going forward.

How do I convert Stripe timestamps from UTC to my local timezone?

Stripe returns all timestamps in UTC. Coupler.io does not apply timezone conversion automatically. Apply a formula in your destination — for example, in Google Sheets you can offset the timestamp column by the number of hours difference from UTC.

Can I filter Balance transactions by type?

Yes. When you select the Balance transactions entity, a Balance transaction type dropdown appears in the source settings. You can pick a specific type — such as Charge, Payout, Refund, or Stripe fee — to pull only the transactions you care about. This also helps reduce run time for high-volume accounts.

Can I use Stripe data with AI tools like ChatGPT or Claude?

Yes. Coupler.io supports AI destinations including ChatGPT, Claude, Gemini, Perplexity, Cursor, and OpenClaw. You can send your Stripe data directly to these tools for analysis, summaries, or anomaly detection — useful for things like reviewing dispute patterns or summarizing monthly revenue trends.

Does Coupler.io support Stripe Connect / connected accounts?

Yes, there's a Connected accounts entity that returns accounts linked to your platform via Stripe Connect. This requires that your Stripe account is configured as a platform. Standard merchant accounts won't have data in this entity.

For field-level details on each entity, see the Data Overview page. If you're hitting errors or missing data, check the Common Issues page. For tips on structuring your data flow, see Best Practices.

Last updated

Was this helpful?