Bank Statement PDF to CSV for QuickBooks & Xero Import

In this guide

  1. What CSV format does each platform need?
  2. Importing into QuickBooks Online
  3. Importing into Xero
  4. Importing into FreshBooks & Wave
  5. Common import errors and fixes
  6. FAQ

What CSV Format Does Each Platform Need?

Every accounting platform has a slightly different CSV template. The main differences are column names, date format, and whether debits and credits are in separate columns or a single signed amount column.

PlatformRequired columnsDate formatAmount
QuickBooks OnlineDate, Description, AmountMM/DD/YYYYSingle column (negative = debit)
XeroDate, Amount, Payee, Description, ReferenceDD/MM/YYYY or DD MMM YYYYSingle column (negative = debit)
FreshBooksDate, Description, Amount, CurrencyYYYY-MM-DDSingle column
WaveDate, Description, Debit, Credit, BalanceYYYY-MM-DDSeparate Debit/Credit columns
SageDate, Reference, Details, Debit, CreditDD/MM/YYYYSeparate Debit/Credit columns

Bank Statement Engine exports CSV in a standard format. For QuickBooks and Xero, the downloaded file is pre-formatted to match the platform's expected column layout — select the correct export format before downloading.

Importing into QuickBooks Online

Step 1: Convert and download as CSV

Upload your bank statement PDF at bankstatementengine.com, then select CSV (QuickBooks) from the format dropdown before downloading. This exports Date, Description, and Amount columns in the format QBO expects.

Step 2: Go to Banking in QuickBooks

In QuickBooks Online, navigate to Bookkeeping → Transactions → Bank transactions. Click the account you want to import into, then click Upload transactions.

Step 3: Map columns

QuickBooks will show a column-mapping screen. Match: Date → Date, Description → Description, Amount → Amount. If your CSV has separate debit/credit columns, map them individually. Click Next and then Import.

QuickBooks date tip: If transactions don't import, the date format is usually the cause. QuickBooks Online (US) expects MM/DD/YYYY; QBO UK expects DD/MM/YYYY. The CSV export from Bank Statement Engine auto-detects your bank's locale and formats accordingly.

Importing into Xero

Step 1: Download as CSV (Xero format)

Select CSV (Xero) when downloading. The file will have the columns Xero expects: Date, Amount, Payee, Description, Reference, Cheque Number, Balance.

Step 2: Import in Xero

In Xero, go to Accounting → Bank accounts, click your account, then click Import a statement. Select CSV as the file type and upload your file.

Step 3: Review and accept

Xero shows a preview of transactions with proposed matches to existing invoices. Review and click Complete. Unmatched transactions go into the reconciliation queue.

Xero sign convention: In Xero CSV, money in (credits to your account) should be positive, money out (debits) should be negative. Bank Statement Engine applies this automatically.

Importing into FreshBooks and Wave

FreshBooks

FreshBooks accepts CSV imports under Accounting → Transactions → Import. The required columns are Date (YYYY-MM-DD), Description, Amount (negative for expenses), and optionally Currency. Download the standard CSV from Bank Statement Engine and rename the column headers to match FreshBooks' template if needed.

Wave

Wave uses separate Debit and Credit columns rather than a single signed Amount column. Download CSV, then in Wave go to Accounting → Transactions → More → Import transactions and upload. Wave's column mapper lets you assign which column is Debit and which is Credit.

Common Import Errors and Fixes

"Date format not recognised"

This almost always means the date format in your CSV doesn't match what the platform expects. Open the CSV in Excel, select the date column, and reformat: for QuickBooks US use MM/DD/YYYY, for Xero UK use DD/MM/YYYY.

"Duplicate transactions detected"

QuickBooks and Xero check for duplicate dates and amounts. If you're re-importing a date range you've already imported, the platform will flag duplicates. Either delete the existing import or choose a non-overlapping date range.

"Amount column contains text"

This happens when currency symbols (£, $, ₹) or commas remain in the Amount column. Bank Statement Engine strips these automatically, but if you've edited the CSV manually, ensure the amount column contains only numbers and a decimal point.

"Transactions imported but balance is wrong"

Check the sign convention. If all transactions imported as the wrong sign (all credits showing as debits), the Amount column signs are reversed. Multiply the entire Amount column by -1 in Excel, then re-import.

Convert Your Bank Statement to CSV Now

QuickBooks, Xero, FreshBooks — correct format, ready to import.

Convert Free →

Frequently Asked Questions

Can I import directly from PDF without converting to CSV first?

QuickBooks and Xero do not accept PDF files directly — CSV or OFX/QBO are the supported formats. Bank Statement Engine exports to all three. If you want the richer matching that OFX/QBO provides, select those formats instead of CSV.

What's the difference between CSV import and bank feed?

A bank feed connects your bank account directly to QuickBooks or Xero via Open Banking / API, streaming transactions in real time. A CSV import is a one-time manual upload for a date range. CSV import is useful when your bank isn't supported by direct feeds, or when importing historical statements.

My bank statement has both personal and business transactions — can I filter before importing?

Yes. Open the downloaded CSV in Excel before importing. Delete rows you don't want, save, and then import. Alternatively, use the category filter in the transaction preview on Bank Statement Engine to exclude certain transaction types.

Does it work for multi-currency accounts?

The CSV export includes all transaction amounts as shown in the statement. If your statement shows transactions in multiple currencies, the exported amounts will reflect whatever currency column the bank printed. Xero and QuickBooks handle multi-currency import natively.

Related guides: Bank Statement to CSV · PDF to QBO for QuickBooks · Bank Statement to QuickBooks