Import historical Stripe transactions
Connecting a financial account directly to QuickBooks is convenient for current activity, but it isn't designed to provide an unlimited transaction history.
QuickBooks says the amount of history available through a connected account depends on the provider and typically ranges from 90 days to 24 months. For transactions outside the available period, QuickBooks supports manual file uploads instead. QuickBooks
If you still have access to the original Stripe transaction data, a CSV-based import gives you another way to bring that older activity into QuickBooks.
For a large history, though, don't treat several years of transactions as one import. Breaking the history into smaller periods makes it much easier to review what you're adding and catch problems before moving on.
Why use CSV for historical transactions?
A direct connection normally retrieves only a limited period of historical activity.
QuickBooks currently says connected institutions can provide between approximately 90 days and 24 months of history, depending on the institution. This is a limitation of the connected-data workflow, not a general limit on how old transactions in QuickBooks can be. QuickBooks
QuickBooks separately supports manual uploads specifically for cases where you need to add transactions from an earlier period. QuickBooks
That makes CSV useful when you're setting up older books, migrating historical activity, or filling a gap that isn't available through a connection.
Don't export everything at once
If you need to import several years of Stripe history, it can be tempting to select the entire period, download one large export, convert it, and import everything at once.
A safer approach is to work in clearly defined batches.
For a multi-year history, one year per batch is a reasonable starting point:
2022 → review → import
2023 → review → import
2024 → review → import
2025 → review → import
For particularly busy accounts, you may want to divide those periods further into quarters or months.
This isn't only about file size. Smaller batches give you checkpoints. You can verify that one period has been converted and imported correctly before touching the next one.
QuickBooks itself recommends smaller date ranges for larger file uploads, and its current manual transaction upload has a limit of 1,000 lines per upload. QuickBooks
1. Decide where your historical import should begin
Before exporting anything, check what's already in QuickBooks.
Find the oldest period that needs to be added and, just as importantly, identify where existing QuickBooks data begins.
For example, if QuickBooks already contains Stripe activity from January 2025 onward, your historical import might cover:
2021 → 2022 → 2023 → 2024
rather than exporting through the current date.
The goal is to establish a clear boundary between transactions already present and transactions you're about to import.
This helps avoid duplicates where historical CSV data overlaps with transactions already brought into QuickBooks through another method.
2. Export the first period from Stripe
Start with the oldest period you want to import.
For example:
January 1, 2021 – December 31, 2021
Download the Stripe payments CSV using the fields required by your BalanceFlow template.
[SCREENSHOT: Stripe Payments export dialog with a single historical year selected as the date range. Show the start date, end date, and export controls clearly.]
For the exact fields to include, follow Prepare a Stripe CSV for QuickBooks import.
3. Convert the file with BalanceFlow
Upload the historical Stripe export to BalanceFlow and select the same template you intend to use for the rest of the history.
You can use the Stripe to QuickBooks Net template or the Stripe to QuickBooks Split Fee template, depending on how you want the Stripe activity represented.
Using the same template across all periods is important. It means a transaction from 2021 is processed according to the same rules as a transaction from 2024.
[SCREENSHOT: BalanceFlow Create Conversion page with a historical Stripe CSV uploaded and one of the Stripe to QuickBooks templates selected.]
4. Preview the first batch carefully
For a normal recurring import, a quick preview may be enough.
For the first historical batch, spend a little more time checking it.
Look at different transactions from the file, not just the first few rows. Check dates, amounts, fees, refunds, descriptions, and any other values important to your workflow.
Historical data may contain cases you don't commonly see in current activity.
[SCREENSHOT: BalanceFlow conversion preview for a historical Stripe export. Show several different transactions and their converted output.]
If something doesn't look right, stop here and correct the template or source file before processing the remaining years.
Finding a problem in the first batch is much easier than finding it after several years have already been imported.
5. Convert and download the batch
Once the preview looks correct, run the conversion and download the resulting CSV.
Keep the files organized by period. Simple names such as:
stripe-2021.csv
stripe-2022.csv
stripe-2023.csv
make it much easier to know what has and hasn't been processed.
If the converted year still exceeds QuickBooks' file limits, divide it into smaller periods before importing. QuickBooks currently accepts up to 1,000 transaction lines per manual upload. QuickBooks
6. Import the file into QuickBooks
Upload the converted CSV through Bank transactions → Upload from file.
QuickBooks lets you map the CSV fields and select the transactions before completing the import. QuickBooks
[SCREENSHOT: QuickBooks Upload from file screen with the first historical BalanceFlow CSV selected.]
[SCREENSHOT: QuickBooks transaction review screen for the historical batch before the transactions are added.]
For the complete import procedure, see How to import Stripe transactions to QuickBooks.
7. Review the period before continuing
Don't immediately move on to the next year.
Check that the imported period contains what you expected. Review the transaction dates and totals, check refunds and fees where applicable, and make sure you haven't introduced an obvious overlap with existing QuickBooks data.
QuickBooks recommends reconciling historical transactions after they're added. Its guidance for manually entering longer historical periods goes even further, recommending working through periods sequentially and reconciling before proceeding. QuickBooks
For a large migration, the same principle is useful even when you're importing CSVs:
import → review → reconcile → continue
8. Move to the next period
Once you're satisfied with the first batch, repeat the same process for the next one.
Because your BalanceFlow template is already configured, the conversion itself stays the same:
export the next period → convert → preview → import → review
Working sequentially also makes it obvious where you are if you stop and return to the migration later.
Smaller batches are easier to trust
There isn't much benefit in turning a multi-year migration into one enormous operation.
Even when the source system lets you export a long period at once, dividing historical data gives you clear boundaries and opportunities to verify the result.
For a moderate transaction history, yearly batches are a practical starting point. For a high-volume Stripe account, use quarters or months as necessary to stay within QuickBooks' upload limits and keep each batch manageable.
The objective isn't to complete the migration in the fewest possible uploads. It's to reach the end knowing that each period was processed and reviewed before you moved to the next one.