# Import non-Stripe data into Capital underwriting Import transaction data from third-party data sources to incorporate it into Stripe Capital underwriting. > Capital for platforms is available in [public preview](https://docs.stripe.com/release-phases.md). 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 checks. 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. Sign up for the waitlist. We’ll contact you shortly when we can add you to the private preview. 1. Prepare 24 months of your third-party data for sharing. Refer to the required attributes for our underwriting models listed below. 1. After we add you to the preview, 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 program. 1. 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. 1. 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. ## Collect and prepare your data Collect transaction data such as alternative payment processing volume and cash or check 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. | Attribute | Type | Example | Description | | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `stripe_merchant_id` | [Stripe connected account ID](https://docs.stripe.com/connect/dashboard/managing-individual-accounts.md#finding-accounts) | `acct_abcdef1234` | The identifier of the Stripe connected account ID. | | `transaction_id` | String | Any value such as `my_internal_id` or `Check Number 1234` | The 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_date` | Date in `YYYY-MM-DD` format in the UTC timezone | `2022-01-27` | The date on which the payment was successfully captured: - This corresponds to the payment capture date, not the authorization date. | | `payer_id` | String | Any value such as `my_internal_payer_id` or `Customer Number 1234` | The identifier of the payer: - Unique, arbitrary identifier for a customer of the given merchant. | | `processor_id` | String | `stripe` or any value such as `checks` or `App Store` | The identifier of the processor for this transaction: - `stripe` if Stripe processed this transaction - `other` for offline transactions such as cash or checks - Otherwise, an anonymized, arbitrary identifier that helps group the source of a set of transactions (for example, `square` or `paypal`) | | `payment_method` | String | `check`, `cash`, `credit_card`, `paypal`, `Zelle`, and others | The payment method used for this transaction. | | `transaction_amount` | Integer | `1234` when a buyer pays 12.34 USD to the merchant or when the merchant refunds 12.34 USD to the buyer. | 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_currency` | Lowercase three-letter [ISO currency code](https://docs.stripe.com/currencies.md) | `usd` | This 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_type` | `credit` or `debit` | - `credit` when a buyer pays to the merchant - `debit` when the merchant refunds to a buyer | The transaction type: - `credit` if the transaction increases the merchant balance (payment) - `debit` if the transaction decreases the merchant balance (refund or dispute) | | `fee_amount` | Integer | `100` when the processor or platform charges the business a 1 USD fee or when the processor or platform returns a 1 USD 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_type` | `credit` or `debit` | - `credit` when the processor returns the fee to the merchant - `debit` when the processor charges the merchant the fee | The `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. | | `version` | Integer | `1742323922` | Unix timestamp representing when the file was generated: - This value must be the same for all rows within a file. | | `additional_data` (Optional) | Key-value string | - `"{'key1':'value1','key2':'value2'}"` - `""` - Leave empty | An optional string of key-value pairs useful for storing additional information about the transaction in a structured format: - Set `additional_data` to `""` or blank if there is no additional information. | ## Preliminary Stripe Capital analysis To analyze the potential impact on offer generation from sharing additional non-Stripe data, we request a one-time upload of 24 months of historical data. We review the CSV file to make sure it meets the required attributes and process the data through our underwriting models. We share the assessment results for your review, allowing you to decide if you want to set up a daily automated import for continued expanded eligibility. ### Manual upload You can manually upload a CSV file with your historical transaction data through the Stripe Dashboard: 1. Go to **Data management** > [Import](https://dashboard.stripe.com/data-management/import-set) in the Dashboard. 1. Click **Import file**, and then select **Capital transactions** as the data format from the dropdown. 1. Upload your CSV file containing 24 months of historical transaction data in the required format. 1. 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](https://docs.stripe.com/capital/import-non-stripe-data.md#automated-recurring-file-imports-with-data-connectors). Upload data daily to maintain accurate and up-to-date information. Keeping a real-time view of your users’ financial health enables us to make more informed underwriting decisions. Setting up a daily automation now means no additional action will be required to benefit from future expanded eligibility opportunities with new underwriting models. ## 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](https://docs.stripe.com/stripe-data/import-external-data/connectors/s3.md) to set up your connector. The max file size imported through the data connector is 1GB. ## How it works for borrowers Sharing third-party data for your connected accounts from other processors, as well as cash or check 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 Terms | Flex Loans | Fixed Term Loans | | ------------------------- | ----------------------------------------------------------------------- | ---------------------------------------------------------------------- | | Max loan size | 250000 USD | 250000 USD | | Pricing | 8-19.99% | 8-19.99% | | Expected duration | 8-9 months (expected) | 42 weeks | | Payment minimums | 60 day minimum payments. Bank debits if minimum isn’t met every 60 days | 7 day minimum payments. Bank debits if minimum isn’t met every 7 days | | Transaction withholding % | Fixed % for the life of the loan | 100% 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: All users receiving their first financing offer Access up to in financing to grow your business is prequalified—apply in a few clicks 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 program 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 program . View Offer —The team 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, 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. This email was sent to . If you’d rather not receive this kind of email, you can unsubscribe from future financing offer emails. ,