QuickBooks Online connects to most banks automatically, but feeds only go back about 90 days, disconnect occasionally, and do not exist for every bank. When you need older history or a one-off statement imported, the manual CSV upload is the tool. The catch: QuickBooks rejects CSVs that do not match its expected shape, so the format work matters more than the upload itself.
Step 1: Get transactions out of the PDF
QuickBooks cannot import a PDF. Convert the statement PDF to CSV first. The output is already close to what QuickBooks wants: one row per transaction, with dates, descriptions, and signed amounts, and no repeated page headers — the two things that break most manual imports.
Step 2: Match QuickBooks' CSV format
QuickBooks Online accepts exactly two layouts:
| Format | Columns | Notes |
|---|---|---|
| 3-column | Date, Description, Amount | Amount is signed: negative for money out, positive for money in. Recommended. |
| 4-column | Date, Description, Credit, Debit | Money in goes in Credit, money out in Debit; leave the unused column blank. |
- Use one date format consistently (MM/DD/YYYY is safest for US QuickBooks).
- No header rows, totals, or blank lines — only the column names in row 1.
- Maximum file size and row counts apply; a monthly statement is always well under the limit.
Step 3: Upload to QuickBooks
- Go to Transactions → Bank transactions.
- Open the account tile, click the arrow next to Link account, and choose Upload from file.
- Select the CSV, choose the QuickBooks account, and map the columns (date, description, amount).
- Confirm the import, then categorize the transactions on the For review tab.
Common import errors (and the fix)
- "The file is not in a format we support" — almost always extra columns, merged cells, or a header/total row. Strip everything except the columns above.
- Wrong signs — if income shows as expense, the Amount column is inverted. Re-export with money out negative.
- Dates off by a month/day — the CSV used DD/MM/YYYY while QuickBooks assumed MM/DD/YYYY (or vice versa). Pick one format and keep it consistent.
- Duplicates — importing a period that overlaps a bank feed creates duplicates. Import only the gap, or disconnect the feed first.
The same CSV approach works for credit card statements — choose the card account on upload. For format questions and file limits, see the FAQ, or check the supported banks list for a parser tuned to your bank's layout.