1. Confirm you actually need this. Most banks connect to QuickBooks directly through Link account, pulling transactions in automatically with no file involved. File upload exists for the ones that don't, or for a connection that's temporarily broken, so check the direct option first.
2. Download the right file from your bank. Most banks offer CSV, QFX, or OFX for a given account and date range. QFX and OFX carry more structure already built in; CSV is the most common but needs manual mapping on the QuickBooks side.
3. Go to Transactions, then click the Upload from file option. It's under the dropdown next to Link account on the main Banking screen, easy to miss since the default flow pushes you toward connecting a bank live.
4. Match it to the right account. Select the existing QuickBooks account this data belongs to, or create a new one if it doesn't exist yet. Getting this wrong routes real transactions into the wrong register.
5. Map the columns, if it's a CSV. QuickBooks asks you to tell it which column is the date, which is the description or payee, and which is the amount (or separate debit and credit columns, if your bank exports it that way).
6. Check the date range against what's already there before you finish. Overlapping an upload with transactions QuickBooks already has, from a prior upload or a live feed that's since reconnected, creates duplicates that someone has to find and remove by hand.
7. Review and categorize as normal. Once imported, the transactions sit in For Review exactly like anything from a live connection, waiting to be added or matched.