The BAI2 file format, explained
BAI2 is the cash-management balance reporting format published by the Bank Administration Institute and still used by US banks for prior-day and intraday reports. It is comma-separated text with a record code at the start of every line, and each record ends with a slash.
Updated 2026-10-26 · 7 min read
Record types
| Code | Record | Contains |
|---|---|---|
| 01 | File header | Sender, receiver, creation date/time, file ID |
| 02 | Group header | Originator (bank), as-of date |
| 03 | Account identifier | Account number, currency, summary/balance type codes and amounts |
| 16 | Transaction detail | Type code, amount, funds type, bank and customer reference, text |
| 88 | Continuation | Continues the previous record when it is too long |
| 49 | Account trailer | Control total and record count for the account |
| 98 | Group trailer | Control total for the group |
| 99 | File trailer | Control total for the file |
A tiny example
01,BANKID,CUSTID,260114,0600,1,,,2/ 02,CUSTID,BANKID,1,260113,,USD,2/ 03,000123456789,USD,010,1500000,,,015,1545750,,/ 16,475,4250,Z,0000123,REF1/ 88,HARDWARE STORE PAYMENT 16,175,50000,Z,0000124,REF2/ 49,3100000,5/ 98,3100000,1,7/ 99,3100000,1,9/
Opening ledger $15,000.00, a $42.50 check paid (475), a $500.00 check deposit (175), closing ledger $15,457.50. Each trailer carries a control total (the sum of the amounts in its scope) and a record count.
Amounts have no decimal point
Amounts are written in the smallest currency unit: 4250 USD means $42.50, 1500000 means $15,000.00. Signs come from the type code, not from the amount.
Type codes you will see most
- 010 opening ledger, 015 closing ledger, 040 opening available, 045 closing available (balance codes on the 03 record).
- 100–399: credits (money in), e.g. 165 preauthorized ACH credit, 195 incoming wire, 175 check deposit package.
- 400–699: debits (money out), e.g. 475 check paid, 495 outgoing wire, 455 preauthorized ACH debit.
- 9xx: bank-specific codes. Ask your bank for its code list.
Reading or converting a BAI2 file
A text editor shows the raw records, but continuation (88) lines and implied decimals make it hard to read. Ledgermere's BAI2 viewer joins 88 continuations, applies the type code sign, flags unknown codes and exports the transactions to Excel, CSV, QBO, OFX or QIF. Files stay in your browser.
Try it with your own file. Ledgermere converts PDF/CSV/Excel statements, OFX/QFX/QBO, QIF, MT940, camt.053, BAI2 and Norma 43 to QBO, QFX, IIF, QuickBooks Online CSV, Xero CSV, OFX, QIF, CSV or Excel – in your browser, nothing is uploaded. The free version exports the first 20 transactions so you can test the import first; a 30-day pass is $9, lifetime $29.
Questions and answers
What is the difference between BAI2 and MT940?
Both are bank statement formats. BAI2 is mainly used by US banks; MT940 is the SWIFT format used widely in Europe and elsewhere, now being replaced by ISO 20022 camt.053.
Why are the control totals important?
The 49, 98 and 99 trailers let software verify that no record was lost. If they don't add up, the file is incomplete.
Sources and product names: BAI Cash Management Balance Reporting Specifications Version 2; bank-published BAI2 implementation guides. QuickBooks and Quicken are trademarks of Intuit Inc. or Quicken Inc.; Xero is a trademark of Xero Limited. Ledgermere is independent and not affiliated with them.