RyzeDeskRyzeDesk

Stripe

4105 articles

Import non-Stripe data into Capital underwriting


Public preview

Import non-Stripe data into Capital underwriting Public preview

Import transaction data from third-party data sources to incorporate it into Stripe Capital underwriting.

Connect platforms can now offer financing to their connected accounts, regardless of whether they process payments with Stripe. Sharing non-Stripe payments data gives Stripe Capital a clear picture of your users’ entire business profile, and increases their access to financing options. This includes payment volume from other payment processors and offline transactions, such as cash and cheques. Stripe Capital incorporates these non-Stripe transactions to potentially expand eligibility coverage, increase loan offers, and decrease premium rates.

Before you begin

Enabling this functionality includes the following steps:

  1. Request access by submitting your email below.
  2. Prepare 24 months of your third-party data for sharing. Refer to the required attributes for our underwriting models listed below.
  3. After you’re granted access, you need to share the 24 months of historical data. Stripe validates the required attributes and data quality and sends an estimate for the amount of work required for your programme.
  4. If you send financing offer emails to your connected accounts through the Capital API, you need to update your email communications to connected accounts to support new loan products.
  5. Plan to set up a data connector-based automated daily data sharing process. After you begin sharing data daily, your connected accounts’ eligibility increases within 5 business days.

Interested in importing non-Stripe data into Capital underwriting?

Enter your email to request access.

Collect and prepare your data

Collect transaction data such as alternative payment processing volume and cash or cheque transactions to import into Stripe as CSV files. Also include Stripe transactions, which we use to validate your data integration. Make sure that your data is compatible with the CSV format below. All attributes are required unless otherwise noted.

AttributeTypeExampleDescription
stripe_merchant_idStripe connected account IDacct_abcdef1234The identifier of the Stripe connected account. Each transaction row must include a valid Stripe connected account ID. If needed, create connected accounts before uploading data for your merchants. In some cases, Stripe might ask you to send data without connected account IDs, so this field isn’t strictly validated.
transaction_idStringAny value such as my_internal_id or Check Number 1234The identifier of the transaction: This must be unique across all transactions for all time. This is an arbitrary identifier that helps you track a single transaction.
capture_dateDate in the related setting-MM-DD format in the UTC time zone2022-01-27The date on which the payment was successfully captured: This corresponds to the payment capture date, not the authorisation date.
payer_idStringAny value such as my_internal_payer_id or Customer Number 1234The identifier of the payer: Unique, arbitrary identifier for a customer of the given merchant.
processor_idStringstripe or any value such as checks or App StoreThe identifier of the processor for this transaction: stripe if Stripe processed this transaction other for offline transactions such as cash or checks Otherwise, an anonymised, arbitrary identifier that helps group the source of a set of transactions (for example, square or paypal)
payment_methodStringcheck, cash, credit_card, paypal, zelleThe payment method used for this transaction. Use standard method names for common payment methods: cash, check, credit_card, debit_card, ach and wire. For other payment methods such as digital wallets or alternative processors, you can provide any descriptive string (for example, paypal, zelle, venmo or apple_pay).
transaction_amountInteger1234 when a customer pays US$12.34 to the merchant or when the merchant refunds US$12.34 to the customer.The numeric amount of the transaction without any currency symbols: Given in minor units (in cents for USD). Always non-negative. The transaction_type attribute is used to indicate the direction of balance change.
transaction_currencyLowercase three-letter ISO currency codeusdThis is the three-letter ISO code for the currency of the transaction: Currency that the transaction was captured in before any foreign currency exchange.
transaction_typecredit or debitcredit when a customer pays to the business debit when the business refunds to a customerThe transaction type: credit if the transaction increases the merchant balance (payment) debit if the transaction decreases the merchant balance (refund or dispute)
fee_amountInteger100 when the processor or platform charges the business a US$1 fee or when the processor or platform returns a US$1 fee to the business.The fee amount associated with the transaction: Given in minor units (in cents for USD). Always non-negative. Set fee_amount to 0 if the fee is unknown or zero. The fee_type attribute is used to indicate the direction of balance change.
fee_typecredit or debitcredit when the processor returns the fee to the merchant debit when the processor charges the merchant the feeThe fee_type: credit if the fee increases the merchant balance (the processor returns the fee to the merchant) debit if the fee decreases the merchant balance (the processor charges a fee to the merchant). Set fee_type to debit if the fee is unknown or zero.
versionInteger1742323922Unix timestamp representing when the file was generated: This value must be the same for all rows within a file.
additional_dataKey-value string"{'key1':'value1','key2':'value2'}" "" Leave emptyA string of key-value pairs useful for storing additional information about the transaction in a structured format. You must include the column, but can leave values empty.

Preliminary Stripe Capital analysis

To analyse the potential impact on offer generation from sharing additional non-Stripe data, we request a one-time upload of 24 months of historical data. Stripe doesn’t validate that uploaded data spans the full 24-month window, so sharing less data might result in fewer or smaller financing offers.

We review the CSV file to make sure it meets the required attributes and process the data through our underwriting models. Contact your Stripe representative for details on processing timelines for one-time historical uploads.

Manual upload

You can manually upload up to 20 CSV files at a time with your historical transaction data through the Stripe Dashboard.

  1. Go to Capital > Data imports in the Dashboard.
  2. Click Import file , and then select Platform transaction data from the dropdown.
  3. Upload your CSV file containing 24 months of historical transaction data in the required format.
  4. After the upload completes, Stripe validates the data and processes it through our underwriting models.

Set up automated daily data imports

After completing the preliminary analysis, configure a daily automated upload using the Amazon S3 data connector. Upload data daily to maintain accurate and up-to-date information so we can:

  • Make more informed underwriting decisions.
  • Offer expanded eligibility without requiring action from you.

We underwrite offers daily based on the ingested data. You can monitor the status of your uploads from the Capital page in the Dashboard.

The 20-file upload limit also applies to automated daily imports. If your daily data exceeds 20 files, you must combine records into a smaller number of files.

Automated recurring file imports with data connectors

If your transactional data files are Stored in S3, use the Amazon S3 data connector to import these files into Stripe. Follow Stripe connector for Amazon S3 to set up your connector. The max file size imported through the data connector is 1GB.

If your data isn’t stored in Amazon S3, you can use the Stripe Files API to upload CSV files programmatically. Contact your Stripe representative for details on setting up automated imports without S3.

How it works for borrowers

Sharing third-party data for your connected accounts from other processors, as well as cash or cheque payments, provides more inclusive financing options for businesses, regardless of where their payments are processed. Borrowers can receive tailored fixed-term loan offers that reflect their overall revenue, not only based on the volume processed through Stripe. This approach ensures better eligibility rates and more relevant financing offers, enabling businesses access to capital.

Here is an overview of the differences between flex loans and fixed term loans:

Offer TermsFlex LoansFixed Term Loans
Max loan size250000 USD150000 USD
Pricing8-19.99%8-19.99%
Expected duration8-9 months (expected)42 weeks
Payment minimums60 day minimum payments. Bank debits if minimum isn’t met every 60 days7 day minimum payments. Bank debits if minimum isn’t met every 7 days
Transaction withholding%Fixed% for the life of the loan100% of payments until minimum is met each 7 day period. 0% thereafter

If you currently send out your own financing offer emails using the Capital API, you need to update your email communications to support this new fixed term product. Making this change enables you to take advantage of new capital products in the future without any additional work.

Here is a template for updating your email communications:

Audience

All users receiving their first financing offer

Copy

Subject Line

Access up to in financing to grow your business

Copy

Preheader

is prequalified – apply in a few clicks

Copy

Body copy

Access flexible financing for your business with a flat fee. Businesses use Stripe Capital to manage cash flow, buy inventory, invest in marketing, and so on.

How it works

  • Simplified application: Apply in a few clicks – applying won’t impact your personal credit score.
  • No surprise fees: The programme has a flat fee and no compounding interest, late fees, or early payoff fees.
  • Funds within a few days: If approved, we transfer funds to your Stripe account in as little as 1–2 business days.
  • Automatic payments*: You make payments automatically through your Stripe account.

If you have any questions, you can learn more about the programme.

Copy

CTA button

View Offer

Copy

Signoff

– The team

Copy

Disclosures

This offer is available until.

Stripe Capital offers financing types that include loans and merchant cash advances. All financing applications are subject to review prior to approval. Stripe Capital loans are issued by Celtic Bank or Lead Bank, and YouLend provides Stripe Capital merchant cash advances. See your Dashboard for the terms of your offer.

*Stripe Capital loans have a minimum amount due each payment period. If the amount that you pay through sales doesn’t meet the minimum required, your bank account will be automatically debited the remaining amount at the end of the period.

Copy

Footer

This email was sent to. If you’d rather not receive this kind of email, you can unsubscribe from future financing offer emails.,

Copy

Last verified 2026-09-27

Is this helpful?