Manually Uploading Bank Transactions Into QuickBooks Online
QuickBooks Online users who cannot connect a bank feed can upload transactions manually via CSV, QBO, QFX, PDF, or image files using these steps.

QuickBooks Online automatically downloads transactions once a bank or credit card account is connected, but the earliest data available depends on the financial institution. When users need older history, or when a bank will not connect at all, the accepted solution is to upload those transactions manually from a file.
Supported File Formats
QuickBooks Online accepts several formats for manual transaction uploads. Users can upload a structured transaction file in QuickBooks Online data (QBO) format, Quicken exchange format (QFX), or a standard comma-separated values (CSV) spreadsheet. QuickBooks can also accept an actual account statement as a PDF or an image file, including JPG, PNG, and HEIC formats. The QBO format is generally recommended for reliability. Statement images and PDFs must be in English and no larger than 350 KB. When a statement image or PDF is uploaded, QuickBooks may flag items for review; a global review team verifies the extraction before the transactions appear on the Bank transactions page.
Preparing a CSV File
Formatting errors are the most common reason a CSV upload fails or imports incorrectly. The file must contain either three columns — Date, Description, and Amount — or four columns: Date, Description, Credit, and Debit. Several specific cleanup steps are required before saving the file:
- Remove the word “amount” from the Credit and Debit column headers.
- Leave any cell blank if the value is zero, rather than entering a 0.
- Remove any numbers from the Description column so that only text remains.
- Enter all dates in a single, consistent format. The dd/mm/yyyy format is recommended.
- If the bank’s export includes the day of the week in the Date column, split the date and the day into separate columns so the date column contains date data only.
For users dealing with extensive history, large uploads often time out or fail. The recommended approach is to shorten the date range and upload the data in smaller batches.
Checking the Chart of Accounts
Before initiating any upload, users should review their Chart of Accounts to prevent duplicate transactions. It helps to know whether the transactions belong in a single account or are spread across individual subaccounts. Setting up parent accounts and subaccounts correctly beforehand ensures the upload routes to the right place. The uploaded record should start at least one day before the oldest existing QuickBooks transaction in that account to avoid gaps.
Users can also set up bank rules in advance so that QuickBooks automatically categorizes the transactions as they are imported, saving significant manual review time afterward.
The Upload Process
To begin the upload, users should navigate to the Bank transactions page, typically found under the All Apps or Accounting menu. If the target account already appears as a tile, users should select it. From there, the process depends on whether the account is already connected to online banking:
- For an already connected account, select the Link account dropdown and choose Upload from file.
- For an account not yet connected, select Upload from file or the option to upload transactions manually.
Users then select the file from their computer. In the next screen, the QuickBooks account dropdown determines where the transactions will land. New QuickBooks users who have not yet set up a bank account can choose Add New from this dropdown to create one on the spot. After selecting Continue, QuickBooks presents a side-by-side view comparing the original file against the data it extracted. Users should review this screen carefully, editing any fields that were misread — particularly dates and amounts — before finalizing the import.
After the Upload
Once the file processes, the transactions appear in the For Review queue within the Bank transactions page. From there, they are handled exactly like downloaded bank feed transactions: users can add them directly, match them to existing entries, or apply categorization rules. Because manual uploads bypass the live bank connection, matching is especially important to avoid creating duplicate entries for transactions already recorded through other means. Users who need to troubleshoot a failed CSV import should recheck the date format and column headers before attempting the upload again.