Convert a US Bank of America checking statement PDF to CSV for Excel or QuickBooks Online. Checking accounts only for now: savings, credit card and loan statements are not read yet. You get a CSV, not an Excel (.xlsx) or QBO file. The CSV opens in Excel or any other spreadsheet.
PaperRows reads Bank of America checking statements in the two layouts described below: the single-table layout for personal and small business checking, and, in beta, the sectioned layout for personal checking. This page explains how to download the right file, how each layout turns into rows, and what to do if a file is refused or a check fails.
Try it on your statement: drop the PDF into the converter on the home page. The preview is free, and the file never leaves your browser.
PaperRows is independent and is not connected with Bank of America. Menu names on bankofamerica.com change now and then, so look for the closest match if something below reads differently.
1. Get the right PDF
- Sign in at bankofamerica.com on a computer.
- Click the checking account you want.
- Open the Statements & Documents tab for that account.
- Choose the statement month from the list, then click Download (or open it and use the download icon in the PDF viewer).
- Keep the file as it arrived. Do not print it to a new PDF and do not scan a paper copy.
Got paper statements? You can usually still download the PDF of past statements online. A scan of the paper copy will not work with PaperRows.
Combined statements. If you set up Bank of America to put several accounts on one statement, the PDF can contain checking and savings together. PaperRows does not read combined statements. Where you can, download the checking statement on its own.
Paid already? Keep using the exact file you paid for. The $5 unlock is tied to that file, and a copy you download again later may not count as the same file.
2. Which Bank of America statements we read
| Statement | Supported |
|---|---|
| Personal checking | Yes, in either layout below (the sectioned layout is in beta) |
| Small business checking | Yes, in the single-table layout below. The sectioned business layout is not read yet |
| Savings and money market | Not yet |
| Credit cards | Not yet |
| Combined statements with several accounts | Not yet |
| Investment statements | No |
The single-table layout
PaperRows reads the Bank of America layout that has:
- the statement period on the first page, written like
for December 15, 2026 to January 14, 2027, - an account summary with Beginning balance, Deposits and other additions, Withdrawals and other subtractions and Ending balance, and
- one transaction table with the columns Date, Description, Amount and Balance, with a signed amount and a running balance on every row.
If your statement splits transactions into separate sections with their own tables, see the sectioned layout below.
How the single-table layout turns into rows
- One row per transaction, in statement order. Money in is positive, money out is negative, as printed.
- The balance column is filled on every row, because the statement prints one. PaperRows checks each balance against the row before it, and the check "Running balances follow" fails if one does not follow.
- Totals are compared with the summary. Opening balance plus deposits minus withdrawals has to equal the closing balance, and the deposit and withdrawal totals we add up have to match the summary. If the summary is printed more than once, every copy has to agree.
- Dates have no year on the rows. PaperRows takes the year from the statement period, so a December to January statement gets the right year on both sides. A date outside the period fails a check and the preview shows no rows.
- Checks are kept as printed. In this layout a check shows up as description text, such as
CHECK 2210, and we leave it exactly like that. - Wrapped descriptions that run onto a second line are joined back into one description.
The sectioned layout (personal checking, in beta)
Many Bank of America personal checking statements split the money in and money out into sections, each with its own table of Date, Description and Amount. PaperRows reads that layout in beta: the result shows a Beta tag and the line "This Bank of America statement layout is new to us. If a row is wrong, the refund rule covers it."
- Sections and groups. Money in is under Deposits and other additions. Money out is under Withdrawals and other subtractions, split into the groups ATM and debit card subtractions and Other subtractions. Checks and Service fees are sections of their own. A section that runs onto the next page continues under its heading with "- continued".
- The section decides the sign. Deposits are positive and everything in a withdrawal group, checks and service fees is negative. A sign printed against its section is reported, never changed.
- Totals are compared. Where printed, section and group totals and the account summary figures are compared with the rows we read under them, and opening balance plus deposits minus withdrawals has to equal the closing balance.
- No balance column. This layout prints no running balance on the rows, so the balance column of the plain CSV is empty for these statements. Why, with a sample PDF and its CSV.
- Dates on the rows include the year, written like
09/14/26. - Checks come out as
Check #1043, one row per check, even when two checks are printed side by side on one line. - Not rows: the overdraft and returned item fee summary ("Total for this period" and "Total year-to-date"), the daily balance table, check images, notices and the repeated page headers and footers.
- Business statements in the sectioned layout (with Deposits and other credits and Withdrawals and other debits) are not read yet and are refused with "We do not recognize this statement layout".
Matching totals are a strong sign, not proof, so the page and line on every row are there for a spot check.
3. What you get
After you unlock a statement there are two buttons: Download plain CSV and Download QuickBooks CSV. The files are named after the bank and the statement period, for example paperrows-bofa-2026-09-01-to-2026-09-30.csv and paperrows-bofa-2026-09-01-to-2026-09-30-quickbooks.csv.
Plain CSV:
page,line,date,description,amount,balance
1,22,2026-09-02,MOBILE DEPOSIT,850.00,3105.40
2,4,2026-09-05,ONLINE TRANSFER TO SAVINGS,-200.00,2905.40
2,31,2026-09-14,CHECK 2210,-1325.00,1580.40
3,2,2026-09-30,MONTHLY MAINTENANCE FEE,-12.00,1568.40
QuickBooks Online CSV:
Date,Description,Amount
09/02/2026,MOBILE DEPOSIT,850.00
09/05/2026,ONLINE TRANSFER TO SAVINGS,-200.00
09/14/2026,CHECK 2210,-1325.00
09/30/2026,MONTHLY MAINTENANCE FEE,-12.00
(Made-up example rows from the single-table layout. A sectioned statement has an empty balance column and checks as Check #1043.) If a description starts with =, +, - or @, we put an apostrophe in front of it so a spreadsheet does not treat it as a formula.
4. Import into QuickBooks Online
The full steps are on the QuickBooks Online import guide. We have not yet tried that import in QuickBooks ourselves, and the guide says so at the top. For Bank of America:
- Converting a year of statements? Convert one month, import it, and check the balance in QuickBooks against the statement's closing balance before doing the rest. If the first month lines up, your mapping is probably right for the others. Intuit's instructions currently limit one upload to 1,000 transactions, so upload month by month rather than merging a year into one file.
- Bank feed already on? If QuickBooks already downloads this account automatically, uploading the same period again creates duplicates. Only upload months the feed does not have.
5. When a Bank of America file is refused
A refused file shows no rows and no buy button. Previews are free, so you have not been charged for this one. The heading tells you which case it is:
| What the heading says | What is going on | What to do |
|---|---|---|
| We could not open this PDF | The file is empty, damaged or not really a PDF. | Download it again from Statements & Documents. |
| This PDF has a password | The PDF asks for a password. We never ask for passwords. | Save an unprotected copy from your PDF viewer, or download it fresh. |
| This PDF has pages without readable text | The file is a picture, often a scanned paper statement. | Download the PDF from Statements & Documents instead. |
| We do not read this bank yet | We could not find Bank of America on the first page. | Check it is the statement itself and not a cover letter or another bank's file. |
| This does not look like a checking statement | It looks like a savings, credit card, investment or loan statement, or a combined statement with savings in it. | Nothing to do for now. Let us know if you need it. |
| This Bank of America statement layout is new to us | It is a Bank of America file, but not one of the layouts above. Often a saved copy of the account activity page, or a sectioned small business statement. | Download the monthly checking statement itself. If it is already the monthly statement, tell us. It is a layout we have not built yet. |
| We do not recognize this statement layout | The first page names Bank of America and another bank too, so we cannot tell which layout to read. | Check that you picked the right file. If it is your monthly Bank of America checking statement, tell us. |
6. When a check fails
Sometimes we can read the file, but one of our checks against the statement itself does not pass. The preview then says Some checks did not pass, lists the checks that failed, and shows no rows and nothing to buy. Previews are free, so you have not been charged for this one. What each check means:
| Failed check | What it means |
|---|---|
| Every page read | A page number is missing or out of order. Download the full statement again. If a fresh copy fails too, write to us. |
| Every transaction line read | A line looks like a transaction but we could not read it. In the sectioned layout this also covers a description, or a wrapped line of one, with any word that runs into the Amount column, and a line under a row that could be a heading or footer rather than part of the description. |
| Section totals match | A total we added up from the rows does not match a printed summary, section, group or card total, or a deposits or withdrawals total in the single-table layout's summary could not be read. |
| Opening + deposits - withdrawals = closing | The overall sum does not come out to the ending balance. |
| Printed balances agree | Two copies of the summary disagree. |
| Running balances follow | A printed balance does not follow from the row before it (single-table layout only). |
| Dates inside the statement period | A row's date does not fit the statement period. |
Apart from a missing page, that is on us. We never guess a row to make the numbers work. Write to us at hello@asgardagents.com with the statement month and the name of the check that failed. Do not send the PDF.
Need a hand? Write to us with the statement month and the message you saw. We never need the statement itself, so please do not attach it. More answers are on the FAQ.