BAI to Excel Converter: Convert BAI2 Files to CSV and Excel

Your bank sends balance reporting as a BAI2 file, and Excel turns it into a wall of numbered records. Upload the file and BankXLSX reads the 03 and 16 records into clean rows with date, type code, amount, debit, credit, and balance. Start free, no credit card.

Free to try, no credit card
256-bit encryption
BAI, BAI2, and PDF statements

PDF, JPG, PNG, BMP, HEIC, TIFF

Upload your bank statement

Extract:
|
|

Why a BAI2 File Is Painful to Open in Excel

A BAI2 file is a stream of numbered records built for software, not for people. Drop it into Excel and the structure that makes it useful is exactly what makes it unreadable. Here is what trips up most treasury and accounting teams.

Everything Lands in One Column

Open a .bai file in Excel and every line piles into column A, with headers, balances, and transactions stacked together and no way to sort them.

Amounts Have No Decimal Point

BAI2 stores money as whole cents with the sign implied by the type code, so $1,250.00 shows up as 125000 and Excel totals it wrong unless you convert it.

Type Codes Instead of Words

Each transaction is tagged with a three digit code like 142 or 475 rather than a plain label, so the file means nothing until you map the codes.

Continuation Lines Split Descriptions

Long details overflow onto 88 continuation records, which chops a single payment description across two or three rows.

Many Accounts in One File

A single BAI2 file can carry dozens of accounts in stacked 02 and 03 groups, so pulling one account out by hand is slow and error prone.

The Balances Are Buried

Opening and closing ledger and available balances sit inside the 03 record as codes 010, 015, 040, and 045, not in a tidy column where you can reconcile against them.

How BankXLSX Converts Your BAI File to Excel

Upload the BAI or BAI2 file and the converter reads the record structure for you, then writes every transaction into a spreadsheet you can sort, filter, and reconcile right away.

Records Become Columns

Each 16 transaction record lands as its own row with date, type code, amount, debit, credit, and description in separate columns.

Amounts Fixed Automatically

Implied decimals are restored and signs resolved from the type code, so 125000 reads as 1,250.00 and the columns total correctly.

Balances Pulled Out

Opening and closing ledger and available balances are lifted from the 03 status codes into clear fields you can reconcile against.

Splits Multiple Accounts

Files with many 02 and 03 account groups are separated so you can work one account at a time instead of untangling them by hand.

Excel or CSV Output

Download a real .xlsx workbook for analysis or a clean CSV mapped for QuickBooks, NetSuite, Sage, or your TMS.

Private by Default

256-bit encryption in transit and you can delete your uploaded files whenever you want.

Convert a BAI2 File to Excel in 3 Steps

No software to install and no credit card to start.

1

Save as Text

Banks deliver BAI2 as plain text, often named .bai or .txt. If yours ends in .bai, rename it to .txt so the uploader accepts it.

Tip: A .txt copy keeps the data identical.

2

Upload

Drag the file into the box above. The converter reads the 02, 03, 16, and 88 records and ignores the headers and trailers.

Tip: Multi account files are fine.

3

Download

Save the result as XLSX or CSV and open it in Excel, Google Sheets, or your accounting and treasury software.

Tip: Columns are reconciliation ready.

Who Converts BAI2 Files to Excel

BAI2 is the balance reporting format US banks send to businesses, so the people converting it are usually managing cash, closing the books, or loading another system.

Treasury Analysts

Turn a daily BAI2 balance file into a clean cash position without retyping a single record.

Controllers and Accountants

Reconcile bank activity against the ledger using the opening and closing balances pulled from the file.

ERP and TMS Consultants

Map BAI2 transactions into a CSV your client can load into NetSuite, SAP, or a treasury system.

Bookkeepers

Convert a client BAI file into spreadsheet rows you can categorize and import into QuickBooks.

Common Search Terms

bai to excel converter convert bai to csv bai2 file format bai code list excel bai vs bai2 bai2 file

Transaction Types We Handle

Opening and closing balances
ACH credits and debits
Wire transfers in and out
Checks paid
Commercial deposits
Returned items
Interest credits
Bank fees

What is a BAI2 file?

A BAI2 file is the standard text format US banks use to report account balances and transactions to their business customers, also called Cash Management Balance Reporting. It was published by the Bank Administration Institute and is the dominant balance reporting standard across North America. Your bank delivers it through cash management or treasury portals so you can load yesterday's activity into accounting or treasury software automatically instead of keying it by hand. The file is plain text, but it is organized into numbered records rather than spreadsheet rows, which is why it does not open cleanly in Excel.

BAI2 file format: the records inside

Every BAI2 file is a nested set of records, each starting with a two digit code that tells software what the line means. A file holds one or more groups, each group holds one or more accounts, and each account holds its transactions. Here is what each record code marks.

Record codeRecord nameWhat it marks
01File HeaderStart of the file: sender, receiver, date, and time.
02Group HeaderStart of a group of accounts for one bank and date.
03Account IdentifierOne account, with its balance status and summary codes.
16Transaction DetailA single transaction: type code, amount, and description.
49Account TrailerEnd of an account, with the account control total.
88ContinuationOverflow text continued from an 03, 16, or 88 record.
98Group TrailerEnd of a group, with its control total and record count.
99File TrailerEnd of the file, with the file control total.

BAI type codes you will see in the data

Inside the 03 and 16 records, a three digit type code says what each line represents, from a closing balance to an ACH debit. These are the codes a BAI code list maps to plain English. The most common ones are below; banks can add their own, so confirm anything unusual against your bank's BAI2 implementation guide.

Type codeMeaningWhere it appears
010Opening ledger balance03 status
015Closing ledger balance03 status
040Opening available balance03 status
045Closing available balance03 status
100Total amount of credits03 summary
400Total amount of debits03 summary
142ACH credit received16 detail
165Preauthorized ACH credit16 detail
195Incoming money transfer (wire in)16 detail
301Commercial deposit16 detail
354Interest credit16 detail
451ACH debit received16 detail
475Check paid16 detail
495Outgoing money transfer (wire out)16 detail
555Deposited item returned16 detail
698Miscellaneous bank fee16 detail

BAI vs BAI2: what is the difference?

BAI1 was the first cash management balance reporting specification, released in 1980. BAI2 replaced it in 1987 and added far more detail and coding flexibility, including extra lending transaction codes added in 2001. Formal support for the older BAI1 ended around 1990, so when a bank or ERP today says BAI, it almost always means BAI2. If someone hands you a BAI file in 2026, treat it as BAI2 and convert it the same way.

BAI2, MT940, and ISO 20022: which is which

BAI2 is the North American balance reporting standard. MT940 is the older SWIFT end of day statement message used widely outside the US, and ISO 20022 camt.053 is the modern XML statement that is gradually replacing both. They all carry the same idea, an opening balance, a list of transactions, and a closing balance, in different shapes. If your bank gives you a choice, BAI2 and CSV are the easiest to turn into a spreadsheet, and BankXLSX converts the BAI2 file into the same clean rows you would get from a PDF statement.

From BAI2 to your accounting or treasury system

Once the file is in a spreadsheet, the rest is quick. For a complete walkthrough of the manual options as well, see our guide on how to convert a BAI2 bank statement file to CSV or Excel. If you also receive ACH payment files, the same approach works to open a NACHA ACH file in Excel. Loading the data elsewhere? Map it through the bank statement OFX converter, the QuickBooks QBO format, or, for enterprise teams, the NetSuite bank statement converter. If you only have the PDF statement instead of the BAI file, the general bank statement converter and the PDF bank statement to Excel converter produce the same structured output.

After the data is in a spreadsheet

Most teams do not stop at Excel. If the next step is QuickBooks Online, you can turn the exported file into an importable QBO with a CSV to QBO converter. For any other business PDF you need as a sheet, a general PDF to Excel converter handles reports and tables, and finance teams that process other documents at volume can extract them with enterprise document OCR.

Why People Pick BankXLSX for BAI Conversion

BAI2
plus PDF and image statements
Multi
account files split for you
Under 1 min
to convert a typical file

Security & Privacy

  • 256-bit encryption on every upload
  • Delete your files at any time
  • No reselling or sharing of your financial data
  • Runs in your browser, nothing to install

BAI to Excel: Common Questions

A BAI file, almost always BAI2, is the text format US banks use to report account balances and transactions to business customers, known as Cash Management Balance Reporting. It is organized into numbered records rather than spreadsheet rows, so it does not open cleanly in Excel until you convert it.

Save the file with a .txt extension if it ends in .bai, then upload it to BankXLSX. The converter reads the 03 and 16 records and writes each transaction to its own row, then lets you download a CSV with date, type code, amount, debit, credit, and balance columns ready to import elsewhere.

You can open it, but every line stacks into one column with amounts that have no decimal point and transactions tagged only by three digit type codes. To get usable rows, convert the BAI2 file first so the records become proper columns and the implied decimals and signs are restored.

BAI1 was the original 1980 balance reporting spec; BAI2 replaced it in 1987 with more detail and coding options and is the standard banks use today. Support for the old BAI1 ended around 1990, so a file labeled BAI in 2026 is effectively BAI2 and converts the same way.

BAI type codes are the three digit codes inside the 03 and 16 records that say what each line is, such as 015 for a closing ledger balance, 142 for an ACH credit, or 475 for a check paid. A BAI code list maps them to plain English, and BankXLSX labels the common ones for you during conversion.

It is plain text made of stacked records, each beginning with a code: 01 for the file header, 02 for a group, 03 for an account and its balances, 16 for each transaction, and 49, 98, and 99 trailers with control totals. Amounts are stored as whole cents with the decimal implied.

No. BAI2 is the North American balance reporting standard, while MT940 is the SWIFT end of day statement message used more widely outside the US, and ISO 20022 camt.053 is the newer XML version. They carry similar data in different shapes, and BankXLSX turns the BAI2 file into clean spreadsheet rows either way.

You can start on BankXLSX free with no credit card, which is enough to test the output on a real file before you commit. Confirm the converted rows match the control totals in the 49 and 98 records, since a clean total is the fastest check that nothing was dropped.

Related Resources

Other Bank Statement Converters

ICICI Bank JPMorgan Chase Bank of America Citigroup Wells Fargo Goldman Sachs Morgan Stanley U.S. Bancorp PNC Financial Services Truist Financial Capital One TD Bank Charles Schwab Bank of New York Mellon State Street BMO USA Ally Financial Regions Financial Fifth Third Bank Huntington Bancshares KeyBank Citizens Financial Group First Citizens BancShares Synchrony Financial M&T Bank First Horizon Cathay Bank USAA Navy Federal Comerica Zions Bancorporation East West Bancorp First National of Nebraska Cullen Frost Bankers BOK Financial Fulton Financial Associated Banc-Corp Valley National Bancorp Wintrust Financial First Midwest Bancorp Commerce Bancshares UMB Financial Pinnacle Financial Partners Webster Financial Cadence Bank Old National Bancorp First Interstate BancSystem Umpqua Holdings First Hawaiian Bank Prosperity Bancshares SouthState Corporation First Merchants First Bank Holding Glacier Bancorp First Financial Bancorp Independent Bank Columbia Banking System Western Alliance Bancorporation Pacific Premier Bancorp Bank OZK United Community Banks Customers Bancorp Texas Capital Bancshares SVB Financial Group Signature Bank First Republic Bank New York Community Bancorp Sterling Bancorp First Bank Bank United First Commonwealth Financial ServisFirst Bancshares Renasant Corporation Simmons First National Trustmark Corporation First Busey Community Bank System First Mid Bancshares Ameris Bancorp Hancock Whitney First BanCorp Third Coast Bancshares Home Bancshares Byline Bancorp Simmons Bank United Bankshares Peoples United Financial American Express HSBC Bank USA