Convert Bank of America PDF bank statement to Xero

Bank of America provides statements for personal and business checking, savings and credit card accounts in US dollars. The reviewed statements include Business Advantage checking, personal and combined statements, a scanned business credit card statement and a year-end card summary.

Countries: United States
Supported statement formats: PDF
Supported destinations: QuickBooks Desktop, QuickBooks Online, Quicken, Xero, CSV/Excel

Statement formats provided by Bank of America

Three ways to get your Bank of America statement into Xero

Check for a direct export

Check online banking first for a direct Xero export covering the required account and period. If it is not available, use the statement.

Enter transactions manually

For a short statement, type the date, memo, and amount into the destination. Reconcile the result to the closing balance.

Convert with ProperConvert

Open the PDF statement, review the extracted transactions, choose Xero, and save the converted file on your computer.

What to check on every bank-statement conversion

Date

Choose the posted transaction date, supply a missing year from the statement period, and check statements that cross January.

Amount

Remove currency symbols from numeric cells, preserve the decimal separator, and verify debit and credit signs against the running balance.

Memo

Keep the payee or customer reference that helps identify the transaction, while avoiding repeated headers and unrelated reference numbers.

Bank of America PDF statement details

The following details were checked against Bank of America statements from 2021 to 2026: business checking (Business Advantage), personal checking and combined statements, a business credit card statement received as a scan, and a year-end credit card summary. Bank of America keeps one visual style across all of them, which hides real differences in section names and columns, so identify the statement type first and reconcile the converted transactions to the ending balance.

Settings for a Bank of America PDF statement

Section names differ between business and personal statements

Business checking uses "Deposits and other credits" and "Withdrawals and other debits". Personal checking uses "Deposits and other additions", "ATM and debit card subtractions" and "Other subtractions". Both have "Checks" and "Service fees". A converter that looks for one set of headings finds nothing on the other kind of statement. The amounts are signed either way, so the section matters less for the sign than on some banks, but it still decides where the "continued on the next page" marker and the per-section totals belong.

Inside the debits section a business statement adds a sub-heading per debit card, "Card account # XXXX XXXX XXXX 4105", followed by that card's rows and a "Subtotal for card account" line. The subtotal is not a transaction.

ACH descriptions are tagged fields split across elements and lines

An ACH row reads SO CAL GAS DES:PAID SCGC ID:0829599552 INDN:301601474274219336 CO ID:1992052494 WEB. The description is a set of tagged fields, DES (company entry description), ID (the company's reference), INDN (the individual name the company used) and CO ID (the company's ACH ID with the transaction class code). The fields are printed at fixed positions, so text extraction delivers them as separate elements, and the last one is split across two lines: CO ends the first line and ID:1992052494 WEB starts the second. A converter must join the second line to the row above and rebuild the fields in order. The useful payee is the first element, SO CAL GAS; the rest belongs in the memo.

Some references are cut off with a trailing backslash, PMT INFO:REF*TN*21U8DW81VD\. That is Bank of America truncating the field, not a broken file.

Two dates on ATM and card rows

02/03/25 BKOFAMERICA ATM 02/01 #000008824 WITHDRWL MAGNOLIA CENTER posts on February 3 and happened on February 1. Card rows do the same, CHECKCARD 0214 TMOBILE, with the transaction date as four digits inside the description. The date column is the posting date and it is the one that reconciles. Keep the other one in the memo for receipt matching.

The Checks section has two checks per row

Checks are printed in two side-by-side blocks: Date, Check #, Amount, then Date, Check #, Amount again on the same line. A row therefore holds two transactions, and the second one is not in date order with the first. A * after a check number marks a gap in the sequence, not part of the number.

Check images repeat every check with a positive amount

Several pages after the transaction list carry check images, each labeled Check number: 1664 Amount: $277.40. That is the same check already listed with -277.40 in the Checks section. A converter that reads those labels adds every check a second time, with the wrong sign. Skip everything under "Check images" and "Check images - continued".

Combined statements hold several accounts

A personal combined statement opens with a table of "Your deposit accounts" and their ending balances, then lists each account in turn. The page header shows which account a page belongs to, Account # 3810 3702 9760. A converter that treats the PDF as one account merges several accounts into one file. Split by the account number in the page header, and expect a note that some accounts are "not included on this statement".

Summary tables and counts

Credit card statements

Business card statements list transactions with Transaction Date, Posting Date, Description, Reference Number, Account Number and Amount, grouped by cardholder with a "Total Activity" per card. Payments and credits are negative, purchases positive, the reverse of what most accounting software expects in a credit card account, so the converter must flip signs consistently. Page two is a dispute form with the labels Posting Date:, Transaction Date: and Amount: printed as fields to fill in; a converter that keys on those words picks up an empty form as a transaction.

The year-end summary is not a statement. It groups the year's purchases by category for budgeting and taxes, excludes payments, and excludes December purchases that posted in January. Converting it does not give a transaction history that reconciles to anything.

Scanned copies

Scanned card statements arrive with the amount split by OCR into -$11 and ,667.00, dollar signs read as S, and words of a description spread across many elements. The Account summary totals and the ending balance are what catch those errors. Reconcile every scanned statement before importing it.

Frequently asked questions

How do I check that every transaction was converted?

Compare the converted transaction count and totals with the statement, then confirm that the calculated final balance equals the printed closing balance.

Can I convert an older Bank of America statement?

Yes. If the PDF statement is readable, its age does not prevent conversion. Confirm the year when transaction rows omit it.

Should pending transactions be included?

No. Convert posted transactions that contribute to the statement balance. Pending or future-dated items should not be mixed into that reconciliation.

Can the result be imported directly into Xero?

Use the destination-specific settings below, then review the file before import. The destination may require particular columns, dates, account identifiers, or sign rules.

PDF input challenges

A bank PDF can contain searchable text, scanned page images, or a mixture of both. Searchable text still needs layout analysis because transaction descriptions wrap, columns move, and headers or balances repeat at page breaks. A scanned statement adds OCR uncertainty.

Page breaks

A transaction may begin at the bottom of one page and continue on the next. Continuation pages can omit column headings, repeat an opening balance, or insert footer text and legal pages between transaction pages. A conversion should join split rows and exclude repeated page furniture before it writes the output.

OCR

On scanned pages, OCR can turn 0 into O, 1 into l, or 5 into S. It can also lose a minus sign or decimal mark, read two columns in the wrong order, or struggle with skewed and faint pages. The running balance is the best check: a damaged amount or missing row breaks the balance sequence.

PDF questions

Can I convert a scanned bank statement?

Yes. Review the OCR result and reconcile every balance movement. Scans with faint printing, rotation, or handwritten marks need more checking than searchable PDFs.

Why does copying and pasting a PDF into Excel fail?

PDF text stores page positions rather than a spreadsheet table. Wrapped descriptions, repeated headers, and visually aligned columns can paste in the wrong order or into the wrong cells.

How do I know whether the PDF contains searchable text?

Try selecting a transaction description in a PDF reader. If individual words can be selected, the page probably contains text. If the whole page behaves like one picture, it requires OCR.

Xero import settings

Xero imports bank transactions through Accounting, Bank accounts, Import a Statement (also reached as Manage Account, Import a Statement). The file goes into the bank account's reconcile list, where Xero matches each line to invoices, bills and bank rules, or creates a spend or receive money transaction.

Settings that matter:

Xero questions

Should I import OFX or CSV into Xero?

OFX. It carries the payee, description, reference and check number in separate fields and gives Xero a transaction ID for duplicate checks. CSV is fine when the file was written for Xero with the right column names; a bank's own CSV usually needs mapping and cleanup.

Xero says my OFX, QFX or QBO file is invalid. What is wrong?

Most often the file has a header Xero does not read, non-UTF-8 text, dates in a format it does not accept, or a missing transaction ID. Convert the file to plain OFX and import that. Renaming QBO or QFX to .ofx helps only when the content is already clean.

Why did Xero import only some of the transactions?

Xero skips lines whose transaction ID it already has, and for CSV it skips lines it reads as duplicates by date, amount and description. Two genuine identical lines on the same day can be dropped from a CSV. Use OFX with unique IDs for those.

Why are the dates wrong after a CSV import?

The date order was misread. A file with 03/04/2026 can be read as 3 April or 4 March. Set the order on the import screen, or export dates as YYYY-MM-DD, which Xero reads without asking.

How do I undo an import?

Open the bank account, go to the statement lines or Bank Statements tab, select the imported statement and delete it. The lines disappear from reconcile and the file can be imported again.

Can I import older periods into Xero?

Yes. There is no date limit on file imports. Import periods in order and do not overlap them, so the balance in Xero follows the statements.

Does Xero read the opening balance from the file?

No. The statement balance in Xero is computed from the imported lines. Compare it to the printed closing balance after each import. If they differ, a line is missing, doubled, or has the wrong sign.

Read more